4.69M
Category: databasedatabase

Переход от ER-модели к схеме отношений

1.

1
Переход
от ER-модели к схеме отношений

2.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
ER-модель (Entity-relationship model или Entity-relationship diagram) – это семантическая модель
данных, которая предназначена для упрощения процесса проектирования базы данных.
Из ER-модели могут быть порождены все виды баз данных:
реляционные, иерархические, сетевые, объектные.
В основе ER-модели лежат понятия «сущность», «связь» и «атрибут».
ER-модель – это представление базы данных в виде наглядных графических диаграмм.
ER-модель визуализирует процесс, который определяет некоторую предметную область.
Диаграмма «сущность»-«связь» – это диаграмма, которая представляет в графическом виде сущности, атрибуты и связи.
ER-модель – это только концептуальный уровень моделирования. ER-модель не содержит деталей реализации.
Для той же самой ER-модели детали ее реализации могут отличаться.
2

3.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
3
Сущность в базе данных – это любой объект в базе данных, который можно выделить исходя из
сути предметной области для которой разрабатывается эта база данных.
Пример.
В базе данных учета учебного процесса некоторого учебного заведения можно выделить
следующие сущности:
студенты (ученики);
преподаватели;
группы;
дисциплины, которые изучаются.
В модели «сущность-связь» различают две разновидности типов сущностей:
• слабый тип - зависимый от сильной сущности;
• сильный тип - тип сущности, который не зависит ни от какой другой сущности.

4.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
4
Сущность имеет определенный набор атрибутов.
Атрибуты предназначены для описания конкретной сущности.
Различают следующие виды атрибутов:
• простые атрибуты. Это атрибуты, которые могут быть частью составных атрибутов. Эти атрибуты состоят из
одного компонента. Например, к простым атрибутам можно отнести: код книги в библиотеке или курс
обучения студента в учебном заведении;
составные атрибуты. Это атрибуты, которые состоят из нескольких простых атрибутов. Например, адрес
проживания может содержать название страны, населенного пункта, улицы, номера дома;
однозначные атрибуты. Это атрибуты, которые содержат только одно единственное значение для
некоторой сущности. Например, атрибут «Номер зачетной книги» для типа сущности «Студент»;
многозначные атрибуты. Это атрибуты, которые могут содержать несколько значений. Например,
многозначный атрибут «Номер телефона» для сущности «Студент»;
производные атрибуты. Это атрибуты, значение которых формируется на основе значений других
атрибутов. Например, текущий курс обучения студента можно вычислить на основе разности текущего
года обучения и года поступления студента в учебное заведение.

5.

5
AGE
(возраст)

6.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
6
Между двумя сущностями может быть установлена связь.
Отношения между сущностями характеризуются глаголом, который можно применить для
взаимодействия между ними. Связь – это некое отношение между двумя типами сущностей.
Пример (демонстрирует определение связи между типами сущностей Студент, Дисциплина, Группа):
Студент изучает дисциплину – выделяется глагол «изучает».
Студент учится в группе – выделяется глагол «учится».
Между типами сущностей различают следующих три типа связей:
• «один-к-одному» или 1:1. Это значит, что одному экземпляру некоторой сущности может
соответствовать только один экземпляр другой сущности;
• «один-ко-многим» или 1:M. Это значит, что одному экземпляру сущности может
соответствовать любое количество (M) экземпляров другой сущности. Если известно значение
максимального количества экземпляров, то это значение указывается вместо символа М;
• «много-к-многим» или M:N. Это означает, что нескольким экземплярам одной сущности
может соответствовать несколько экземпляров другой сущности.

7.

Представление унарной рекурсивной связи на диаграмме ER-модели
7

8.

8

9.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
9
Еще одним типом связи, который зачастую реализуется в базах данных, является категоризационная связь.
Данный тип связи является частным случаем связи «один-к-одному», поскольку отражает единственность
взаимосвязи экземпляра сущности-категории с тем же экземпляром сущности-общности.
Сущность может быть разделена и представлена в виде двух или более сущностей-категорий, каждая из
которых имеет общие атрибуты и/или отношения, которые определяются однажды на верхнем уровне и
наследуются на нижнем.
Пример
• Сущность Преподаватель (таб номер, ФИО, адрес, паспорт, пол, …)
• Сущности–категории Совместитель (таб номер, ставка, …), Консультант (таб номер, организация, …),
Штатный (таб номер, стаж)
Сущности-категории могут иметь и свои собственные атрибуты, а также, в свою очередь, могут быть
декомпозированы своими сущностями-категориями на следующем уровне.

10.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
10
Идея использования подтипа сущности состоит в том, что для всего
разнообразного набора сущностей выделяется супертип, который содержит
общую для всех типов сущностей информацию. Детали (тонкости) каждого
типа сущности выносятся по отдельности в несколько специализированных
подтипов.
Пусть нужно разработать базу данных сотрудников учебного заведения. В учебном заведении
выделяются три сущности, каждая из которых представляет профессиональную группу сотрудников:
сущность Администрация;
сущность Преподаватель;
сущность Вспомогательный персонал.
Если для каждой сущности описать собственный набор атрибутов, то можно заметить, что некоторые
атрибуты в разных сущностях будут повторяться.

11.

38. Модель «Сущность-связь». Типы связей. Категоризация
сущностей. Подтипы и супертипы.
11
Также можно выделить некоторые уникальные атрибуты:
тип сущности «Администрация» имеет административную ставку, название занимаемой
должности и т.п.;
тип сущности «Преподаватель» имеет количество вычитанных часов, расценку за 1 час,
категорию и т.п.;
тип сущности «Вспомогательный персонал» имеет ставку персонала, коэффициент
выходного или невыходного дня (если сотрудник работал по выходным дням) и т.п.
Чтобы решить проблему избежания повторяемости данных, в ER-модель вносятся изменения,
как показано на рисунке 1, а именно:

12.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
12
вводится супертип сущности «Сотрудник». Этот супертип содержит общие атрибуты для всех типов
(подтипов) сущностей;
вводятся подтипы сущностей «Администрация», «Преподаватель», «Вспомогательный персонал».
Каждый из подтипов сущностей имеет свои уникальные атрибуты.
Супертип сущности – это такой тип сущности, в котором реализуются (описываются) только
общие атрибуты для подтипов сущностей, которые используют этот супертип.
На рисунке между подтипами Администрация и Преподаватель есть обозначение с символом Gs.
Это значит, что подтипы могут пересекаться. Между подтипами Преподаватель и Вспомогательный
персонал есть обозначение с символом G. Это значит, что подтипы сущностей не пересекаются.
Между супертипом и подтипом устанавливается отношение «один к одному» или 1:1.

13.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
Недостатки использования подтипов сущностей состоят в том, что в целом
усложняется работа по разработке базы данных. Трудности состоят в
следующем:
не существует единого правила поддержания целостности данных при
организации взаимодействия между головной и подчиненными таблицами;
в таблицах подтипов возникают определенные сложности в определении
первичных ключей в таблицах подтипов;
средствами современного SQL весьма сложно создать запрос,
объединяющий всю информацию из таблицы-супертипа и всех таблиц
подтипов;
сложно обеспечить безопасный доступ пользователя к столбцам таблиц
подтипов.
13

14.

Модель «Сущность-связь». Типы связей. Категоризация сущностей.
Подтипы и супертипы.
14
Преимущества использования подтипов сущностей:
избежание избыточности данных, поскольку каждый подтип содержит только уникальную
информацию. Это в свою очередь приводит к уменьшению размера самой базы данных;
упрощение установки ограничений для любого атрибута, который соответствует столбцу
таблицы, реализующей конкретный подтип сущности;
уменьшение ошибок при описании операций над таблицей, которая соответствует конкретному
подтипу сущности;
гибкость в модификации структуры базы данных. Не нужно модифицировать таблицу
супертипа в случае добавления/изменения структуры таблицы подтипа. Это, в свою очередь,
приводит к тому, что не нужно переделывать весь код управления базой данных.

15.

Пример разработки ER-модели оптовой торговой фирмы (источник Пушников
http://citforum.ru/database/dblearn/dblearn08.shtml
15
Задача разработать информационную систему по заказу некоторой оптовой торговой фирмы.
Проектируемая система должна выполнять следующие действия:
•Хранить информацию о покупателях.
•Печатать накладные на отпущенные товары.
•Следить за наличием товаров на складе.
Выделим все существительные в этих предложениях - это будут потенциальные кандидаты на сущности и
атрибуты, и проанализируем их (непонятные термины будем выделять знаком вопроса):
•Покупатель - явный кандидат на сущность.
•Накладная - явный кандидат на сущность.
•Товар - явный кандидат на сущность
•(?)Склад - а вообще, сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность.
•(?)Наличие товара – это, скорее всего, атрибут, но атрибут какой сущности?

16.

Очевидная связь между сущностями
- "покупатели могут покупать много товаров"
- "товары могут продаваться многим покупателям".
Первый вариант диаграммы выглядит так:
16

17.

Задав дополнительные вопросы менеджеру, мы выяснили, что фирма имеет несколько складов.
Причем, каждый товар может храниться на нескольких складах и быть проданным с любого склада.
Куда поместить сущности "Накладная" и "Склад" и с чем их связать?
Как связаны эти сущности между собой и с сущностями "Покупатель" и "Товар"?
17

18.

18

19.

19

20.

Пример разработки ER-модели Склад предприятия (источник Осипов, Д. Л.
Технологии проектирования баз данных / Д. Л. Осипов. – Москва : ДМК Пресс,
2019. – 498 с. – Текст : электронный // Лань : электронно-библиотечная система. –
URL: https://e.lanbook.com/book/131692)
20

21.

21

22.

22

23.

ПРАВИЛА ФОРМИРОВАНИЯ
ОТНОШЕНИЙ ПРИ ПРОЕКТИРОВАНИИ
БД МЕТОДОМ «СУЩНОСТЬ-СВЯЗЬ»
23

24.

Сущность - объект, информация о котором хранится в БД.
Экземпляры сущности отличаются друг от друга и
однозначно идентифицируются. Названиями сущностей
являются, как правило, существительные, например:
ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУППА.
Атрибут представляет собой свойство сущности (понятие
аналогично понятию атрибута в отношении). Атрибуты
сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия,
Должность, Стаж (преподавательский) и т. д.
Ключ сущности - атрибут или набор атрибутов,
используемый для идентификации экземпляра сущности.
(Понятие ключа сущности аналогично понятию ключа
отношения).
Связь двух или более сущностей - предполагает
зависимость между атрибутами этих сущностей. (Название
связи обычно представляется глаголом. Примерами связей
между сущностями являются следующие: ПРЕПОДАВАТЕЛЬ
ВЕДЕТ ДИСЦИПЛИНУ).
24

25.

Диаграмма ER-типа для сущностей ПРЕПОДАВАТЕЛЬ и
ДИСЦИПЛИНА со связью ВЕДЕТ
25
• На диаграмме обязательное участие в связи экземпляров сущности
отмечено блоком с точкой внутри, смежным с блоком этой
сущности.
• При необязательном участии экземпляров сущности в связи
дополнительный блок к блоку сущности не пристраивается, а точка
размещается на линии связи
• Символы на линии связи указывают на степень связи.

26.

Степень связи является характеристикой связи между
сущностями, которая может быть типа: 1:1,1:М, М:1, М:М
Класс принадлежности (КП) сущности может быть:
обязательным и необязательным.
Класс принадлежности сущности является обязательным,
если все экземпляры этой сущности обязательно
участвуют в рассматриваемой связи,
в противном случае класс принадлежности сущности
является необязательным.
26

27.

Диаграмма ER-экземпляров для сущностей
ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ
27

28.

Варьируя классом принадлежности сущностей для
каждого из названных типов связи, можно получить
несколько вариантов диаграмм ER-типа.
Пример 1. Связи типа 1:1 и необязательный класс принадлежности
каждый преподаватель ведет не более одной дисциплины, а
каждая дисциплина ведется не более чем одним преподавателем
(степень связи 1:1);
некоторые преподаватели не ведут ни одной дисциплины и
имеются дисциплины, которые не ведет ни один из преподавателей
(класс принадлежности обеих сущностей необязательный).
28

29.

Пример 2. Связи типа 1:1 и обязательный класс
принадлежности.
а) диаграмма ER-’экземпляров
б) диаграмма ER-типов
Каждый преподаватель обязательно ведет одну
дисциплину, и каждая дисциплина обязательно ведется
одним преподавателем.
29

30.

Пример 3. Связи типа 1:М ( О-О, О-Н, Н-О, Н-Н)
Каждый преподаватель может вести несколько дисциплин, но
каждая дисциплина ведется одним преподавателем.
Пример 4. Связи типа М:1 ( О-О, О-Н, Н-О, Н-Н)
Каждый преподаватель может вести одну дисциплину, но
каждую дисциплину могут вести несколько преподавателей.
По четыре варианта класса принадлежности
30

31.

Пример 5. Связи типа 1:М вариант Н-О.
Каждый преподаватель может вести несколько
дисциплин или ни одной, но каждая дисциплина
ведется одним преподавателем
а) диаграмма ER-экземпляров
31

32.

Пример 6. Связи типа М:М.
Каждый преподаватель может вести несколько дисциплин, а
каждая дисциплина может вестись несколькими
преподавателями (4 варианта, отличающиеся классом
принадлежности сущностей).
32

33.

Пример 7. Связи типа М:М и вариант класса принадлежности
О-Н.
Допустим, что каждый преподаватель ведет не менее одной дисциплины, а
дисциплина может вестись более чем одним преподавателем, есть и такие
дисциплины, которые никто не ведет.
а) диаграмма ER-экземпляров
33

34.

Правила формирования отношений основываются на учете
следующего:
степени связи между сущностями (1:1, 1:М, М:1, М:М);
класса принадлежности экземпляров сущностей (обязательный и
необязательный).
Рассмотрим формулировки шести правил формирования отношений
на основе диаграмм ER-типа.
34

35.

Формирование отношений для связи 1:1
35
Правило 1. Если степень бинарной связи 1:1 и класс принадлежности
обеих сущностей обязательный, то формируется одно отношение.
Первичным ключом этого отношения может быть ключ любой из двух
сущностей.
К1, …
К2, …
К1 или К2
C1, C2 - сущности 1 и 2;
Kl, K2 - ключи первой и второй сущности соответственно;
R1 - отношение, сформированное на основе первой
и второй сущностей;
KlvK2,… означает, что ключом сформированного отношения
может быть либо К1, либо К2.

36.

Формирование отношений для связи 1:1
ПРЕПОДАВАТЕЛЬ(НП, ФИО, Стаж, …)
ДИСЦИПЛИНА(КД, Часы, …)
ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА(НП,ФИО,Стаж,КД,Часы)
ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА
НП
ФИО
Стаж
КД
Часы
П1
Иванов И.М.
5
К1
62
П2
Петров М.И.
7
К2
74
ПЗ
Сидоров Н.Г.
10
КЗ
102
П4
Егоров В.В.
5
К4
80
36

37.

Правило 2. Если степень связи 1:1 и класс принадлежности
одной сущности обязательный, а второй - необязательный,
то …..
37
Рассмотрим вариант, в котором класс сущности ПРЕПОДАВАТЕЛЬ
является обязательным, а сущности ДИСЦИПЛИНА - необязательным.

38.

38
ПРЕПОДАВАТЕЛЬ(НП, ФИО, Стаж, КД)
ДИСЦИПЛИНА (КД, Часы)
ПРЕПОДАВАТЕЛЬ
Дисциплина
НП
ФИО
Стаж
КД
П1
Иванов И.М.
5
К1
П2
Петров М.И.
7
К2
ПЗ
Сидоров Н.Г.
10
КЗ
КД
К1
К2
КЗ
К4
Часы
62
74
102
80

39.

Диаграмма и отношения для правила 2
39

40.

40
Правило 2. Если степень связи 1:1 и класс принадлежности одной
сущности обязательный, а второй - необязательный,
то под каждую из сущностей формируется по отношению с первичными
ключами, являющимися ключами соответствующих сущностей.
Далее к отношению, сущность которого имеет обязательный КП,
добавляется в качестве атрибута (внешнего ключа) первичный ключ
сущности с необязательным КП.

41.

Правило 3. Если степень связи 1:1 и класс принадлежности обеих
сущностей является необязательным, то ….
41

42.

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

43.

Формирование отношений для связи 1:М
43
Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс
принадлежности М-связной сущности обязательный, то …..
Каждый преподаватель может вести несколько дисциплин или ни одной, но каждая
дисциплина ведется одним преподавателем

44.

Имеются экземпляры сущности с пустыми полями (преподаватель не ведет дисциплины),
избыточное дублирование данных (повторяется стаж преподавателя) со сведениями о
преподавателях, ведущих несколько дисциплин.
НП
ФИО
Стаж
КД
Часы
П1
Иванов И.М.
5
К1
62
П1
Иванов И.М.
5
К2
74
П2
Петров М.И.
7
К4
80
П3
Сидоров Н.Г.
10
К5
96
П3
Сидоров Н.Г.
10
Кб
120
П4
Егоров В.В.
5
КЗ
102
П4
Егоров В.В.
5
К7
89
П5
Козлов А.С.
8


44

45.

ПРЕПОДАВАТЕЛЬ
ДИСЦИПЛИНА
45

46.

Диаграмма и отношения для правила 4
46
Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности М-связной
сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из
сущностей).
При этом первичными ключами этих отношений являются ключи их сущностей.
Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение,
соответствующее М-связной сущности.
К2,...
К1,…
К2,…
К1,…, К2

47.

Правило 5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности
является необязательным, то …..
47
Пусть класс принадлежности 1-связной сущности также необязательный, хотя это и не
принципиально, так как определяющим является класс принадлежности М-связной сущности.
НП
П1
П1
П2

ПЗ
П4
П4
П5
ФИО
ИвановИ.М.
ИвановИ.М.
ПетровМ.И.

Сидоров Н.Г.
Егоров В. В.
Егоров В. В.
Козлов А.С.
Стаж
5
5
7

10
5
5
8
КД
К1
К2
К4
К5
Кб
КЗ
К7

Часы
62
74
80
96
120
102
89

1.
Имеются пустые поля в кортежах,
которые содержат следующее:
a)
данные о преподавателях,
ведущих дисциплин;
b)
данные о дисциплинах, которые не
ведутся преподавателями.
не
2. Избыточное дублирование данных о
преподавателях, ведущих более одной
дисциплины.

48.

С приведенным отношением связаны следующие
проблемы:
1.
Имеются пустые поля в кортежах, которые содержат следующее:
a)
данные о преподавателях, не ведущих дисциплин;
b)
данные о дисциплинах, которые не ведутся преподавателями.
2. Избыточное дублирование данных о преподавателях, ведущих более одной
дисциплины.
48

49.

49

50.

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

51.

Формирование отношений для связи М:М
Правило 6. Если степень связи М:М, то …..
51

52.

Отношения, полученные по правилу 6
52

53.

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

54.

Пример проектирования БД учебной части (на основе сформулированных
правил)
ФИО – фамилия и инициалы преподавателя (возможность совпадения
фамилии и инициалов у преподавателей исключена).
Должн – должность, занимаемая преподавателем.
Оклад – оклад преподавателя.
Стаж – преподавательский стаж.
Д_Стаж – надбавка за стаж.
Каф – номер кафедры, на которой работает преподаватель.
Предм – название дисциплины (предмета), ведомой преподавателем.
Группа – номер группы, в которой преподаватель проводит занятия.
ВидЗан – вид занятий, проводимых преподавателем в учебной группе
(преподаватель в одной группе ведет только ОДИН ВИД занятий).
54

55.

Первый этап проектирования – выделение сущностей и
связей между ними
Выделим следующие сущности:
ПРЕПОДАВАТЕЛЬ (ФИО, ….),
ЗАНЯТИЕ (Группа, Предм, ….),
СТАЖ (Стаж),
ДОЛЖНОСТЬ (Должн, ….).
Выделим связи между сущностями:
ПРЕПОДАВАТЕЛЬ ИМЕЕТ СТАЖ,
ПРЕПОДАВАТЕЛЬ ВЕДЕТ ЗАНЯТИЕ,
ПРЕПОДАВАТЕЛЬ ЗАНИМАЕТ ДОЛЖНОСТЬ.
55

56.

Второй этап проектирования – построение ER-диаграммы с
учетом всех сущностей и связей между ними.
Связь ИМЕЕТ является связью типа М:1, т. к. одинаковый стаж могут иметь несколько
преподавателей.
Сущность ПРЕПОДАВАТЕЛЬ имеет обязательный класс принадлежности, поскольку
каждый преподаватель имеет свой стаж.
Сущность СТАЖ имеет необязательный класс принадлежности, так как возможны
такие значения стажа, которые не имеет ни один из преподавателей.
56

57.

Второй этап проектирования – построение диаграммы ER-типа с
учетом всех сущностей и связей между ними.
57
Связь ВЕДЕТ имеет тип М:М, так как преподаватель может вести несколько занятий, а
каждое занятие может проводиться несколькими Преподавателями.
Обе сущности в данной связи имеют класс принадлежности обязательный, в
предположении, что нет преподавателей, которые не проводят занятий, и нет занятий,
которые не обеспечены преподавателями.

58.

Второй этап проектирования – построение диаграммы ER-типа с
учетом всех сущностей и связей между ними.
58
Связь 3АНИМАЕТ имеет тип М:1, так как каждый преподаватель занимает
определенную должность и одинаковые должности могут занимать несколько
преподавателей.
Сущность ПРЕПОДАВАТЕЛЬ имеет обязательный класс принадлежности, так как
предполагаем, что каждый преподаватель занимает должность.
Сущность ДОЛЖНОСТЬ имеет необязательный класс принадлежности, так как не
исключаем, например, отсутствие должности профессора на кафедре, а значит, и
преподавателя, который ее занимает.

59.

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

60.

Связь ИМЕЕТ удовлетворяет условиям правила 4, в соответствии с которым
получаем два отношения:
1)
ПРЕПОДАВАТЕЛЬ (ФИО, …, Стаж,...) – добавился атрибут Стаж;
2)
СТАЖ (Стаж, ...).
60

61.

61
Связь ВЕДЕТ удовлетворяет условиям правила 6, в соответствии с которым получаем три
отношения:
1)
ПРЕПОДАВАТЕЛЬ (ФИО, …, Стаж,...);
2)
ЗАНЯТИЕ (Группа, Предм, ...);
3)
ПРЕПОДАВАТЕЛЬ_ЗАНЯТИЕ (ФИО, Группа, Предм, ...).
Занятие может быть лекционным или практическим, проводимым преподавателем в учебной
группе по одной из дисциплин.
Между сущностями ЗАНЯТИЕ и ПРЕПОДАВАТЕЛЬ_ЗАНЯТИЕ связь 1:1 (О-О).
По правилу 1 эта связь реализуется через одно отношение.

62.

62
Связь ЗАНИМАЕТ аналогично связи ИМЕЕТ удовлетворяет условиям
правила 4, поэтому имеем следующие два отношения:
1) ПРЕПОДАВАТЕЛЬ (ФИО, Стаж, Должн,...) добавился атрибут Должн;
2) ДОЛЖНОСТЬ (Должн,...).

63.

На третьем этапе проектирования – добавление неключевых атрибутов,
которые не были выбраны в качестве ключевых раньше, и назначение их
одному из предварительных отношений с тем условием, чтобы отношения
отвечали требованиям 3НФ.
ПРЕПОДАВАТЕЛЬ (ФИО, Стаж, Должн, Каф),
СТАЖ (Стаж, Д_Стаж),
ПРЕПОДАВАТЕЛЬ_ЗАНЯТИЕ(ФИО, Группа, Предм, ВидЗан).
ДОЛЖНОСТЬ (Должн, Оклад).
63

64.

Этапы проектирования
Процесс проектирования базы данных является итерационным - допускающим
возврат к предыдущим этапам для пересмотра ранее принятых решений и
включает следующие этапы:
1.
Выделение сущностей и связей между ними.
2.
Построение диаграмм ER-типа с учетом всех сущностей и их связей.
3.
Формирование набора предварительных отношений с указанием
предполагаемого первичного ключа для каждого отношения и
использованием диаграмм ER-типа.
4.
Добавление неключевых атрибутов в отношения.
5.
Приведение предварительных отношений к 3НФ.
6.
Пересмотр ER-диаграмм в следующих случаях:
некоторые отношения не приводятся к 3НФ;
некоторым атрибутам не находится логически обоснованных мест в
предварительных отношениях.
7.
После преобразования ER-диаграмм осуществляется повторное выполнение
предыдущих этапов проектирования (возврат к этапу 1).
64

65.

Задача 1
Предметная область
Шахматисты играют партии в рамках турниров, проводимых
организаторами.
Сущности
Шахматист – ФИО, пол, возраст.
Партия – игравший белыми, игравший черными, результат игры.
Турнир – название, сроки.
Организатор – название, адрес.
Связи
В турнире участвуют несколько шахматистов.
Шахматист может участвовать в нескольких турнирах.
У турнира может быть много организаторов.
Организатор может организовать много турниров.
65

66.

Задача 2
Сущности
• Автомобиль – марка, год выпуска, цвет.
• Автосалон – адрес, телефон.
• Директор автосалона – ФИО.
Связи
• Автосалон продает много автомобилей. Автомобиль продается
только в одном салоне.
• У автосалона есть директор, который может быть директором
нескольких автосалонов.
66

67.

Задача 3
Сущности
Футболисты играют клубах, участвуя в матчах чемпионатов.
У клуба есть президент, фан-клубы и спонсоры.
Спонсоры делают пожертвования в пользу клуба.
Фан-клуб состоит из фанатов.
Во время чемпионата клубы могут производить трансфер футболистов в другой клуб.
67
Связи
В клубе играет несколько футболистов. Футболист играет в точности за один клуб.
В чемпионате принимает участие несколько команд. Команда может принимать участие в
нескольких чемпионатах.
У клуба может быть несколько фан-клубов. Фан-клуб болеет в точности за один футбольный клуб.
Фан-клуб включает в себя несколько фанатов. Фанат может состоять в нескольких фанклубах.
У клуба может быть несколько спонсоров. Спонсор может делать пожертвования для нескольких
клубов.
У клуба не более одного президента. Один и тот же человек может являться президентом
нескольких клубов.
English     Русский Rules