Связи в IDEF1X
Связь один-к-одному
Связь один-к-одному описывается как: кортежу* отношения* А может сопоставляться только один кортеж отношения Б и наоборот. Данная связь создается, если для связанных ключей отношения А и отношения Б определены ограничения первичного ключа и уникальности.
Обычно, связь один-к-одному не используется, потому что большую часть данных, которые связаны таким образом, можно хранить в одном отношении. Этот вид связи можно использовать для следующих целей:
- Изоляция части отношения из соображений безопасности (супер-пупер секретные персональные данные);
- Хранение временных/кратковременных данных, которые в дальнейшем можно легко удалить вместе со всем отношением, не опасаясь за целостность БД;
- Хранения данных, которые относятся только к части отношения.
![]() |
1. Отношение один-к-одному |
*отношение - таблица в базе данных.
Связь один-ко-многим
Связь один-ко-многим описывается как: кортежу отношения А может соответстовать несколько кортежей отношения Б, но каждому кортежу отношения Б может соответствовать только один кортеж из отношения А.
Данный вид связи - это единственно возможная связь отношений в рамках требований приведения модели данных БД к третьей нормальной форме. Физически этот вид связи выглядит так: несколько кортежей из отношения Б ссылаются на один кортеж отношения А.
Так же внешний ключ отношения Б не может принимать значение null - это главное правило, которое определяет направление внешней связи.
![]() |
2. Отношение один-ко-многим |
Связь многие-ко-многие
Связь многие-ко-многим описывается как: кортежу отношения А может соответствовать несколько кортежей отношения Б, и наоборот. Наличие такой связи в модели данных БД говорит об ошибках проектирования.
Такой вид связи устраняется несколькими способами:
- Определяется третье отношение, которое называется отношением соединения, первичный(он же составной) ключ которого состоит из внешних ключей отношений А и Б (см. рисунок 3);
- Пересматриваются все связи отношений.
![]() |
3. Отношение многие-ко-многим |
Комментарии
Отправить комментарий