Разработка логического и физического уровня модели данных в ERwin

Автор работы: Пользователь скрыл имя, 23 Июня 2014 в 22:07, лабораторная работа

Краткое описание

Цель работы:
Изучить инструментальную среду ERwin,
научиться созданию логической модели данных с помощью ERwin,
научиться созданию физической модели данных с помощью ERwin.

Содержание

Цель работы.
Теоретическая часть.
Проектирование структуры БД
Проектирование логической структуры БД
Проектирование физической структуры БД
SQL-скрипт, сгенерированный ERwin.

Прикрепленные файлы: 1 файл

Отчет по лабораторной работе 1.doc

— 225.00 Кб (Скачать документ)

Федеральное агентство по образованию

Российской Федерации

Белгородский Государственный университет

Факультет компьютерных наук и телекоммуникаций

Кафедра прикладной информатики

 

 

 

 

 

 

 

 

 

Отчет по лабораторной работе №1

на тему: «Разработка логического и физического уровня модели данных в ERwin»

по дисциплине: «Базы данных»

 

 

 

Выполнил:

студент группы 140706

Толмачев К. С.

Проверил:

ассистент Великая Я.Г., ассистент Сунцова А.И.

 

 

Белгород 2010

Вариант №

 

Содержание отчета:

  1. Цель работы.
  2. Теоретическая часть.
  3. Проектирование структуры БД
  4. Проектирование логической структуры БД
  5. Проектирование физической структуры БД
  6. SQL-скрипт, сгенерированный ERwin.

 

  1. Цель работы:

    • Изучить инструментальную среду ERwin,
    • научиться созданию логической модели данных с помощью ERwin,
    • научиться созданию физической модели данных с помощью ERwin.

 

 

  1. Теоретическая часть

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

Более точно, сущность - это множество индивидуальных объектов - экземпляров, причем все эти объекты являются различными.

Связь - это функциональная зависимость между сущностями. Например, служащий совершает продажи.

Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его экземпляр. Сущность служащий может иметь атрибуты имя, дата рождения и т.д.

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

ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться  для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. Однако ERwin далеко не только инструмент для рисования. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными).

Диаграмма ERwin строится из трех основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности и атрибуты являются существительными, а связи - глаголами.

В ERwin существуют два уровня представления и моделирования - логический и физический. Логический уровень означает прямое отображение фактов из реальной жизни. На логическом уровне не рассматривается использование конкретной СУБД, не определяются типы данных (например, целое или вещественное число) и не определяются индексы для таблиц.

Целевая СУБД, имена объектов и типы данных, индексы составляют второй (физический) уровень модели ERwin.  ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями представления одной диаграммы (модели), равно как и иметь много вариантов отображения на каждом уровне.

    • Сущность в ERwin:

На диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора - атрибуты, составляющие первичный ключ в верхней части, и прочие (не входящие в первичных ключ) - в нижней части.

Сущность - это логическое понятие. Сущности соответствует таблица в реальной СУБД.

    • Атрибуты в ERwin:

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

    • Связи в ERwin:

Связь - это функциональная зависимость между двумя сущностями (в частности, возможна связь сущности с самой собой). Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне.

 

  1. Проектирование структуры БД

 

В этой части отчета мной будет спроектирована структура БД согласно теме курсовой работы: «Производство плитки». В результате исследования проблемной области, я выделил 5 сущностей:

    1. Клиент (содержит информацию о клиентах),
    2. Район (содержит информацию о районах),
    3. Услуги (содержит информацию об услугах),
    4. Договор (содержит информацию о договорах)
    5. Договор_услуги (содержит информацию об услугах в договоре).

 

  1. Проектирование логической модели БД

 

После того, как была разработана структура БД, необходимо разработать логическую модель БД.

Проведем анализ предметной области и внесем в диаграмму выявленные сущности. Для внесения сущности в модель необходимо «кликнуть» по кнопке сущности на панели инструментов (ERwin Toolbox) затем кликнуть по тому месту на диаграмме, где необходимо расположит новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Editor, можно вызвать диалог Entity Editor (см. рис. 1), в котором определяются имя, комментарии и описание сущности.

Рис. 1. Внешний вид окна Entity Editor.

 

Рис. 2. Вид диаграммы после создания всех сущностей

 

Следующим шагом в процессе создания логической модели должно стать определение связей между сущностями.

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

Рис. 3. Диалоговое окно Relationship Editor

После задания связей между сущностями диаграмма будет выглядеть следующим образом.

Рис. 4. Вид логической модели после задания связей

 

Теперь для каждой сущности необходимо указать первичные ключи и не ключевые атрибуты. Кроме того, для некоторых, возможно, понадобится задание альтернативных ключей и инверсных входов. Для задания первичных ключей и атрибутов используется редактор атрибутов. Для его вызова нужно кликнуть правой кнопкой мыши на сущности и выбрать пункт Attribute Editor:

Рис. 5. Окно редактора Attribute Editor

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

Рис. 6. Общий вид логической модели

 

  1. Проектирование физической структуры БД

На уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту – колонка таблицы, связи – внешний ключ, первичным и альтернативным ключам – уникальные индексы, а инверсным входам не уникальные.

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

Для создания английских имен таблиц необходимо воспользоваться редактором таблиц.

Рис. 7. Переименование таблицы

Переименование таблиц с русского на английский язык производится аналогично тому, как показано на рис. 7.

Далее нужно переименовать все поля в сущностях и задать им определенный тип данных, чтобы потом появилась возможность сгенерировать SQL-скрипт. Для этого будем пользоваться редактором таблиц, как показано на рис. 8:

Рис. 8. Диалоговое окно редактора колонок

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

Рис. 9. Общий вид физической модели

 

  1. SQL-скрипт, сгенерированный ERwin

Последним шагом является генерация схемы БД. Для этого в необходимо выбрать пункт меню 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