Сущности

advertisement
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Основные элементы:
• Сущности
–Атрибуты
–Ключи
• Связи
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Сущность любой различимый объект
(объект, который мы можем отличить
от другого) (люди, места, предметы,
события, вкус, цвет).
Пример: автомобиль
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Необходимо различать такие понятия,
как тип сущности и экземпляр
сущности.
Тип сущности- автомобиль.
Экземпляр сущности - автомобиль
BMW 730d р061уо
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
К.Дейт определяет три основные класса
сущностей:
– Стержневая сущность (стержень)
– Характеристическая сущность
(характеристика)
– Обозначающая сущность или
обозначение (кодовая сущность)
– Ассоциативная сущность (ассоциация)
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Стержневая сущность (стержень)
Человек
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Характеристическая сущность
(характеристика)
Паспорт
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Обозначающая сущность или
обозначение (кодовая сущность)
Пол
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Ассоциативная сущность (ассоциация)
Регистрация брака
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Атрибут поименованная характеристика сущности.
Его наименование должно быть уникальным для конкретного
типа сущности, но может быть одинаковым для различного
типа сущностей
Пример: Цвет, марка и т.д.
Атрибуты используются для определения того, какая
информация должна быть собрана о сущности.
Здесь также существует различие между типом и
экземпляром.
Вопрос внести атрибут в состав сущности или выделить в
отдельную характеристическую сущность - очень творческий.
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ)
Ключ
минимальный набор атрибутов, по значениям которых можно
однозначно найти требуемый экземпляр сущности
Пример: регистрационный номер
Суррогатный или эрзац-ключ
Один – к – одному
Один – ко – многим
Многие – ко – многим
12
Между сущностями может быть несколько связей
В одной связи может участвовать несколько
сущностей
13
СУЩНОСТЬ - СВЯЗЬ
Стержневая
сущность
независимая сущность.
(стержень)
–
это
СУЩНОСТЬ - СВЯЗЬ
Ассоциативная сущность (ассоциация) – это
связь вида "многие-ко-многим" между
двумя или более сущностями или
экземплярами сущности. Ассоциации
рассматриваются как полноправные
сущности: они могут участвовать в других
ассоциациях и обозначениях точно так же,
как стержневые сущности; могут обладать
свойствами, т.е. иметь не только набор
ключевых атрибутов, необходимых для
указания связей, но и любое число других
атрибутов, характеризующих связь.
СУЩНОСТЬ - СВЯЗЬ
Характеристическая сущность
(характеристика) – это связь вида "многие-
к-одной" или "одна-к-одной" между двумя
сущностями (частный случай ассоциации).
СУЩНОСТЬ - СВЯЗЬ
Обозначающая сущность (обозначение) –
это связь вида "многие-к-одной" или "однак-одной" между двумя сущностями и
отличается от характеристики тем, что не
зависит от обозначаемой сущности.
СУЩНОСТЬ - СВЯЗЬ
Атрибут 1
Атрибут 2
Отношение X
Атрибут 3
Атрибут 4
Отношение Y
Атрибут 5
Атрибут 6
Атрибут 7
Прямые связи
Отношение X
Атрибут 4
Отношение Y
СУЩНОСТЬ - СВЯЗЬ
Прямые связи
Отношение X
Атрибут
Отношение Y
Косвенные связи
Отношение X
Атрибут A
Общий
Отношение Y
Атрибут B
объект
Связи по месту и времени
Отношение X
Общее место действия
Отношение Y
Общий интервал дат
Первичный ключ – внешний ключ
ОСНОВНЫЕ СТРАТЕГИИ ПОДДЕРЖАНИЯ
ССЫЛОЧНОЙ ЦЕЛОСТНОСТИ
RESTRICT (ОГРАНИЧИТЬ) - не разрешать выполнение операции, приводящей
к нарушению ссылочной целостности.
CASCADE (КАСКАДНОЕ ИЗМЕНЕНИЕ) - разрешить выполнение требуемой
операции, но внести при этом необходимые изменения в связанных таблицах
так, чтобы не допустить нарушения ссылочной целостности и сохранить все
имеющиеся связи. Изменение начинается в родительской таблице и каскадно
выполняется в дочерних таблицах. В реализации этой стратегии имеется одна
тонкость, заключающаяся в том, что дочерние таблицы сами могут быть
родительскими для некоторых третьих таблиц. При этом может дополнительно
потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если
при этом какая-либо из каскадных операций (любого уровня) не может быть
выполнена, то необходимо отказаться от первоначальной операции и вернуть
базу данных в исходное состояние. Это сложная стратегия, но она не нарушает
связей между родительскими и дочерними таблицами.
Эти стратегии являются стандартными и присутствуют во всех СУБД, в которых
имеется поддержка ссылочной целостности.
ДОПОЛНИТЕЛЬНЫЕ СТРАТЕГИИ
ПОДДЕРЖАНИЯ ССЫЛОЧНОЙ ЦЕЛОСТНОСТИ
IGNORE (ИГНОРИРОВАТЬ) - разрешить выполнять операцию без проверки
ссылочной целостности. В этом случае в дочерней таблице могут появляться
некорректные значения внешних ключей, вся ответственность за целостность базы
данных ложится на программиста или пользователя.
SET NULL (ЗАДАТЬ ЗНАЧЕНИЕ NULL) - разрешить выполнение требуемой операции,
но все возникающие некорректные значения внешних ключей изменять на nullзначения. Эта стратегия имеет два недостатка. Во-первых, для нее требуется
разрешение на использование null-значений. Во-вторых, записи дочерней таблицы
теряют связь с записями родительской таблицы. Установить, с какой записью
родительской таблицы были связаны измененные записи дочерней таблицы, после
выполнения операции уже нельзя.
SET DEFAULT (ЗАДАТЬ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ) - разрешить выполнение
требуемой операции, но все возникающие некорректные значения внешних ключей
изменять на некоторое значение, принятое по умолчанию. Достоинство этой
стратегии по сравнению с предыдущей в том, что она позволяет не пользоваться
null-значениями. Установить, с какими записями родительской таблицы были
связаны измененные записи дочерней таблицы, после выполнения такой операции
тоже нельзя.
Нотации. Сущности.
23
Нотации. Связи.
24
25
Download