
Работают
Склад
Работники склада
Уровень 3. Структура данных независимая от пути доступа.
Склад (Store)
ID_store (PK): INTEGER |
Название (Name): VARCHAR2(20) |
Площадь (Area): INTEGER |
1 |
Домодедовский |
3000 |
2 |
Северный |
8000 |
3 |
Склад №3 |
4000 |
Работники склада (Store Worker)
ID_worker (PK): INTEGER |
ID_store (PK): INTEGER |
Имя (Name): VARCHAR2 (20) |
Должность (Position): VARCHAR2 (20) |
Отдел (Department): VARCHAR2 (20) |
23 |
1 |
Иванов И.И. |
грузчик |
доставка |
456 |
1 |
Петрова Л.П. |
бухгалтер |
бухгалтерия |
124 |
2 |
Сидоров А.Н. |
директор |
Управление |
76 |
3 |
Васечкин А.Е. |
логист |
доставка |
Полученный в ERWin код.
CREATE TABLE Store (
ID_store INTEGER NOT NULL,
Name VARCHAR2(20) NULL,
Area INTEGER NULL
);
ALTER TABLE Store
ADD ( PRIMARY KEY (ID_store) ) ;
CREATE TABLE Store_Worker (
ID_worker INTEGER NOT NULL,
Name VARCHAR2(20) NOT NULL,
Position VARCHAR2(20) NOT NULL,
Department VARCHAR2(20) NOT NULL,
ID_store INTEGER NOT NULL
);
ALTER TABLE Store_Worker
ADD ( PRIMARY KEY (ID_worker) ) ;
ALTER TABLE Store_Worker
ADD ( FOREIGN KEY (ID_store)
REFERENCES Store ) ;
Лабораторная работа №6. Связь иерархическая рекурсия.
Анализ моделей данных с использованием нескольких уровней логического представления.
Уровень 1. Информация об объектах и связях (словарь).
Множества сущностей: Работник склада (Store Worker).
Сущности: Иванов, Петрова, Сидоров, Васечкин, Уткин, Зайцев.
Множества связей: Начальник – у каждого сотрудника склада есть начальник, директор является начальником для самого себя.
Связи: Начальник = {(Иванов, Петрова), (Петрова, Сидоров), (Сидоров, Сидоров)}
Атрибуты: Name: Store_Worker → {Иванов, Петрова, Сидоров, Васечкин}, Position: Store_Worker → {грузчик, бухгалтер, директор, логист}, Department: Store_Worker → {доставка, бухгалтерия, управление}.
Роли: работник, работодатель.
Уровень 2.Структура информации.
Начальник
Работники склада
Работники склада
Уровень 3. Структура данных независимая от пути доступа.
Работники склада (Store Worker2)
ID_worker (PK): INTEGER |
ID_boss (FK): INTEGER |
ID_store (PK): INTEGER |
Имя (Name): VARCHAR2 (20) |
Должность (Position): VARCHAR2 (20) |
Отдел (Department): VARCHAR2 (20) |
23 |
456 |
1 |
Иванов |
бухгалтер |
бухгалтерия |
456 |
124 |
1 |
Петрова |
Глав. Бух. |
бухгалтерия |
124 |
124 |
1 |
Сидоров |
директор |
Управление |
Полученный в ERWin код.
CREATE TABLE Store (
ID_store INTEGER NOT NULL,
Name VARCHAR2(20) NULL,
Area INTEGER NULL
);
ALTER TABLE Store
ADD ( PRIMARY KEY (ID_store) ) ;
CREATE TABLE Store_Worker2 (
ID_worker INTEGER NOT NULL,
ID_Boss INTEGER NULL,
Name VARCHAR2(20) NOT NULL,
Position VARCHAR2(20) NOT NULL,
Department VARCHAR2(20) NOT NULL,
ID_store INTEGER NOT NULL
);
ALTER TABLE Store_Worker2
ADD ( PRIMARY KEY (ID_worker) ) ;
ALTER TABLE Store_Worker2
ADD ( FOREIGN KEY (ID_store)
REFERENCES Store ) ;
ALTER TABLE Store_Worker2
ADD ( FOREIGN KEY (ID_Boss)
REFERENCES Store_Worker2
ON DELETE SET NULL ) ;
Лабораторная работа №7. Сетевая рекурсия.
Анализ моделей данных с использованием нескольких уровней логического представления.
Уровень 1. Информация об объектах и связях (словарь).
Множества сущностей: Склад (Store), Материал (Material).
Сущности: склад Домодедовский, склад Северный, склад №3, вагонка, стекловата, блок хаус.
Множества связей: Склад хранит материал/материал хранится на складе.
Связи: Хранит = {(Домодедовский склад, Блок Хаус), (Северный склад, Стекловата) и т.д.} Хранится = {(Вагонка, Домодедовский склад), (Блок хаус, Склад №3)}
Атрибуты: Name: Store → {Домодедовский, Северный, Склад №3 }, Name: Material → {Вагонка, Стекловата, блок хаус }
Роли: Хранитель материала, хранимый материал.
Хранит\
хранится