0

Я новичок в разработке баз данных и стараюсь понять, как лучше использовать внешние ключи. Я знаю, что когда у вас есть отношения 1: m, нам не нужно создавать отношения для отношений; вместо этого мы могли бы добавить внешний ключ к m-стороне отношения (что соответствует первичному ключу на стороне 1), чтобы сохранить ссылочную целостность. Однако мой вопрос: при каких обстоятельствах мы можем сделать то же самое? Можем ли мы сделать то же самое, когда у нас есть отношения от 0..1 до 1 или 1-1? Какова наилучшая практика для такого типа ситуаций, когда ссылочная целостность так же важна, как и вычислительная стоимость?Кардинальность и отношение внешних ключей

+0

с внешним ключом. «Это запись, и через этот внешний ключ этот родитель записи». –

ответ

1

Есть три возможных подхода, когда мы отображающие 1: 1 отношение к реляционной модели:

  1. внешнего ключа подход: Выберите один из отношений, скажем S-и включают в себя внешний ключ в S в первичный ключ Т. лучше выбрать тип объекта с общим участием в R в роли С.

  2. Merged вариант соотношения: альтернативное отображение 1: 1 тип отношений возможно путем слияния два типа сущностей и отношение к одиночный отношение. Это может быть уместно, когда оба участия составляют .

  3. Перекрестная ссылка или параметр отношения соотношения: Третий вариант является создание третьего отношения R с целью перекрестных ссылок на первичных ключах два отношения S и Т, представляющие типы сущностей.

Для получения более подробной информации вы можете посмотреть в этой home.iitj.ac.in/~ramana/ch7-mapping-ER-EER-relations.pdf

+0

Не могли бы вы рассказать о том, что означает «общее участие»? –

+0

«Общее участие» означает, что каждая организация этого набора участвует в отношениях. Напр. «Каждый» Сотрудник должен работать как минимум в одном отделе, но у каждого департамента могут быть или нет сотрудники, работающие на него. В этом субъекте Employee будет иметь Общее участие во взаимоотношениях с юридическим отделом. Также прочитайте это [http: // stackoverflow.ком/вопросы/19781294/Что-разностной-в-нотации-на-общем-участие-и-рекурсивной-связи] – Enigma

0

ограничения внешнего ключа ограничения, а не ссылки. Отношение существует неявно, где разные столбцы представляют один и тот же домен, и их таблицы могут быть объединены с или без внешних ключей. Ограничение просто гарантирует, что значения/сущности, хранящиеся в одном столбце, существуют в другом столбце. Они подходят для использования везде, где отношение зависит от другого, независимо от мощности. Типичным примером использования здесь является подтипирование наборов сущностей.

Основные преимущества ограничений внешнего ключа - это увеличение производительности (сокращение вызовов по проводу, а также время разработки), включенные каскадным обновлением/удалением из одного оператора вместо того, чтобы запрашивать идентификатор перед выполнением нескольких обновлений/удалить заявления, заключенные в транзакцию. Не говоря уже о времени ремонта, если изменения не распространялись должным образом.

0

Отношение M-to-M эквивалентно двум отношениям 1: M. Для этой цели мы не можем назначить первичный ключ из 1 стороны в качестве внешнего ключа для других целей, мы используем среднюю систему, которая разрешает M: M и этот объект типично называется «ассоциация» или объект пересечения. например AM: M отношения между проектом и сотрудником, новый объект средней линии может быть присвоением, поэтому таким образом отношение будет преобразовываться в 1: M, и мы можем назначить внешний ключ easilly

Смежные вопросы