Рефетека.ру / Информатика и програм-ие

Лабораторная работа: Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner

Кафедра

электронно-вычислительная аппаратуры


Отчет по дисциплине Базы данных

лабораторная работа

Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


Москва 2006 г.

Содержание


ЗАДАНИЕ

ВОЗМОЖНОСТИ ПРОГРАММЫ DBDESIGNER

Основные этапы проектирования базы данных:

ВЫПОЛНЕНИЕ

1. Моделирование

1) Создание таблиц

2) Формирование отношений

2. Кодирование

3. Работа с базой данных

1) Установление соединения с базой данных на сервере

2) Синхронизация

4. SQL-запросы

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


ЗАДАНИЕ


Целью данной лабораторной работы является проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner в среде Intranet:

Моделирование

Создание таблиц

Формирование отношений

Кодирование

Работа с базой данных

Установление соединения с базой данных на сервере

Синхронизация

4. SQL-запросы

ВОЗМОЖНОСТИ ПРОГРАММЫ DBDESIGNER


CASE-средства представляют собой программные средства, поддерживающие процессы создания и/или сопровождения информационных систем, такие как: анализ и формулировка требований, проектирование баз данных и приложений, генерация кода, тестирование, обеспечение качества, управление конфигурацией и проектом.

CASE-систему можно определить как набор CASE-средств, имеющих определенное функциональное предназначение и выполненных в рамках единого продукта.

DBDesigner – это свободно распространяемая CASE-система, предназначенная для проектирования, моделирования, создания и поддержки информационных систем. Программа может использоваться для Windows 2000/XP, Linux KDE/Gnome и MySQL. DBDesigner позволяет:

создавать модель проектируемой системы;

преобразовывать модели системы в SQL-код, который можно использовать для создания базы данных с помощью DBDesigner или другого средства;

проводить реинжиниринг – построение исходной модели программной системы путем исследования ее программных кодов. Эта функция очень удобна в случае, если необходимо разобраться уже существующей базе данных. Для проведения реинжиниринга следует выбрать в меню Database – Revers Engineering;

создавать базу данных и автоматически вносить в нее изменения, используя соединение с сервером и синхронизацию;

создавать SQL-запросы для внесения изменений и проведения операций над данными.

Пользовательский интерфейс программы:

Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


Основные этапы проектирования базы данных:


1. Описание предметной области. Определение цели создания базы данных.

2. Определение сущностей предметной области (таблиц), которые должна содержать база данных.

3. Определение атрибутов сущностей (необходимых в таблицах полей).

4. Построение инфологической модели. Определение связей между сущностями (таблицами).

Предметная область: База данных пользователей домашней локальной сети и Интернет. Данная база данных содержит в себе три сущности: «Пользователь», «Тариф» и «Зачисление». В сущность «Пользователь» включены следующие поля: «№ договора», «ФИО», «Адрес», «Телефон», «Имя компьютера», «Ник», «IP-адрес», «MAC-адрес», «Статус», «Тариф», «Баланс», «Дата подключения», «Особые отметки». Сущность «Тариф» содержит в себе два поля: «Название тарифа», «Стоимость». Сущность «Зачисление» включает себя поля «№ зачисления», «№ договора», «ФИО», «Сумма», «Дата», «Особые отметки».

Инфологическая модель:

Зачисление ЯЯа Пользователь ЯЯа Тариф

Зачисление(№ зачисления, № договора, ФИО, Сумма», Дата, Особые отметки)

Пользователь(№ договора, ФИО, Адрес, Телефон, Имя компьютера, Ник, IP-адрес, MAC-адрес, Статус, Название Тариф, Баланс, Дата подключения, Особые отметки)

Тариф(Название тарифа, Стоимость)

Датологическая модель:

Здесь составим саму реляционную модель проектируемой БД: раскроем все связи между сущностями как связи между ключами. Для этого добавим в одну из связываемых сущностей дополнительный атрибут – первичный ключ из другой сущности. Причем добавление будем осуществлять в ту из этих сущностей, где не нарушится понятие ее первичного ключа.


Зачисление Пользователь Тариф
№ зачисления № договора Название тарифа
ФИО ФИО Стоимость
Сумма Адрес
Дата Телефон
Особые отметки Имя компьютера
№ договора Ник

IP-адрес

MAC-адрес

Статус

Баланс

Дата подключения

Особые отметки

Название Тариф

ВЫПОЛНЕНИЕ


Предметной областью разрабатываемой базы системы является информация о пользователях домашней локальной сети и Интернет. Необходимо обеспечить возможность внесения, изменения или удаления данных в базе и проведение различных поисковых операций

1. Моделирование


Модель – это визуальное представление структуры данных. Модель может включать в себя следующие объекты: таблицы и отношения, которые используются обязательно, и дополнительные (например, изображения, записи) – для обеспечения лучшего «понимания» структуры модели.

Для создания модели необходимо переключится в Design Mode, выбрав меню Display - Design Mode. Пользовательский интерфейс делает создание модели базы данных очень легким. DBDesigner 4 поддерживает Multible Document Interface(MDI), который позволяет открывать неограниченное число моделей одновременно. При работе, вы можете переключаться между моделями, копируя команды и объекты, чтобы обмениваться ими между моделями.

1) Создание таблиц

В левой части холста находится панель инструментов. Необходимо нажать на этой панели кнопку и указать место на холсте, где будет располагаться новая сущность. Появится прямоугольное изображение пустой сущности. Чтобы задать атрибуты сущности, необходимо два раз щелкнуть на изображении сущности. В появившемся окне можно задать название сущности, а также атрибуты этой сущности.

Флаг в поле NN означает, что содержимое данного поля не может быть нулевым ( Not Null ). Флаг в поле AI означает, что значение данного поля в каждой следующей строке увеличивается на 1 (Auto Increment ).


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner

Иконка Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner напротив имени атрибута означает, что этот атрибут является ключевым.


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


2) Формирование отношений


Связь между сущностями определяет связь между будущими таблицами. Для этого необходимо поставить флаг напротив после всех полей в разделе параметры отношений и внешних ключей (раздел Default Relation Settings / Foreign Keys Settings) во вкладке редактирования модели (Editing Options), В программе связи задаются следующим образом.

Связь 1:1 задается с помощью кнопки Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner.

Связь 1:n задается с помощью кнопки Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner.

Связь n:m задается с помощью кнопки Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner.

Задать связь между сущностями можно, нажав на соответствующую кнопку и указав связываемые таблицы. После нажатия кнопки связи, надо нажать на первую таблицу, участвующую в связи, затем на другую. Внешние ключи будут автоматически добавлены в сущности соответственно связи.

Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


Результат связывания сущностей показан на рисунке:


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


Двойным щелчком по изображению связь можно редактировать свойства связи, такие как название связи и тип связи.

Особенностью программы DBDesigner является то, что в процессе создания ER-диаграмм, отношения будет сформированы автоматически. Это очень удобно при проектировании, т.к. позволяет разработчику не запоминать правила формирования отношений для различных связей между таблицами, а получать все автоматически на основе анализа предметной области.

Связи между таблицами можно корректировать, используя «Редактор связей» (Relation Editor), вызываемый двойным щелчком мыши. В «Редакторе связей» можно задать имя связи, изменить ее тип и задать ограничения на данные таблицы при удалении и добавлении в нее данных.

2. Кодирование


DBDesigner позволяет преобразовывать полученную модель в код на языке SQL, который может быть использован для создания базы данных с помощью других средств, например, с помощью MySQL.

Для получения кода необходимо выбрать в меню File – Export – SQL Create Script. Откроется диалоговое окно, представленное на рисунке:


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


В основных настройках (General Settings) можно назначить экспортировать в SQL код только выделенные таблицы или экспортировать все таблицы модели, также можно задать упорядочить таблицы по внешним ключам.

- Export selected tables only – кодировать только выбранные таблицы

- Order Tables by Foreign Keys – позволяет изменить порядок кодирования

В настройках SQL кода (SQL Creates Settings) можно настроить параметры связанные с первичными ключами и внешними ключами, а также задать настройки относительно индексов.

- Copy Script to Clipboard. Позволяет скопировать SQL код в буфер обмена;-

- Save Script to file. Позволяет сохранить SQL код в файл. Файл сохраняется в формате *.sql. Открыть его можно и в текстовом редакторе «Блокнот»

Выбрав необходимые параметры, необходимо нажать Save Script to file. Файл с SQL кодом будет сохранен на диске.

CREATE TABLE tarif (

tarif VARCHAR(20) NOT NULL AUTO_INCREMENT,

stoimost INTEGER UNSIGNED NOT NULL,

PRIMARY KEY(tarif)

);


CREATE TABLE user (

nomer_dogovora INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

tarif_tarif VARCHAR(20) NOT NULL,

name VARCHAR(20) NOT NULL,

address VARCHAR(20) NOT NULL,

phone INTEGER UNSIGNED NOT NULL,

computer_name VARCHAR(20) NOT NULL,

nick VARCHAR(20) NOT NULL,

ip_address VARCHAR(20) NOT NULL,

mac_address VARCHAR(20) NOT NULL,

stat BOOL NOT NULL,

tarif VARCHAR(20) NOT NULL,

balance INTEGER UNSIGNED NOT NULL,

date_connect DATE NOT NULL,

otmetki VARCHAR(45) NOT NULL,

PRIMARY KEY(nomer_dogovora, tarif_tarif),

INDEX user_FKIndex1(tarif_tarif)

);


CREATE TABLE zachislenie (

nomer_zachisleniya INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

user_nomer_dogovora INTEGER UNSIGNED NOT NULL,

nomer_dogovora INTEGER UNSIGNED NOT NULL,

name VARCHAR(20) NOT NULL,

tarif VARCHAR(20) NOT NULL,

summa INTEGER UNSIGNED NOT NULL,

date DATE NOT NULL,

otmetki VARCHAR(45) NOT NULL,

PRIMARY KEY(nomer_zachisleniya, user_nomer_dogovora),

INDEX zachislenie_FKIndex1(user_nomer_dogovora)

);


3. Работа с базой данных


DBDesigner позволяет также создавать базу данных на сервере и выполнять с ней различные операции. Это обеспечивается за счет подключения DBDesigner к MySQL серверу, созданию базы данных и установлению синхронизации между базой на сервере и визуальной моделью. Синхронизация – это сравнение визуальной модели и базы данных, находящейся на сервере. В случае внесения изменений в таблицу, изменения связей между таблицами или удаления таблиц в модели, DBDesigner внесет и соответствующие изменения в базу на сервере.

1) Установление соединения с базой данных на сервере

Для занесения базы данных, соответствующей полученной модели, на сервер MySQL, необходимо установить соединение с сервером.


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


- Выполните Database –> Connect to Database.

- В окне Network Hosts выберите MySQL

- В открывшемся списке баз данных, выберите либо существующую базу, либо создать новую, щелкнув два раза по значку «…» и задав имя новой базы.

- Введите название соединения (Connection), имя пользователя (Username) и пароль (Password), если они нужны.

- В центральном окне находится список серверов баз данных, с которыми велась работа и для которых указаны IP-адрес, тип, размещение и название. Так как в данной работе предполагается, что сервер MySQL находиться на локальном компьютере, то все необходимые параметры будут установлены автоматически. Однако при использовании сети, необходимо знать IP-адрес сервера и иметь доступ на работу.

- Нажмите на кнопку Connect, после чего соединение с базой будет установлено.


2) Синхронизация

Для синхронизации модели и базы на сервере необходимо:

- Выбрать в меню Database - Database Synchronisation и установить соединение с нужной базой.

- В диалоговом окне Database Synchronisation задать необходимые параметры:

Apply changes to Database – вносить изменения модели в базу

Don't delete exisiting Tables – при использовании этой опции таблицы, удаленные из модели, не будут удалены из базы

Execute Standard Inserts when Creating New Tables – создавать стандартный запрос на внесение данных в таблицу - Нажать Execute, после чего база данных будет занесена на сервер. Также будет выведен отчет и сообщения об ошибках в модели, если они есть.

Проверка получившегося с помощью клиента MySQL:


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


4. SQL-запросы

DBDesigner также позволяет создавать запросы на языке SQL. Причем код запроса можно либо непосредственно написать, либо использовать готовые шаблоны, в которые необходимо только внести какие-то изменения.

Для работы с запросами необходимо:

- Переключиться в Query Mode, выбрав в меню Display -> Query Mode.


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


- В меню инструментов слева появятся кнопки, с помощью которых можно выполнить основные запросы.

- Выбрав кнопку (например, SELECT), следует щелкнуть по заголовку таблицы, а затем, не отпуская кнопку мыши, сдвинуть указатель вниз.

- В появившемся меню выбрать нужную операцию.


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


- Код на языке SQL появиться в нижней части экрана.

SELECT *

FROM user

- Нажав на кнопку Execute SQL Query, в нижней части экрана можно увидеть результат запроса.


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner

SELECT user.Nomer_dogovora, user.name, user.computer_name

FROM user

WHERE user.computer_name Like ‘Ivan%*’

ORDER BY user.Nomer_dogovora;


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


SELECT zachislenie.nomer_zachisleniya, user.name, user.Nomer_dogovora, tarif.tarif_name

FROM taruf INNER JOIN (user INNER JOIN zachislenie ON user.Nomer_dogovora = zachislenie.nomer_dogovora) ON tarif.tarif_name = zachislenie.tarif

WHERE zachislenie.nomer_zachisleniya Between 1 And 12 AND user.name Like ‘Юзер%’ AND user.Nomer_dogovora<>701 AND tarif.tarif_name Like ‘а%’;


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


UPDATE tarif

SET stoimost = stoimost*1.5

WHERE stoimost<350;


Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner

SELECT MAX(stoimost) AS 'самая максимальная стоимость тарифа'

FROM tarif

Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner


DBDesigner предоставляет различные функции для работы с запросами: сохранение кода, внесение изменений в базу и отмена внесенных изменений. Благодаря этим встроенным функциям работа с запросами существенно упрощается.

Кроме того, в программе есть очень удобное средство для внесения данных в таблицу. Щелкнув правой кнопкой мыши по таблице и выбрав в меню Edit Table Data, можно заносить данные в таблицу или изменять их без использования языка SQL.


Список использованных источников


DBDesigner “HELP”

DBDesigner4_manual

«Базы данных», А.Д.Хомоненко. «Корона принт», 2000 год

Рефетека ру refoteka@gmail.com