Автор работы: Пользователь скрыл имя, 17 Октября 2011 в 21:21, лабораторная работа
Цель работы
1. Изучить инструментальную среду ERwin.
2. Научиться созданию логической модели данных с помощью ERwin.
3. Научиться созданию физической модели данных с помощью ERwin.
Отчет
по лабораторной работе
№1
Разработка логического
и физического уровня
модели данных в ERwin
Цель работы
1. Изучить инструментальную среду ERwin.
2. Научиться созданию логической модели данных с помощью ERwin.
3. Научиться
созданию физической модели данных с помощью
ERwin.
Тема:
Разработка информационной системы "Сеть
ресторанов" с использованием клиент-серверной
технологии.
Проверили: Великая Я.Г.
Сунцова А.И.
Выполнил: студент гр. 140805
Самойленко Артем
Теоретическая
часть
Создание
современных информационных систем
представляет собой сложнейшую задачу,
решение которой требует
Реализация моделирования в ERwin базируется на теории реляционных баз данных и на методологии IDEF1X. Методология IDEF1X определяет стандарты терминологии, используемой при информационном моделировании, и графического изображения типовых элементов на диаграммах.
Возможны две точки зрения на информационную модель и, соответственно, два уровня модели. Первый - логический (точка зрения пользователя) - описывает данные, задействованные в бизнесе предприятия. Второй - физический - определяет представление информации в БД. ERwin объединяет их в единую диаграмму, имеющую несколько уровней представления.
В ERwin связи представлены пятью основными элементами информации:
● тип связи (идентифицирующая, неидентифицирующая, полная/ неполная категория, неспецифическая связь);
● родительская сущность;
● дочерняя (зависимая) сущность;
● мощность связи (cardinality);
● допустимость пустых (null) значений.
Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифицирующей связи всегда является зависимой.
Связь называется не идентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав не ключевых атрибутов дочерней сущности.
Ход
работы:
Логическая схема базы данных:
Физическая схема базы данных:
Генерация программного SQL-код для созданных таблиц базы данных:
Сгенерированный
код:
CREATE TABLE Cities
(
id_city INTEGER NOT NULL,
name_city VARCHAR(20) NOT NULL
)
;
ALTER TABLE Cities
ADD PRIMARY KEY (id_city)
;
CREATE TABLE Dishes
(
id_dish INTEGER NOT NULL,
name_dish VARCHAR(40) NOT NULL,
kalor_kkal SMALLINT NOT NULL,
describe VARCHAR(500) NOT NULL
)
;
ALTER TABLE Dishes
ADD PRIMARY KEY (id_dish)
;
CREATE TABLE Dolznost
(
id_dolz INTEGER NOT NULL,
name_dolz VARCHAR(40) NOT NULL,
salary_rub NUMERIC() NOT NULL
)
;
ALTER TABLE Dolznost
ADD PRIMARY KEY (id_dolz)
;
CREATE TABLE Menu
(
price_dish NUMERIC(,) NULL,
id_res INTEGER NOT NULL,
id_dish INTEGER NOT NULL,
count_gram SMALLINT NOT NULL
)
;
ALTER TABLE Menu
ADD PRIMARY KEY (id_res,id_dish)
;
CREATE TABLE Restaurant
(
id_res INTEGER NOT NULL,
name_res VARCHAR(40) NOT NULL,
street VARCHAR(20) NOT NULL,
home_num VARCHAR(5) NOT NULL,
count_place SMALLINT NOT NULL,
time_by TIME NOT NULL,
time_to TIME NOT NULL,
id_city INTEGER NOT NULL,
tel VARCHAR(15) NOT NULL
)
;
ALTER TABLE Restaurant
ADD PRIMARY KEY (id_res)
;
CREATE TABLE Sotrudniki
(
id_sotr INTEGER NOT NULL,
surname_sotr VARCHAR(20) NOT NULL,
name_sotr VARCHAR(20) NOT NULL,
otch_sotr VARCHAR(20) NOT NULL,
staz_years SMALLINT NOT NULL,
phone VARCHAR(15) NOT NULL,
id_dolz INTEGER NOT NULL,
id_res INTEGER NOT NULL
)
;
ALTER TABLE Sotrudniki
ADD PRIMARY KEY (id_sotr)
;
ALTER TABLE Menu
ADD FOREIGN KEY R_5 (id_res) REFERENCES Restaurant(id_res)
;
ALTER TABLE Menu
ADD FOREIGN KEY R_6 (id_dish) REFERENCES Dishes(id_dish)
;
ALTER TABLE Restaurant
ADD FOREIGN KEY R_4 (id_city) REFERENCES Cities(id_city)
;
ALTER TABLE Sotrudniki
ADD FOREIGN KEY R_2 (id_dolz) REFERENCES Dolznost(id_dolz)
;
ALTER TABLE Sotrudniki
ADD FOREIGN KEY R_7 (id_res) REFERENCES Restaurant(id_res)
;