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

Кафедра электронно-вычислительной аппаратуры

















Лабораторная работа

На тему:

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































Москва 2009


Содержание:



Задание 

Возможности программы DBDesigner

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

Выполнение

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

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

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

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

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

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

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

4. SQL-запросы

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


Возможности программы DBDesigner



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

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

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

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

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

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

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

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


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







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



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

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

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

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

Предметная область: 

База данных содержит информацию о картинах в картинной галерее.



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





Направление

Картина

Период


Картина (Код картины, Название, Автор, Год написания, Время поступления в галерею, Тип краски);

Направление (Название направления, Код направления, Страна);

Период (Название периода, Код периода, Начало периода, Конец периода);

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

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





Период 

Картина

Направление 



Название периода

Код картины

Название направления

Код периода,

Название

Код направления

Начало периода

Автор

Страна

Конец периода

Год написания





Время поступления в галерею





Тип краски





Название направления





Название периода





Картина (Код картины, Название, Автор, Год написания, Время поступления в галерею, Тип краски, Название направления, Название периода)

Направление (Название направления, Код направления, Страна);

Период (Название периода, Код периода, Начало периода, Конец периода);


Выполнение



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

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



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



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

Для создания модели необходимо переключится в Design Mode, выбрав меню Display - Design Mode. 

Пользовательский интерфейс делает создание модели базы данных очень легким.

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






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

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

Для отображения информации о картинах была создана сущность картина. Структура сущности картина показана на рисунке: 









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

Были созданы еще две сущности: направление (napravlenie) и период (период)



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

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







Между сущностями имеются следующие связи:

Картина –> принадлежит -> Направлению

Картина -> принадлежит -> Периоду

Здесь мы видим связь 1:M, так как одному периоду может соответствовать много картин, а одной картине соответствует только один период. Аналогично с направлением.

В программе связи задаются следующим образом.

Связь 1:1 задается с помощью кнопки .

Связь 1:M задается с помощью кнопки .

Связь M:M задается с помощью кнопки .

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

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








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

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

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



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



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





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

В основных настройках (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 Napravlenie (

naprname VARCHAR(255) NOT NULL,

naprID INTEGER UNSIGNED NULL,

country VARCHAR(45) NULL,

PRIMARY KEY (naprname)

CREATE TABLE Period (

pername VARCHAR(45) NOT NULL,

perID INTEGER UNSIGNED NULL,

Begin CHAR NULL,

End_ CHAR NULL,

PRIMARY KEY(pername)

CREATE TABLE Picture (

PicID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

Period_pername VARCHAR(45) NOT NULL,

Napravlenie_naprname VARCHAR(255) NOT NULL,

name VARCHAR(255) NULL,

author VARCHAR(255) NULL,

year_2 INTEGER UNSIGNED NULL,

arrdate DATE NULL,

paint VARCHAR(255) NULL,

naprname VARCHAR(255) NULL,

pername VARCHAR(255) NULL,

PRIMARY KEY(PicID),

INDEX Картина_FKIndex1(Napravlenie_naprname),

INDEX Картина_FKIndex2(Period_pername)



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



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

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

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







- Выполните 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:

	





4. SQL-запросы



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

Сперва заполним созданную базу. Щёлкнув по таблице, можно записывать значения в столбцы.






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

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







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

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

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







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

SELECT *

FROM Picture;

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






SELECT Picture.PicID, Picture.name, Picture.year_2, 

Period.pername, Napravlenie.* FROM (Period INNER JOIN Picture ON Period.pername=Picture.Period_pername) 

INNER JOIN Napravlenie ON Picture. Napravlenie_naprname=Napravlenie.naprname WHERE (Picture.year_2>1600 OR Period.end_ LIKE "*X") AND 

(Napravlenie.country IN ("Италия","Франция")) ORDER BY Picture.arrdate DESC;







Update Picture SET paint='акварель' , year_2=(year_2+1) WHERE PicID=2003;Select PicID, name, author, year_2, paintfrom Picture;







SELECT MIN(arrdate) AS 'первая картина музея'FROM Picture;






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

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


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



DBDesigner “HELP”

DBDesigner4_manual

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





19