Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 4 проек-ние БД.doc
Скачиваний:
2
Добавлен:
26.11.2018
Размер:
429.57 Кб
Скачать

Правила формирования отношений для м:м

При наличии связи М:М между сущностями необходимо наличие трех отношении независимо от класса принадлежности любой из сущностей.

Правило 6.

Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.

К1 К2

КП

Фамилия

Телефон

КД

Дисциплина

Часы

П1

Андреев

234567

Д1

Физика

62

П1

Андреев

234567

Д2

Логика

74

П2

Петров

234568

Д3

Информатика

74

-

-

-

Д4

СУБД

80

П3

Рушин

234569

Д5

С++

100

П4

Репин

234561

Д2

Логика

74

П4

Репин

234561

Д6

Экономика

120

П5

Егоров

234562

-

-

-

КП

Фамилия

Телефон

П1

Андреев

234567

П2

Петров

234568

П3

Рушин

234569

П4

Репин

234561

П5

Егоров

234562

КП

КД

П1

Д1

П1

Д2

П2

Д3

П3

Д5

П4

Д2

П4

Д6

КД

Дисциплина

Часы

Д1

Физика

62

Д2

Логика

74

Д3

Информатика

74

Д4

СУБД

80

Д5

С++

100

Д6

Экономика

120


4.2.3. Пример проектирования бд с использованием метода сущность связь

В качестве примера рассмотрим БД Деканат.

  • БД должна содержать следующие сведения:

  • ФИО – фамилия имя отчество преподавателя (фамилии и инициалы не совпадают)

  • Должн – должность преподавателя

  • Оклад – оклад преподавателя

  • Стаж – стаж преподавателя

  • Надбавка – надбавка за стаж

  • Каф – номер кафедры

  • Предм – название дисциплины, которую ведет преподаватель

  • Группа – номер группы, в которой преподаватель проводит занятия

  • ВидЗан – вид занятий, проводимых преподавателем в уч. группе (в одной группе преподаватель ведет только один вид занятий).

1-й этап проектирования – выделение сущностей и связей между ними.

Сущности:

ПРЕПОДАВАТЕЛЬ (ключ - ФИО)

ЗАНЯТИЕ (ключ – Группа, Предм)

СТАЖ (ключ-стаж)

ДОЛЖНОСТЬ (ключ – Должн)

Связи между сущностями:

ПРЕПОДАВАТЕЛЬ ИМЕЕТ СТАЖ

ПРЕПОДАВАТЕЛЬ ВЕДЕТ ЗАНЯТИЕ

ПРЕПОДАВАТЕЛЬ ЗАНИМАЕТ ДОЛЖНОСТЬ

2

Стаж

Занятие

Должность

1

м

1

м

м

м

Стаж,

Группа,

Предмет,

Должн,

ФИО,

-ой этап проектирования –
построение диаграмм ER- типа с учетом сущностей и связей между ними.

Рис. 6 ДиаграммаER-типа

ИМЕЕТ – связь М:1 – одинаковый стаж могут иметь несколько преподавателей.

ВЕДЕТ – связь М:М – преподаватель может вести несколько предметов, каждое занятие может проводиться несколькими преподавателями. Здесь обязательный класс принадлежности с обеих сторон.

ЗАНИМАЕТ – связь М:1 – преподаватель занимает должность, одинаковые должности могут занимать несколько преподавателей.

3-й этап проектирования - формирование набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения, используя ER – диаграмму.

Связь ИМЕЕТ удовлетворяет условиям правила 4, строится 2 таблицы:

  1. ПРЕПОДАВАТЕЛЬ (ФИО, Стаж)

  2. СТАЖ (Стаж, …) с соответствующими ключевыми полями.

Связь ВЕДЕТ удовлетворяет условиям правила 6, строится 3 таблицы:

  1. ПРЕПОДАВАТЕЛЬ (ФИО, Стаж),

  2. ВЕДЕТ(ФИО, Группа, Предм)

  3. ЗАНЯТИЕ (Группа, Предм, )

Связь ЗАНИМАЕТ аналогична ИМЕЕТ (правило 4):

  1. ПРЕПОДАВАТЕЛЬ (ФИО, Стаж, Должн, ),

  2. ДОЛЖНОСТЬ (Должн, …)

4-й этап – добавление неключевых атрибутов в отношения, с тем чтобы они отвечали требованиям нормальной формы Бойса-Кодда (все неключевые атрибуты отношения взаимно независимы, зависят только от первичного ключа, отсутствуют зависимости ключей от неключевых атрибутов).

Получится следующая схема отношений:

Отношение ЗАНЯТИЕ можно исключить из схемы, т.к. оно не несет новой информации. На последнем этапе проектирования отношения анализируются на предмет избыточного дублирования информации. Конечный результат – соответствие нормальной форме Бойса-Кодда.

Результат проектирования по методу "сущность-связь" – совокупность взаимосвязанных таблиц. связь осуществляется через одинаковые по смыслу, типу и значению атрибутов. Это атрибуты связи. Они могут быть ключевыми или вводятся дополнительно по правилам 1-6 для отображения связи.

В таблице ПРЕПОДАВАТЕЛЬ атрибут ФИО ключевой, а в таблице ВЕДЕТ обычный атрибут. Таблица, в которой атрибут связи является ключевым называется главной (родительской), связанная с ней по этому ключу таблица называется подчиненной (дочерней). Информация в подчиненной таблицы зависит от данных главной таблицы. Атрибут связи в подчиненной таблице называется внешним ключом.

Данные в связанных таблицах должны удовлетворять следующим ограничениям целостности:

  • Каждой записи главной таблицы может соответствовать нуль или более записей подчиненной таблицы;

  • В подчиненной таблице не должно быть записей, которые не имеют родительской записи в главной таблице;

  • Каждой записи подчиненной таблицы может иметь только одну родительскую запись в главной таблице.

Эти ограничения определяют порядок выполнения операций ввода, удаления и обновления записей.

Перед заполнением таблиц следует определить между ними отношения порядка. К нулевому уровню относятся таблицы, в которых данные не зависят от данных в других таблицах. Это справочники. К первому уровню относятся таблицы, которые зависят только от нулевого уровня; ко второму – зависят от нулевого и первого и т.д. это определяет порядок заполнения таблиц. Сначала заполняют таблицы нулевого, потом – первого и т.д.

17