
Лабораторная работа №1. Идентифицирующая связь.
Идентифицирующая связь - это связь между двумя объектами, где сущность потомка определяется через сущность родителя, таким образом, объект потомка зависит от объекта родителя и не может быть определен без него. Объект родителя может иметь связи со многими объектами потомков.
Анализ моделей данных с использованием нескольких уровней логического представления.
Уровень 1. Информация об объектах и связях (словарь).
Множества сущностей: Склад (Store), Материал (Material).
Сущности: склад Домодедовский, склад Северный, склад №3, вагонка, стекловата, блок хаус.
Множества связей: Наличие (Availability) – идентифицирующая связь.
Связи: Наличие = {(Северный склад, Вагонка), (Северный склад, Стекловата) и т.д.}
Атрибуты: Name: Store → {Домодедовский, Северный, Склад №3 }, Area: Store → {3000, 8000, 4000}, Size: Material → {20*200см, 80*4000см, 14*300см }, Availability: Availability → {Да, Нет}.
Роли: Хранитель материала, хранимый материал.
Уровень 2.Структура информации.
Склад
Наличие
Материал
Уровень 3. Структура данных независимая от пути доступа.
Склад (Store)
ID_store (PK): INTEGER |
Название (Name): VARCHAR2(20) |
Площадь (Area): INTEGER |
1 |
Домодедовский |
3000 |
2 |
Северный |
8000 |
3 |
Склад №3 |
4000 |
Материал (Material)
ID_material (PK): INTEGER |
Название (Name) : VARCHAR2(20) |
Размер (Size) : VARCHAR2(20) |
01002 |
Вагонка |
20*200см |
23004 |
Стекловата |
80*4000см |
74387 |
Блок хаус |
14*300см |
Наличие (Availability)
ID_material (FK): INTEGER |
ID_store (FK): INTEGER |
Наличие (Availability) : VARCHAR2(20) |
74387 |
3 |
Нет |
74387 |
1 |
Да |
23004 |
2 |
Да |
01002 |
2 |
Нет |
Полученный в ERWin код.
CREATE TABLE Availability (
ID_store INTEGER NOT NULL,
ID_material INTEGER NOT NULL,
Availability VARCHAR2(20) NULL
);
ALTER TABLE Availability
ADD ( PRIMARY KEY (ID_store, ID_material) ) ;
CREATE TABLE Material (
ID_material INTEGER NOT NULL,
Name VARCHAR2(20) NOT NULL,
Size VARCHAR2(20) NULL
);
ALTER TABLE Material
ADD ( PRIMARY KEY (ID_material) ) ;
CREATE TABLE Store (
ID_store INTEGER NOT NULL,
Name VARCHAR2(20) NOT NULL,
Area INTEGER NOT NULL
);
ALTER TABLE Store
ADD ( PRIMARY KEY (ID_store) ) ;
ALTER TABLE Availability
ADD ( FOREIGN KEY (ID_material)
REFERENCES Material ) ;
ALTER TABLE Availability
ADD ( FOREIGN KEY (ID_store)
REFERENCES Store ) ;
Лабораторная работа №2. Неидентифицирующая связью.
Неидентифицирующая связь связывает родительскую сущность с дочерней. Переданные ключи в неидентифицирующей связи не являются составной частью первичного ключа дочерней сущности.
Анализ моделей данных с использованием нескольких уровней логического представления.
Уровень 1. Информация об объектах и связях (словарь).
Множества сущностей: Склад (Store), Материал (Material).
Сущности: склад Домодедовский, склад Северный, склад №3, вагонка, стекловата, блок хаус.
Множества связей: Местоположение (Location).
Связи: Наличие = {(Северный склад, Вагонка), (Северный склад, Стекловата) и т.д.}
Атрибуты: Name: Store → {Домодедовский, Северный, Склад №3 }, Area: Store → {3000, 8000, 4000}, Size: Material → {20*200см, 80*4000см, 14*300см }, Line: Location → {1, …, 1000} , Shelf : Location → {1,…, 500}.
Роли: Хранитель материала, хранимый материал.
Уровень 2.Структура информации.
Местоположение