Автор работы: Пользователь скрыл имя, 23 Июня 2014 в 22:07, лабораторная работа
Цель работы:
Изучить инструментальную среду ERwin,
научиться созданию логической модели данных с помощью ERwin,
научиться созданию физической модели данных с помощью ERwin.
Цель работы.
Теоретическая часть.
Проектирование структуры БД
Проектирование логической структуры БД
Проектирование физической структуры БД
SQL-скрипт, сгенерированный ERwin.
Федеральное агентство по образованию
Российской Федерации
Белгородский Государственный университет
Факультет компьютерных наук и телекоммуникаций
Кафедра прикладной информатики
Отчет по лабораторной работе №1
на тему: «Разработка логического и физического уровня модели данных в ERwin»
по дисциплине: «Базы данных»
Выполнил:
студент группы 140706
Толмачев К. С.
Проверил:
ассистент Великая Я.Г., ассистент Сунцова А.И.
Белгород 2010
Вариант №
Содержание отчета:
В реляционной модели все данные представляются как факты о сущностях и связях. Между сущностями определяются функциональные связи. Сущность - это, например, человек, место, вещь, событие, концепция, о которых хранится информация. Сущности именуются обычно существительными, такими как покупатель, компьютер, служащий, продажа.
Более точно, сущность - это множество индивидуальных объектов - экземпляров, причем все эти объекты являются различными.
Связь - это функциональная зависимость между сущностями. Например, служащий совершает продажи.
Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его экземпляр. Сущность служащий может иметь атрибуты имя, дата рождения и т.д.
Общепринятым видом графического изображения реляционной модели данных является ER-диаграмма. На такой диаграмме сущности (таблицы) изображаются прямоугольниками, возможно, соединенными между собой линиями (связями). Такое графическое представление облегчает восприятие структуры базы данных по сравнению с текстовым описанием.
ERwin создает визуальное
Диаграмма ERwin строится из трех основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности и атрибуты являются существительными, а связи - глаголами.
В ERwin существуют два уровня представления и моделирования - логический и физический. Логический уровень означает прямое отображение фактов из реальной жизни. На логическом уровне не рассматривается использование конкретной СУБД, не определяются типы данных (например, целое или вещественное число) и не определяются индексы для таблиц.
Целевая СУБД, имена объектов и типы данных, индексы составляют второй (физический) уровень модели ERwin. ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями представления одной диаграммы (модели), равно как и иметь много вариантов отображения на каждом уровне.
На диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора - атрибуты, составляющие первичный ключ в верхней части, и прочие (не входящие в первичных ключ) - в нижней части.
Сущность - это логическое понятие. Сущности соответствует таблица в реальной СУБД.
Сущность должна обладать атрибутом или комбинацией атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Эти атрибуты образуют первичный ключ сущности.
Связь - это функциональная зависимость между двумя сущностями (в частности, возможна связь сущности с самой собой). Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне.
В этой части отчета мной будет спроектирована структура БД согласно теме курсовой работы: «Производство плитки». В результате исследования проблемной области, я выделил 5 сущностей:
После того, как была разработана структура БД, необходимо разработать логическую модель БД.
Проведем анализ предметной области и внесем в диаграмму выявленные сущности. Для внесения сущности в модель необходимо «кликнуть» по кнопке сущности на панели инструментов (ERwin Toolbox) затем кликнуть по тому месту на диаграмме, где необходимо расположит новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Editor, можно вызвать диалог Entity Editor (см. рис. 1), в котором определяются имя, комментарии и описание сущности.
Рис. 1. Внешний вид окна Entity Editor.
Рис. 2. Вид диаграммы после создания всех сущностей
Следующим шагом в процессе создания логической модели должно стать определение связей между сущностями.
Для установки связи необходимо кликнуть по кнопке связь в панели инструментов, затем указать мышью сначала на родительскую сущность, а потом на дочернюю. Задать параметры связи можно при помощи редактора связей Relationship Editor:
Рис. 3. Диалоговое окно Relationship Editor
После задания связей между сущностями диаграмма будет выглядеть следующим образом.
Рис. 4. Вид логической модели после задания связей
Теперь для каждой сущности необходимо указать первичные ключи и не ключевые атрибуты. Кроме того, для некоторых, возможно, понадобится задание альтернативных ключей и инверсных входов. Для задания первичных ключей и атрибутов используется редактор атрибутов. Для его вызова нужно кликнуть правой кнопкой мыши на сущности и выбрать пункт Attribute Editor:
Рис. 5. Окно редактора Attribute Editor
Так как в моей базе данных не предусмотрено альтернативных ключей, пропустим данный шаг и завершим проектирование логической структуры БД. После завершения проектирования логической модели диаграмма будет выглядеть следующим образом:
Рис. 6. Общий вид логической модели
На уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту – колонка таблицы, связи – внешний ключ, первичным и альтернативным ключам – уникальные индексы, а инверсным входам не уникальные.
Поскольку логическая модель разрабатывалась на русском языке, то имена таблиц, колонок и индексов необходимо задать на английском языке. Кроме того для каждой колонки необходимо указать тип данных , возможность пустых значений и т.п.
Для создания английских имен таблиц необходимо воспользоваться редактором таблиц.
Рис. 7. Переименование таблицы
Переименование таблиц с русского на английский язык производится аналогично тому, как показано на рис. 7.
Далее нужно переименовать все поля в сущностях и задать им определенный тип данных, чтобы потом появилась возможность сгенерировать SQL-скрипт. Для этого будем пользоваться редактором таблиц, как показано на рис. 8:
Рис. 8. Диалоговое окно редактора колонок
После переименования всех полей и таблиц, а также задания типов данных физическая модель приобретет вид:
Рис. 9. Общий вид физической модели
Последним шагом является генерация схемы БД. Для этого в необходимо выбрать пункт меню Tools -> Forward Engineer -> Schema Generation.
Рис. 10. Окно генерации схемы БД
Далее нужно нажать кнопку «Preview…» после чего откроется диалоговое окно с созданным SQL-скриптом.
Текст SQL-скрипта для созданной схемы:
CREATE TABLE client
(
id_client INTEGER NULL,
surname VARCHAR(60) NOT NULL,
name VARCHAR(60) NOT NULL,
pat VARCHAR(60) NOT NULL,
fio VARCHAR(60) NULL,
phone CHAR(20) NULL,
address VARCHAR(60) NULL,
id_r in NOT NULL
)
;
ALTER TABLE client
ADD PRIMARY KEY (id_client)
;
CREATE TABLE contract
(
id_c INTEGER NOT NULL,
contract_date DATE NOT NULL,
id_client INTEGER NOT NULL
)
;
ALTER TABLE contract
ADD PRIMARY KEY (id_c,id_client)
;
CREATE TABLE contract_service
(
id_c_s INTEGER NOT NULL,
id_s INTEGER NOT NULL,
id_c INTEGER NOT NULL,
id_client INTEGER NOT NULL
)
;
ALTER TABLE contract_service
ADD PRIMARY KEY (id_c_s)
;
CREATE TABLE region
(
id_r in NOT NULL,
name_r VARCHAR(60) NOT NULL
)
;
ALTER TABLE region
ADD PRIMARY KEY (id_r)
;
CREATE TABLE service
(
id_s INTEGER NOT NULL,
name_s VARCHAR(60) NOT NULL,
price_s FLOAT NOT NULL
)
;
ALTER TABLE service
ADD PRIMARY KEY (id_s)
;
ALTER TABLE client
ADD FOREIGN KEY R_2 (id_r) REFERENCES region(id_r)
;
ALTER TABLE contract
ADD FOREIGN KEY R_1 (id_client) REFERENCES client(id_client)
;
ALTER TABLE contract_service
ADD FOREIGN KEY R_3 (id_s) REFERENCES service(id_s)
;
ALTER TABLE contract_service
ADD FOREIGN KEY R_4 (id_c,id_client) REFERENCES contract(id_c,id_client)
;
Вывод: в результат проделанной лабораторной работы мной были разработаны логическая и физическая модели базы данных, а так же получены навыки работы с программным средством ERWin.
Информация о работе Разработка логического и физического уровня модели данных в ERwin