ER-моделирование
Сущности
Сущности (продолжение)
Связи
Связи (продолжение)
Связи (степень и обязательность)
Связи (степень и обязательность)
Атрибут
Атрибут (продолжение)
ER-модель
Изображение сущностей и связей в ER-модели
Изображение сущностей и связей в ER-модели (продолжение)
Изображение сущностей и связей в ER-модели (продолжение)
Изображение сущностей и связей в ER-модели (продолжение)
Изображение сущностей и связей в ER-модели (неполная категоризация)
Изображение сущностей и связей в ER-модели (полная категоризация)
Качество концептуальной модели
Качество концептуальной модели (продолжение)
Качество концептуальной модели (продолжение)
Качество концептуальной модели (продолжение)
Качество концептуальной модели (продолжение)
Качество концептуальной модели (продолжение)
Качество концептуальной модели (продолжение)
Пример ER-модели «Контроль местоположения вагонов» (нотация IDEF1X)
296.97K
Категория: Базы данныхБазы данных

Базы и банки данных. Раздел 2. Концептуальное моделирование. ER-диаграмма

1.

Дисциплина
«Базы и банки данных»
Маркова Ирина Васильевна,
начальник управления информатизации
[email protected]

2. ER-моделирование

Раздел 2.
Концептуальное моделирование. ER-диаграмма
ER-моделирование
Литература:
1.
2.
Питер Пин-Шен Чен. Модель «сущность-связь» — шаг к единому представлению о
данных. Пер. М.Р. Когаловского. http://citforum.ru/database/classics/chen/.
Маклаков С.В. Моделирование бизнес-процессов с AllFusion Process Modeler – М.:
Диалог-МИФИ, 2008 г.
Основу информационной концептуальной модели составляет модель «сущность-связь»
(«Entity-Relationship») или ER-модель.
Автор: Питер Чен.
ER-диаграмма – метод представления логической структуры БД в графическом виде для
более простого и наглядного отображения основных её компонентов.
Базовые понятия:
сущности (множество однотипных объектов Ei );
кортежи (множество однотипных связей Rj );
атрибуты (свойство объекта или связи Ar ).
2

3. Сущности

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Сущности
Сущность – поименованное множество однотипных объектов (вагон, поезд, дисциплина,
студент и т.д.).
Классификация сущностей:
a)
b)
независимая (родительская);
зависимая (дочерняя);
• характеристическая;
• ассоциативная;
• категориальная;
полная;
неполная.
3

4. Сущности (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Сущности (продолжение)
4

5. Связи

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Связи
Характеристики связей:
степень связи;
класс принадлежности сущности;
тип связи;
атрибут.
5

6. Связи (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Связи (продолжение)
Степень связи (количество экземпляров отношения Rj ):
1:1 («один-к-одному»),
1:m («один-ко-многим»),
m:n («многие-ко-многим»).
Класс принадлежности:
обязательный – если каждый экземпляр типа сущности Ei находится, по крайней мере, в
одном экземпляре отношения Rj ,
необязательный – в противном случае.
Тип связи:
идентифицирующая – обязательная связь, исключающая наличие неопределенных
значений в связующих атрибутах.
неидентифицирующая связь – необязательная связь, не исключающая неопределенных
значений в связующих атрибутах.
6

7. Связи (степень и обязательность)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Связи (степень и обязательность)
7

8. Связи (степень и обязательность)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Связи (степень и обязательность)
8

9. Атрибут

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Атрибут
9

10. Атрибут (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Атрибут (продолжение)
Атрибуты могут быть:
базовыми;
ключевыми.
Ключ – атрибут (набор атрибутов), который используется для идентификации
сущностей из множества однотипных:
предпочтительный (первичный – Primary Key, PK);
остальные (альтернативные – Аlternative Key, AK);
Внешний ключ – атрибут (набор атрибутов) родительской сущности, который мигрирует в
дочернюю сущность и отражает связь (Foreign Key, FK).
10

11. ER-модель

Раздел 2.
Концептуальное моделирование. ER-диаграмма
ER-модель
Таким образом, ER-модель представляет собой множество E1,…,En однотипных сущностей и множества
R1,…,Rm однотипных кортежей, которые в общем случае могут иметь различную степень связности,
именуемую также арностью (бинарность, тернарность и пр.).
11

12. Изображение сущностей и связей в ER-модели

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Изображение сущностей и связей в ER-модели
Независимая сущность:
Сту дент
ID_сту дента
Номер СБ
Фамилия
Имя
Отчество
Дата_рождения
Пол
Зависимая сущность:
Сту дент
ID_сту дента
ID_гру ппы (FK)
Номер СБ
Фамилия
Имя
Отчество
Дата_рождения
Пол
12

13. Изображение сущностей и связей в ER-модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Изображение сущностей и связей в ER-модели (продолжение)
Связь не идентифицирующая, необязательная, not null, степень 1:0,1,m:
Сту дент
ID_сту дента
Гру ппа
ID_гру ппы
Наименование
ID_гру ппы (FK)
Номер СБ
Фамилия
Имя
Отчество
Дата_рождения
Пол
Связь не идентифицирующая, необязательная, null, степень 0,1:0,1,m:
Человек
ID_человека
Отдел
ID_отдела
Наименование
Фамилия
Имя
Отчество
Дата_рождения
Пол
ID_отдела (FK)
13

14. Изображение сущностей и связей в ER-модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Изображение сущностей и связей в ER-модели (продолжение)
Связь идентифицирующая, степень 1,0,m:0,1,m:
14

15. Изображение сущностей и связей в ER-модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Изображение сущностей и связей в ER-модели (продолжение)
Рекурсия:
Связь не идентифицирующая, необязательная, null, степень 0,1:0,1,m:
Сотру дник
ID_сотру дника
Ру ководит.ID_сотру дника (FK)
Фамилия
Имя
Отчество
Дата_рождения
Пол
Связь идентифицирующая, степень 1,0,m:0,1,m:
15

16. Изображение сущностей и связей в ER-модели (неполная категоризация)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Изображение сущностей и связей в ER-модели (неполная категоризация)
Сотру дник
ID_сотру дника
Фамилия
Имя
Отчество
Дата_рождения
Пол
Штатные
ID_сотру дника (FK)
Совместители
ID_сотру дника (FK)
16

17. Изображение сущностей и связей в ER-модели (полная категоризация)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Изображение сущностей и связей в ER-модели (полная категоризация)
Полная категоризация предполагает, что одному экземпляру родовой сущности
обязательно соответствует экземпляр в одном из потомков.
Сотру дник
ID_сотру дника
Фамилия
Имя
Отчество
Дата_рождения
Пол
Штатные
ID_сотру дника (FK)
Совместители
ID_сотру дника (FK)
Совмещение профессий
ID_сотру дника (FK)
Внештатные сотру дники
ID_сотру дника (FK)
17

18. Качество концептуальной модели

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели
Список проверочных вопросов для сущности:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Отражает ли имя сущности суть данного объекта?
Нет ли пересечения с другими сущностями?
Имеются ли хотя бы два атрибута?
Всего атрибутов не более восьми?
Есть ли синонимы/омонимы данной сущности?
Сущность определена полностью?
Есть ли уникальный идентификатор?
Имеется ли хотя бы одна связь?
Существует ли хотя бы одна функция по созданию, поиску, корректировке, удалению,
архивированию и использованию значения сущности?
Ведется ли история изменений?
Имеет ли место соответствие принципам нормализации данных?
Нет ли такой же сущности в другой прикладной системе, возможно, под другим
именем?
Не имеет ли сущность слишком общий смысл?
Достаточен ли уровень обобщения, воплощенный в ней?
18

19. Качество концептуальной модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели (продолжение)
Список проверочных вопросов для подтипа:
1.
2.
3.
4.
5.
6.
Отсутствуют ли пересечения с другими подтипами?
Имеет ли подтип какие-нибудь атрибуты и/или связи?
Имеют ли они все свои собственные уникальные идентификаторы или наследуют
один на всех от супертипа?
Имеется ли исчерпывающий набор подтипов?
Не является ли подтип примером вхождения сущности?
Знаете ли вы какие-нибудь атрибуты, связи и условия, отличающие данный подтип
от других?
19

20. Качество концептуальной модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели (продолжение)
Список проверочных вопросов для атрибута:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Является ли наименование атрибута существительным единственного числа,
отражающим суть обозначаемого атрибутом свойства?
Не включает ли в себя наименование атрибута имя сущности (этого быть не
должно)?
Имеет ли атрибут только одно значение в каждый момент времени?
Отсутствуют ли повторяющиеся значения (или группы)?
Описаны ли формат, длина, допустимые значения, алгоритм получения и т.п.?
Не может ли этот атрибут быть пропущенной сущностью, которая пригодилась бы
для другой прикладной системы (уже существующей или предполагаемой)?
Не может ли он быть пропущенной связью?
Нет ли где-нибудь ссылки на атрибут как на «особенность проекта», которая при
переходе на прикладной уровень должна исчезнуть?
Есть ли необходимость в истории изменений?
Зависит ли его значение только от данной сущности?
Если значение атрибута является обязательным, всегда ли оно известно?
Есть ли необходимость в создании домена для этого и ему подобных атрибутов?
Зависит ли его значение только от какой-то части уникального идентификатора?
Зависит ли его значение от значений некоторых атрибутов, не включенных в
уникальный идентификатор?
20

21. Качество концептуальной модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели (продолжение)
Список проверочных вопросов для связи:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Имеется ли ее описание для каждой участвующей стороны, точно ли оно отражает
содержание связи и вписывается ли в принятый синтаксис?
Участвуют ли в ней только две стороны?
Не является ли связь переносимой?
Заданы ли степень связи и обязательность для каждой стороны?
Допустима ли конструкция связи?
Не относится ли конструкция связи к редко используемым?
Не является ли она избыточной?
Не изменяется ли она с течением времени?
Если связь обязательная, всегда ли она отражает отношение к сущности,
представляющей противоположную сторону?
21

22. Качество концептуальной модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели (продолжение)
Список проверочных вопросов для исключающей связи:
1.
2.
3.
4.
5.
Все ли концы связей, покрываемые исключающей дугой, имеют один и тот же тип
обязательности?
Все ли из них относятся к одной и той же сущности?
Обычно дуги пересекают разветвляющиеся концы - что вы можете сказать о данном
случае?
Связь может покрываться только одной дугой. Так ли это?
Все ли концы связей, покрываемые дугой, входят в уникальный идентификатор?
22

23. Качество концептуальной модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели (продолжение)
Некорректные и недопустимые конструкции:
Редко используются, часто ошибочны следующие виды связи:
1:0,1
1:1
0,1:0,1
Редко используются, т.к. есть зависимости вставки, обновления, удаления:
1:1,m
Редко используются:
1:0,1,m
0,1:0,1,m
0,1:1,m
Редко используются, т.к. есть зависимости вставки, обновления, удаления:
m:n
23

24. Качество концептуальной модели (продолжение)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Качество концептуальной модели (продолжение)
«Бесконечная иерархия»:
«Дуга»:
Исключающие подтипы и включающие супертипы
24

25. Пример ER-модели «Контроль местоположения вагонов» (нотация IDEF1X)

Раздел 2.
Концептуальное моделирование. ER-диаграмма
Пример ER-модели «Контроль местоположения вагонов» (нотация IDEF1X)
Дорога
Сотрудник
Государство
ID дороги
ID сотрудника
ID государства (FK)
наименование
фамилия
имя
отчество
адрес
телефон
дата рождения
место рождения
паспорта
фото
ID начальника (FK)
ID государства
наименование
Станции
Номе р вагона
ID станции
ID дороги (FK)
наименование
ID вагона (FK)
номер вагона
дата номера
Тип вагона
Ре йс
ID рейса
Груз
ID груза (FK)
ID вагона (FK)
ID станции отправления (FK)
дата начала
ID станции назначения (FK)
дата окончания
вес груза
примечание
ID грузополучателя (FK)
ID сотрудника (FK)
ID груза
наименование
Грузополучате ль
ID грузополучателя
наименование
код
ОКПО
адрес
Вагон
ID вагона
заводской номер
дата постройки
дата регистрации
признак порога
пробег
ID типа вагона (FK)
ID собственника (FK)
ID завода изготовителя (FK)
ID депо приписки (FK)
ID станции приписки (FK)
примечание
дата выбывания
ID типа вагона
наименование
грузоподъёмность
длина по осям автосцепки
модель
Завод
ID завода
наименование
адрес
Опе рация
Вид опе раци
ID вида операции
наименование
ID рейса (FK)
ID вида операции (FK)
дата операции
ID станции (FK)
ID дороги сдачи (FK)
индекс поезда
номер поезда
Собстве нник
ID собственника
наименование
25
English     Русский Правила