являются ли факультативность (обязательная, необязательная) и участие (общая, частичная) одинаковыми?

Как я знаю, необязательность означает минимальное количество отношений, которое обозначается как необязательное для необязательного, от обязательного к необязательному, от обязательного к обязательному.

И участие обозначается как жирная линия и нормальная линия.

В Интернете некоторые называют участие как зависимость субъекта от отношений, которые также выглядят как идентифицирующие и неидентифицирующие отношения.

а некоторые называют это минимальным количеством элементов

Каковы правильные определения этих отношений и в чем разница ..

Ответы на вопрос(1)

Решение Вопроса

Давайте начнем с определений и примеров каждого из понятий:

Полное и частичное участие:

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

Medicine полностью участвует вProduce отношения, означающие, чтоMedicine не может существовать, еслиProduced поLaboratory, В отличие отLaboratory может существовать безProducing Medicine - Laboratory частично участвует вProduce relationsip.

Обязательные и необязательные роли:

В отношениях роли могут быть необязательными или обязательными. Это влияет на то, может ли экземпляр отношения существовать без сущности в данной роли. Обязательные роли обозначены сплошной линией связи, необязательные роли обозначены пунктирной линией.

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

В приведенном выше примереPatient МожноPurchase Medicine с или безPrescription,Purchase не может существовать безPatient а такжеMedicine, ноPrescription не является обязательным (в целом, хотя это может потребоваться в определенных случаях).

Выявление отношений / слабой сущности:

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

В этом примереPrescription содержитLineItems которые идентифицированыPrescriptionключ и номер строки. Другими словами,LineItems таблица будет иметь составной ключ(Prescription_ID, Line_Number).

Для примеров неидентифицирующих отношений посмотрите предыдущие примеры. В то время какMedicine полностью участвует вProduce отношения, у него есть своя собственная идентичность (например, суррогатный ключ, хотя я не указал это). Обратите внимание, что суррогатные ключи всегда подразумевают обычные объекты.

Обязательно / необязательно против общего / частичного участия

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

Обязательное частичное участие: см. Выше: ALaboratory может существовать без производства каких-либо лекарств, ноMedicine не может бытьProduced безLaboratory.

Обязательное общее участие: см. Выше:Medicine не может существовать безProducedиLaboratory не можетProduce что-то не указано.

Дополнительное частичное участие: см. Выше: APrescription может существовать безPurchasedиPurchase может существовать безPrescription.

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

НемногоPatients Die неизвестногоCause, ноCause смерти не может существовать безPatient Dying этого

Полное / частичное участие против идентифицирующих / неидентифицирующих отношений

Как я уже говорил, слабые наборы сущностей всегда полностью участвуют в их идентифицирующих отношениях. См. Выше:LineItem должно бытьContained вPrescriptionЭто идентичность и существование зависит от этого. Частичное участие в идентифицирующих отношениях невозможно.

Полное участие не подразумевает идентифицирующие отношения -Medicine не может существовать безProduced поLaboratory ноMedicine идентифицируется своими собственными атрибутами.

Частичное участие в неидентифицирующих отношениях очень распространено. Например,Medicine может существовать безPurchased, а такжеMedicine идентифицируется своими собственными атрибутами.

Обязательные / необязательные или идентифицирующие / неидентифицирующие отношения

Для отношений необычно иметь менее двух обязательных ролей. Идентификационные отношения являются бинарными, поэтому родительские и дочерние роли будут обязательными.Contain отношения междуPrescription а такжеLineItem не может существовать без обеих сущностей.

Дополнительные роли обычно встречаются только в тройных и более высоких отношениях (хотя см. Пример пациентов, умирающих от причин) и не участвуют в идентификации. Альтернативой необязательной роли является отношение в отношении:

ПоворачиваяPurchase в ассоциативную единицу, мы можем иметь его участвовать вFill отношения сPrescription, Чтобы сохранить ту же семантику, что и выше, я указал, чтоPurchase может толькоFill одинPrescription.

Физическое моделирование

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

Однако обычно денормализуют таблицы с одинаковыми первичными ключами, что означает, что отношения «один ко многим» объединяются с таблицей сущностей на многих сторонах:

Отношение физически представлено в виде двух или более ключей сущности в таблице. В этом случае ключи сущности -patient_id а такжеcause_of_death_id оба найдены вPatient Таблица. Многие думают, что линия внешнего ключа представляет отношения, но это происходит из-за того, что модель отношения объекта путают со старой моделью данных сети.

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

Надеюсь, это поможет. Не стесняйтесь задавать вопросы.

 reaanb26 июн. 2016 г., 11:54
Да, слабые субъекты всегда полностью участвуют в их идентифицирующих отношениях, и возможно полное или частичное участие в неидентифицирующих отношениях.
 reaanb26 июн. 2016 г., 15:43
В приведенном выше примере роль члена в отношении обязательна - каждый экземпляр отношения должен включать участника. Тем не менее, члены могут существовать без иждивенцев и, следовательно, не участвовать полностью в отношениях.
 reaanb26 июн. 2016 г., 15:51
Зависимая роль также является обязательной, в то время как иждивенцы участвуют полностью - поэтому эти два понятия не одинаковы.
 upeksha199615 июл. 2016 г., 03:09
Я не могу поблагодарить вас за эту помощь .. Я наконец-то ясно понял концепции .. :) Большое спасибо за усилия, которые вы приложили к нему.
 reaanb06 июл. 2016 г., 20:32
Я переписал и расширил свой ответ примерами. Надеюсь это поможет.
 Phoenix27 сент. 2018 г., 06:03
Замечательное объяснение ..
 upeksha199626 июн. 2016 г., 08:32
Означает ли это, что все идентифицирующие отношения полностью участвуют в отношениях? и может ли быть полное и частичное участие в неидентифицирующих отношениях?
 upeksha199606 июл. 2016 г., 13:42
Прошу прощения за беспокойство ... но я не понимаю суть ... можете ли вы описать выше все шесть возможностей ... (общее, частичное, обязательное, необязательное, идентифицирующее, неидентифицирующее)
 upeksha199606 июл. 2016 г., 15:14
Если организация полностью участвует в отношениях, означает ли это, что она всегда обязательна?
 reaanb04 июл. 2016 г., 11:05
Увидетьstackoverflow.com/questions/38178564/... для примера
 reaanb26 июн. 2016 г., 13:49
Рассмотрим схему медицинской помощи с наборами участников и зависимых лиц. Оба могут иметь свои собственные суррогатные ключи, поэтому они являются обычными (не слабыми) объектами. Между членами и иждивенцами существует отношение 1: 0 или более (не идентифицирующее отношение, поскольку оба типа сущностей имеют свою собственную идентичность). Хотя члены могут существовать независимо, они не будут регистрировать иждивенцев без основного члена, поэтому иждивенцы должны полностью участвовать в отношениях.
 upeksha199626 июн. 2016 г., 13:34
сущность не может существовать без участия в отношениях, значит, это слабая сущность, верно? я имею в виду, могут ли быть неидентифицирующие отношения с полным участием .. можете ли вы привести мне пример ... это слишком запутанно ..
 philipxy26 сент. 2017 г., 00:27
«Медицина полностью участвует в отношениях Производителя, что означает, что Медицина не может существовать, если она не производится Лабораторией». Это не так. (Или, по крайней мере, неясно, если вы имеете в видукортеж не может существовать.) Тотальное участие не подразумевает существование. Здесь вы имеете в виду «Медицина не может существовать, если она не произведена лабораторией»таким образом «Медицина полностью участвует в продуктивных отношениях». Вы можете привести дополнительный пример, не зависящий от существования, например, полное участие типов лекарств, упакованных в бутылки.
 upeksha199606 июл. 2016 г., 15:20
а в примере в stackoverflow.com/questions/38178564/ как показать обязательное частичное участие? Я имею в виду, если опциональность показана пунктирной линией, общее участие показано двойными линиями, а частичное участие - обычной линией ... как показать их вместе?
 upeksha199626 июн. 2016 г., 14:41
но разве это не то, что мы назвали необязательностью ... что опять-таки является полным и частичным участием?

Ваш ответ на вопрос