
СкладМатериал
Уровень 3. Структура данных независимая от пути доступа.
Склад (Store)
ID_store (PK): INTEGER |
Название (Name): VARCHAR2(20) |
ID_material (PK): INTEGER |
1 |
Домодедовский |
74387 |
2 |
Северный |
23004 |
3 |
Склад №3 |
23004 |
Материал (Material)
ID_material (PK): INTEGER |
Название (Name) : VARCHAR2(20) |
ID_store (PK): INTEGER |
01002 |
Вагонка |
1 |
23004 |
Стекловата |
3 |
74387 |
Блок хаус |
2 |
Полученный в ERWin код.
CREATE TABLE Material7 (
ID_material INTEGER NOT NULL,
Name VARCHAR2(20) NULL,
ID_store INTEGER NULL
);
ALTER TABLE Material7
ADD ( PRIMARY KEY (ID_material) ) ;
CREATE TABLE Store7 (
ID_store INTEGER NOT NULL,
Name VARCHAR2(20) NULL,
ID_material INTEGER NOT NULL
);
ALTER TABLE Store7
ADD ( PRIMARY KEY (ID_store) ) ;
ALTER TABLE Material7
ADD ( FOREIGN KEY (ID_store)
REFERENCES Store7
ON DELETE SET NULL ) ;
ALTER TABLE Store7
ADD ( FOREIGN KEY (ID_material)
REFERENCES Material7 ) ;
Лабораторная работа №8. Шаблонные отношения.
Полученный в ERWin код.
trigger /* ERwin Builtin %Datetime */
/* %Parent %VerbPhrase %Child ON CHILD INSERT SET NULL */
/* %ErwinRelationInfo */
update %Child
set
/* %%SetFK(%Child,NULL) */
%SetFK(%Child,NULL)
where
not exists (
select * from %Parent
where
/* %%JoinFKPK(:%%New,%Parent," = "," and") */
%JoinFKPK(:%New,%Parent," = "," and")
)
/* %%JoinPKPK(%Child,:%%New," = "," and") */
%JoinPKPK(%Child,:%New," = "," and");
Лабораторная работа №9. Отношения тип-подтип.
Анализ моделей данных с использованием нескольких уровней логического представления.
Уровень 1. Информация об объектах и связях (словарь).
Множества сущностей: Материал (Material).
Сущности: вагонка, стекловата, блок хаус, черновая доска.
Множества связей: Пиломатериал является материалом, утеплитель является материалом.
Связи: Является = {(Домодедовский склад, Блок Хаус), (Северный склад, Стекловата) и т.д.} Хранится = {(Вагонка, Домодедовский склад), (Блок хаус, Склад №3)}
Атрибуты: Name: Store → {Домодедовский, Северный, Склад №3 }, Name: Material → {Вагонка, Стекловата, блок хаус }
Роли: Хранитель материала, хранимый материал.
Уровень 2.Структура информации.
Материал
Пиломатериал
Утеплитель
Уровень 3. Структура данных независимая от пути доступа.
Материал (Material)
ID_material (PK): INTEGER |
Название (Name) : VARCHAR2(20) |
Размер (Size) : VARCHAR2(20) |
01002 |
Вагонка |
20*200см |
23004 |
Стекловата |
80*4000см |
74387 |
Блок хаус |
14*300см |
64735 |
Черновая доска |
15*300см |
Пиломатериал (Pilomaterial)
ID_material (FK): INTEGER |
Категория (Category) : VARCHAR2(20) |
01002 |
Высшая |
64735 |
Третья |
Утеплитель (Uteplitel)
ID_material (FK): INTEGER |
Категория (Category) : VARCHAR2(20) |
23004 |
1 |
Полученный в ERWin код.
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 Pilomaterial (
ID_material INTEGER NOT NULL,
Category VARCHAR2(20) NULL
);
ALTER TABLE Pilomaterial
ADD ( PRIMARY KEY (ID_material) ) ;
CREATE TABLE Uteplitel (
ID_material INTEGER NOT NULL,
Category VARCHAR2(20) NULL
);
ALTER TABLE Uteplitel
ADD ( PRIMARY KEY (ID_material) ) ;
ALTER TABLE Pilomaterial
ADD ( FOREIGN KEY (ID_material)
REFERENCES Material
ON DELETE CASCADE ) ;
ALTER TABLE Uteplitel
ADD ( FOREIGN KEY (ID_material)
REFERENCES Material
ON DELETE CASCADE ) ;