19
Кафедра электронно-вычислительной аппаратуры
Лабораторная работа
На тему:
«Проектирование и реализация информационно-поисковой системы с помощью 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. Построение инфологической модели. Определение связей между сущностями (таблицами).
Предметная область:
База данных содержит информацию о картинах в картинной галерее.
Инфологическая модель:
19
Картина (Код картины, Название, Автор, Год написания, Время поступления в галерею, Тип краски);
Направление (Название направления, Код направления, Страна);
Период (Название периода, Код периода, Начало периода, Конец периода);
Датологическая модель:
Здесь составим саму реляционную модель проектируемой БД: раскроем все связи между сущностями как связи между ключами. Для этого добавим в одну из связываемых сущностей дополнительный атрибут - первичный ключ из другой сущности. Причем добавление будем осуществлять в ту из этих сущностей, где не нарушится понятие ее первичного ключа.
Период |
Картина |
Направление |
|
Название периода |
Код картины |
Название направления |
|
Код периода, |
Название |
Код направления |
|
Начало периода |
Автор |
Страна |
|
Конец периода |
Год написания |
||
Время поступления в галерею |
|||
Тип краски |
|
||
Название направления |
|
||
Название периода |
|
Картина (Код картины, Название, Автор, Год написания, Время поступления в галерею, Тип краски, Название направления, Название периода)
Направление (Название направления, Код направления, Страна);
Период (Название периода, Код периода, Начало периода, Конец периода);
Выполнение
Предметной областью разрабатываемой базы системы является информация о картинах, расположенных в галерее.
Информация о картинах включает в себя информацию о картине, о направлению в искусстве, к которому она принадлежит, и принадлежности к определённому периоду. Необходимо обеспечить возможность внесения, изменения или удаления данных в базе и проведение различных поисковых операций: поиск по автору, поиск по стране.
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 задать необходимые параметры:
o Apply changes to Database - вносить изменения модели в базу
o Dont delete exisiting Tables - при использовании этой опции таблицы, удаленные из модели, не будут удалены из базы
o 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.
Список использованных источников
1. DBDesigner “HELP”
2. DBDesigner4_manual
3. «Базы данных», А.Д. Хомоненко. «Корона принт», 2000 год
Контрольная работа | Концепция информатизации Российской Федерации |
Контрольная работа | Причины агрессивного поведения. Методы работы с агрессивными детьми |
Контрольная работа | Алгоритм выбора и реализации предпринимательской идеи |
Контрольная работа | Системы управления взаимоотношения с клиентами |
Контрольная работа | Учет материальных затрат в бухгалтерском учете |
Контрольная работа | Геополитическое положение России |
Контрольная работа | Особенности вознаграждения работников в организации |
Контрольная работа | Виды запасов |
Контрольная работа | Психоанализ |
Контрольная работа | Экономико-географическая характеристика Печорского угольного бассейна 2 |
Контрольная работа | Представление информации в ЭВМ, единицы измерения объема данных |
Контрольная работа | Государственный земельный контроль |
Контрольная работа | Ресурсная база коммерческого банка |
Контрольная работа | Разработка технологического процесса термообработки детали из стали марки 15Х |
Контрольная работа | Корпоративный имидж |