Учебная работа. Лабораторная работа: Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner
Кафедра электронно-вычислительной аппаратуры
Лабораторная работа
На тему:
«Проектирование и реализация информационно-поисковой системы при помощи
CASE
-средства
DBDesigner
»
Москва 2009
Содержание:
Задание
способности программки DBDesigner
Главные этапы проектирования базы данных
Выполнение
1. Моделирование
1) Создание таблиц
2) Формирование отношений
2. Кодирование
3. Работа с базой данных
1) установление соединения с базой данных на сервере
2) синхронизация
4. SQL-запросы
Перечень использованных источников
способности программки DBDesigner
CASE-средства представляют собой программные средства, поддерживающие процессы сотворения либо сопровождения информационных систем, такие как: анализ и формулировка требований, проектирование баз данных и приложений, генерация кода, тестирование, обеспечение свойства, управление конфигурацией и проектом.
CASE-систему можно найти как набор CASE-средств, имеющих определенное функциональное назначение и выполненных в рамках одного продукта.
DBDesigner – это свободно распространяемая CASE-система, созданная для проектирования, моделирования, сотворения и поддержки информационных систем. программка может употребляться для Windows 2000/XP, LinuxKDE/Gnome и MySQL. DBDesigner дозволяет:
· создавать модель проектируемой системы;
· преобразовывать модели системы в SQL-код, который можно употреблять для сотворения базы данных при помощи DBDesigner либо другого средства;
· проводить реинжиниринг – построение начальной модели программной системы методом исследования ее программных кодов. Эта функция весьма комфортна в случае, если нужно разобраться уже имеющейся базе данных. Для проведения реинжиниринга следует избрать в меню Database – ReversEngineering;
· создавать базу данных и автоматом заносить в нее конфигурации, используя соединение с сервером и синхронизацию;
· создавать SQL-запросы для внесения конфигураций и проведения операций над данными.
Пользовательский интерфейс программки:
Главные этапы проектирования базы данных
1. Описание предметной области. Определение цели сотворения базы данных.
2. Определение сущностей предметной области (таблиц), которые обязана содержать база данных.
3. Определение атрибутов сущностей (нужных в таблицах полей).
4. Построение инфологической модели. Определение связей меж сущностями (таблицами).
Предметная область:
база данных содержит информацию о картинах в картинной галерее.
Инфологическая модель:
Картина (Код картины
, Заглавие, Создатель, Год написания, время поступления в галерею, Тип краски);
Направление (Заглавие направления
, Код направления, Страна);
Период (Заглавие периода
, Код периода, Начало периода, Конец периода);
Датологическая модель:
тут составим саму реляционную модель проектируемой БД: раскроем все связи меж сущностями как связи меж ключами. Для этого добавим в одну из связываемых сущностей доп атрибут – первичный ключ из иной сути. При этом добавление будем производить в ту из этих сущностей, где не нарушится понятие ее первичного ключа.
Период
Картина
Направление
Заглавие периода
Код картины
Заглавие направления
Код периода,
Заглавие
Код направления
Начало периода
Создатель
Страна
Конец периода
Год написания
время поступления в галерею
Тип краски
Заглавие направления
Заглавие периода
Картина (Код картины
, Заглавие, Создатель, Год написания, время поступления в галерею, Тип краски,Заглавие направления, Заглавие периода
)
Направление (Заглавие направления
, Код направления, Страна);
Период (Заглавие периода
, Код периода, Начало периода, Конец периода);
Выполнение
Предметной областью разрабатываемой базы системы является информация о картинах, расположенных в галерее.
информация о картинах содержит в себе информацию о картине, о направлению в искусстве, к которому она принадлежит, и принадлежности к определённому периоду. нужно обеспечить возможность внесения, конфигурации либо удаления данных в базе и проведение разных поисковых операций: поиск по создателю, поиск по стране.
1. Моделирование
Модель
– это зрительное к примеру, изображения, записи) – для обеспечения наилучшего «осознания» структуры модели.
Для сотворения модели нужно переключится в DesignMode, выбрав меню Display
—
Design
Mode
.
Пользовательский интерфейс делает создание модели базы данных весьма легким.
DBDesigner 4 поддерживает Multible Document Interface(MDI), который дозволяет открывать неограниченное число моделей сразу. При работе, вы сможете переключаться меж моделями, копируя команды и объекты, чтоб обмениваться ими меж моделями.
1) Создание таблиц
В левой части холста находится панель инструментов. Нужно надавить на данной нам панели клавишу и указать пространство на холсте, где будет размещаться новенькая суть. Покажется прямоугольное изображение пустой сути. Чтоб задать атрибуты сути, нужно два раз щелкнуть на изображении сути. В показавшемся окне можно задать заглавие сути, также атрибуты данной нам сути.
Для отображения инфы о картинах была сотворена суть картина
. структура сути картина
показана на рисунке:
Флаг в поле NN значит, что содержимое данного поля не быть может нулевым (NotNull). Флаг в поле AI значит, что иконка напротив имени атрибута значит, что этот атрибут является главным.
Были сделаны еще две сути: направление (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. Открыть его можно и в редакторе текста «Блокнот»
Выбрав нужные характеристики, нужно надавить SaveScripttofile. файл с SQL кодом будет сохранен на диске.
CREATETABLENapravlenie (
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
и установить соединение с подходящей базой.
— В диалоговом окне DatabaseSynchronisation задать нужные характеристики:
o Apply
changes
to
Database
– заносить конфигурации модели в базу
o Don
‘
t
delete
exisiting
Tables
– при использовании данной нам функции таблицы, удаленные из модели, не будут удалены из базы
o Execute Standard Inserts when Creating New Tables
– создаватьстандартныйзапрос на внесение данных в таблицу
Надавить Execute
,
опосля что база данных будет занесена на сервер. Также будет выведен отчет и сообщения о ошибках в модели, если они есть.
Проверка получившегося при помощи клиента MySQL:
4.
SQL-запросы
DBDesigner также дозволяет создавать запросы на языке SQL. При этом код запроса можно или конкретно написать, или употреблять готовые шаблоны, в которые нужно лишь внести какие-то конфигурации.
Сначала заполним сделанную базу. Щёлкнув по таблице, можно записывать значения в столбцы.
Для работы с запросами нужно:
— Переключиться в QueryMode, выбрав в меню 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 («Италия