Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы_отчет11.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
275.98 Кб
Скачать

Лабораторная работа №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.Структура информации.

Местоположение