Кафедра
электронно-вычислительная аппаратуры
Отчет по дисциплине Базы данных
лабораторная работа
Проектирование и реализация информационно-поисковой системы спомощью CASE-средства DBDesigner
Москва 2006 г.
Содержание
ЗАДАНИЕ
ВОЗМОЖНОСТИ ПРОГРАММЫ DBDESIGNER
Основные этапыпроектирования базы данных:
ВЫПОЛНЕНИЕ
1. Моделирование
1) Создание таблиц
2) Формированиеотношений
2. Кодирование
3. Работа с базой данных
1) Установлениесоединения с базой данных на сервере
2) Синхронизация
4. SQL-запросы
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
/>/>
ЗАДАНИЕ
Целью данной лабораторной работыявляется проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner в среде Intranet:
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.Построение инфологической модели. Определение связей между сущностями(таблицами).
Предметнаяобласть: База данных пользователей домашней локальной сети и Интернет. Даннаябаза данных содержит в себе три сущности: «Пользователь», «Тариф» и«Зачисление». В сущность «Пользователь» включены следующие поля: «№ договора»,«ФИО», «Адрес», «Телефон», «Имя компьютера», «Ник», «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 ).
/>
Иконка/> напротивимени атрибута означает, что этот атрибут является ключевым.
/>/>
2)Формирование отношений
Связьмежду сущностямиопределяет связь между будущими таблицами. Для этого необходимо поставить флагнапротив после всех полей в разделе параметры отношений и внешних ключей(раздел Default Relation Settings / Foreign Keys Settings) во вкладке редактирования модели (Editing Options), В программе связи задаются следующим образом.
· Связь 1:1задается с помощью кнопки />.
· Связь 1:n задается с помощью кнопки />.
· Связь n:m задается с помощью кнопки />.
Задатьсвязь между сущностями можно, нажав на соответствующую кнопку и указавсвязываемые таблицы. После нажатия кнопки связи, надо нажать на первую таблицу,участвующую в связи, затем на другую. Внешние ключи будут автоматическидобавлены в сущности соответственно связи.
/>
Результатсвязывания сущностей показан на рисунке:
/>
Двойнымщелчком по изображению связь можно редактировать свойства связи, такие какназвание связи и тип связи.
Особенностьюпрограммы DBDesigner является то, что в процессе созданияER-диаграмм, отношения будет сформированы автоматически. Это оченьудобно при проектировании, т.к. позволяет разработчику не запоминать правилаформирования отношений для различных связей между таблицами, а получать всеавтоматически на основе анализа предметной области.
Связимежду таблицами можно корректировать, используя «Редактор связей» (RelationEditor), вызываемый двойным щелчком мыши. В «Редакторе связей» можно задать имясвязи, изменить ее тип и задать ограничения на данные таблицы при удалении идобавлении в нее данных. />/>
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 кодом будет сохранен на диске.
CREATETABLE tarif (
tarif VARCHAR(20) NOT NULLAUTO_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, необходимо установить соединение ссервером.
/>
— Выполните 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. Причем код запроса можно либо непосредственнонаписать, либо использовать готовые шаблоны, в которые необходимо только внестикакие-то изменения.
Дляработы с запросами необходимо:
— Переключитьсяв Query Mode, выбрав в меню Display -> Query Mode.
/>
— Вменю инструментов слева появятся кнопки, с помощью которых можно выполнитьосновные запросы.
— Выбравкнопку (например, SELECT), следуетщелкнуть по заголовку таблицы, а затем, не отпуская кнопку мыши, сдвинутьуказатель вниз.
— Впоявившемся меню выбрать нужную операцию.
/>
— Кодна языке SQL появиться в нижней части экрана.
SELECT*
FROMuser
— Нажавна кнопку Execute SQL Query, в нижней части экрана можно увидеть результатзапроса.
/>
SELECT user.Nomer_dogovora, user.name, user.computer_name
FROM user
WHERE user.computer_name Like ‘Ivan%*’
ORDER BY user.Nomer_dogovora;
/>
SELECT zachislenie.nomer_zachisleniya, user.name,user.Nomer_dogovora, tarif.tarif_name
FROM taruf INNER JOIN (user INNER JOIN zachislenie ONuser.Nomer_dogovora = zachislenie.nomer_dogovora) ON tarif.tarif_name =zachislenie.tarif
WHERE zachislenie.nomer_zachisleniya Between 1 And 12 ANDuser.name Like ‘Юзер%’ AND user.Nomer_dogovora701 AND tarif.tarif_nameLike ‘а%’;
/>
UPDATE tarif
SET stoimost = stoimost*1.5
WHERE stoimost
/>
SELECT MAX(stoimost) AS ‘самая максимальная стоимость тарифа’
FROM tarif
/>
DBDesigner предоставляет различные функции для работы с запросами: сохранение кода,внесение изменений в базу и отмена внесенных изменений. Благодаря этимвстроенным функциям работа с запросами существенно упрощается.
Крометого, в программе есть очень удобное средство для внесения данных в таблицу.Щелкнув правой кнопкой мыши по таблице и выбрав в меню Edit Table Data, можно заносить данные в таблицу или изменять их без использованияязыка SQL./>
Список использованныхисточников
· DBDesigner “HELP”
· DBDesigner4_manual
· «Базы данных»,А.Д.Хомоненко. «Корона принт», 2000 год