Реляционная модель данных. Карепова Е.Д. - 15 стр.

UptoLike

Составители: 

29
ключ односвязной сущности добавляется в качестве атрибута (FOREING
KEY) в отношение, выделенное для многосвязной сущности. Атрибуты связи
(если они есть) добавляются в таблицу для многосвязной сущности.
1
1
:
:
*
*
,
,
К
К
П
П
М
М
Н
Н
О
О
Г
Г
О
О
С
С
В
В
Я
Я
З
З
Н
Н
О
О
Й
Й
С
С
У
У
Щ
Щ
Н
Н
О
О
С
С
Т
Т
И
И
Я
Я
В
В
Л
Л
Я
Я
Е
Е
Т
Т
С
С
Я
Я
Н
Н
Е
Е
О
О
Б
Б
Я
Я
З
З
А
А
Т
Т
Е
Е
Л
Л
Ь
Ь
Н
Н
Ы
Ы
М
М
.
.
Требуется три отношения, по одному на каждую сущность, и отноше-
ние связи. Ключ каждой сущности становится ПК соответствующих отноше-
ний. Отношение связи содержит в качестве ключевых атрибутов (FOREING
KEYS) ключи обеих сущностей. В отношение связи включаются также атри-
буты, принадлежащие связи (если они есть).
*
*
:
:
*
*
,
,
К
К
П
П
О
О
Б
Б
Е
Е
И
И
Х
Х
С
С
У
У
Щ
Щ
Н
Н
О
О
С
С
Т
Т
Е
Е
Й
Й
Н
Н
Е
Е
И
И
М
М
Е
Е
Е
Е
Т
Т
З
З
Н
Н
А
А
Ч
Ч
Е
Е
Н
Н
И
И
Я
Я
.
.
Требуется три отношения, по одному на каждую сущность, и отноше-
ние связи. Ключ каждой сущности становится ПК соответствующих отноше-
ний. Отношение связи содержит в качестве ключевых атрибутов (FOREING
KEYS) ключи обеих сущностей. В отношение связи включаются также атри-
буты, принадлежащие связи (если они есть).
П
П
Р
Р
Е
Е
О
О
Б
Б
Р
Р
А
А
З
З
О
О
В
В
А
А
Н
Н
И
И
Е
Е
Р
Р
Е
Е
К
К
У
У
Р
Р
С
С
И
И
В
В
Н
Н
Ы
Ы
Х
Х
С
С
В
В
Я
Я
З
З
Е
Е
Й
Й
.
.
Отношение, имеющее рекурсивную связь, в качестве ПК имеет ключ
сущности, а также включает в себя этот же ключ сущности в качестве не-
ключевого атрибута (FOREING KEY).
Преобразование отношений супертипподтип
Для отражения категоризации возможно несколько вариантов. Пере-
числим наиболее характерные.
1. Для всех сущностей СупертипПодтипы заводится одно отношение, со-
держащее все атрибуты супертипа и все атрибуты всех подтипов. ПК отно-
шения становится ключ супертипа. Значения атрибутов, характеризующих
подтипы, допускают значения NULL.
2. Для супертипа и каждого подтипа заводятся разные отношения. Отноше-
ние супертипа включает одно поле для связи со всеми отношениями подти-
пов, которое должно быть ПК в каждом из отношений для подтипов.
3. Для супертипа и каждого подтипа заводятся разные отношения. Отноше-
ние супертипа включает по одному полю связи с каждым из отношений для
подтипов, которые должны быть ПК в этих отношениях. Поля связи допус-
кают неопределенные значения.
30
ПРИМЕР ПРОЕКТИРОВАНИЯ РБД
НА ОСНОВЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ
Выше мы получали РБД ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ на основе
концепции функциональной зависимости. Другой подход к проектированию
рассмотрим на этой же модели.
В предметной области можно выделить следующие сущности и соот-
ветствующие им атрибуты (ключи сущностей подчеркнуты).
ПРЕПОДАВАТЕЛЬ КАФЕДРА ПРЕДМЕТ ТАРИФНАЯ
СЕТКА
Личный Название Название Должность
Фамилия Телефон Кол-во часов Оклад
При этом наблюдаются следующие связи между сущностями.
1. ПРЕПОДАВАТЕЛЬПРЕДМЕТ: тип связи *:*, класс принадлежности
обеих сущностейобязательный. Каждый Преподаватель должен вести хо-
тя бы один Предмет. Каждый Предмет должен вестись хотя бы одним Пре-
подавателем. Кроме того, данная связь имеет атрибут связи, характеризую-
щий количество часов, которое ведет преподаватель по предмету. Этот атри-
бут отличен от общего количества часов, отводимых на изучение конкретно-
го предмета.
2. ПРЕПОДАВАТЕЛЬКАФЕДРА: тип связи 1:* (внимательно рассмотрите
диаграмму!), класс принадлежности обеих сущностейобязательный. На
каждой Кафедре должен работать хотя бы один Преподаватель. Каждый
Преподаватель должен работать только на одной Кафедре.
3. ПРЕПОДАВАТЕЛЬТАРИФНАЯ_СЕТКА: тип связи 1:*, класс принад-
лежности сущности ПРЕПОДАВАТЕЛЬобязательный, сущности
ТАРИФНАЯ_СЕТКАнеобязательный. Каждый Преподаватель должен
иметь только одну Должность. В каждой Должности могут работать не-
сколько Преподавателей.
Соответствующая концептуальная модель данных изображена на ри-
сунке 13.
Преобразуем полученную модель в РБД. Согласно правилу преобразо-
вания сущностей, каждой сущности заведем по отношению. Ключи сущно-
стей станут первичными ключами своих отношений. Имеем:
ПРЕПОДАВАТЕЛЬ = <Личный , Фамилия>;
КАФЕДРА = <Название, Телефон>;
ПРЕДМЕТ = < Название, Кол-во_часов>;
ТАРИФНАЯ_СЕТКА = <Должность, Оклад>.