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

Лабораторная работа №1. Идентифицирующая связь.

Идентифицирующая связь - это связь между двумя объектами, где сущность потомка определяется через сущность родителя, таким образом, объект потомка зависит от объекта родителя и не может быть определен без него. Объект родителя может иметь связи со многими объектами потомков.

Материал

Склад

Наличие

Склад (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. Неидентифицирующая связью.

Неидентифицирующая связь связывает родительскую сущность с дочерней. Переданные ключи в неидентифицирующей связи не являются составной частью первичного ключа дочерней сущности.

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

Материал

Склад

Склад (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см

Местоположение (Location)

ID_location (PK): INTEGER

ID_material (FK) : INTEGER

ID_store (FK): INTEGER

Полка (Shelf): INTEGER

Ряд (Line): INTEGER

74643

01002

1

10

84

63748

01002

3

45

10

00034

74387

1

12

84

87387

74387

1

1

86

49847

23004

2

35

76

Полученный в ERWin код.

CREATE TABLE Location (

ID_location INTEGER NOT NULL,

ID_store INTEGER NULL,

ID_material INTEGER NULL,

Line INTEGER NOT NULL,

Shelf INTEGER NOT NULL

);

ALTER TABLE Location

ADD ( PRIMARY KEY (ID_location) ) ;

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 Location

ADD ( FOREIGN KEY (ID_material)

REFERENCES Material

ON DELETE SET NULL ) ;

ALTER TABLE Location

ADD ( FOREIGN KEY (ID_store)

REFERENCES Store

ON DELETE SET NULL ) ;

Лабораторная работа №3. Связь 1:1.

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

Адрес

Склад

Склад (Store)

ID_store (PK): INTEGER

Название (Name): VARCHAR2(20)

Площадь (Area): INTEGER

1

Домодедовский

3000

2

Северный

8000

3

Склад №3

4000

Адрес (Address)

ID_address (PK): INTEGER

Город (City): VARCHAR2(20)

Улица (Street): VARCHAR2(20)

Дом (Building):

VARCHAR2(20)

ID_store (FK): INTEGER

1

Москва

Киевское ш.

37

3

2

Чехов

ул. Профсоюзная

9

1

3

Истра

ул. Ленина

35

2

Полученный в ERWin код.

CREATE TABLE Address (

ID_address INTEGER NOT NULL,

City VARCHAR2() NULL,

Street VARCHAR2() NOT NULL,

Building VARCHAR2() NOT NULL,

ID_store INTEGER NOT NULL

);

ALTER TABLE Address

ADD ( PRIMARY KEY (ID_address, ID_store) ) ;

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 Address

ADD ( FOREIGN KEY (ID_store)

REFERENCES Store ) ;

Лабораторная работа №4. Связь N:N.