Сравнительная таблица
Основа для сравнения | Сильная сущность | Слабая сущность |
---|---|---|
основной | Сильный объект имеет первичный ключ. | Слабый объект имеет частичный ключ дискриминатора. |
Зависит | Сильный объект не зависит от любого другого объекта в схеме. | Слабая сущность зависит от сильной сущности для ее существования. |
Обозначается | Сильная сущность обозначается одним прямоугольником. | Слабая сущность обозначается двойным прямоугольником. |
Связь | Отношение между двумя сильными сущностями обозначается одним алмазом, просто называемым отношением. | Отношения между слабой и сильной сущностью обозначены Идентификационными Отношениями, обозначенными двойным ромбом. |
Участие | Сильный субъект может иметь или не иметь полного участия в отношениях. | Слабая сущность всегда имеет полное участие в идентифицирующих отношениях, показанных двойной линией. |
Определение сильной сущности
Сильная сущность - это та, чье существование не зависит от существования какой-либо другой сущности в схеме. Обозначается одним прямоугольником . Сильная сущность всегда имеет первичный ключ в наборе атрибутов, который описывает сильную сущность. Это указывает на то, что каждый объект в наборе сильных объектов может быть уникально идентифицирован.
Множество похожих типов сильных сущностей вместе образуют набор сильных сущностей . Сильная сущность поддерживает связь со слабой сущностью через Идентифицирующую связь, которая обозначена двойным ромбом на диаграмме ER. С другой стороны, отношения между двумя сильными сущностями обозначаются одним бриллиантом и просто называются отношениями .
Давайте разберемся с этой концепцией на примере; клиент берет кредит. Здесь у нас есть две сущности: первая - клиентская, а вторая - кредитная.
Принимая во внимание приведенную выше ER-диаграмму, для каждого займа должен быть хотя бы один заемщик, в противном случае этот займ не будет указан в наборе сущностей займов. Но даже если клиент не берет займа, он будет указан в наборе сущностей клиента. Таким образом, мы можем сделать вывод, что клиентская организация не зависит от кредитной организации.
Определение слабой сущности
Слабая сущность - это та, которая зависит от ее владельца, то есть сильной сущности для ее существования. Слабая сущность обозначается двойным прямоугольником . Слабый объект не имеет первичного ключа, вместо этого он имеет частичный ключ, который однозначно распознает слабые объекты. Первичный ключ слабого объекта - это составной ключ, сформированный из первичного ключа сильного объекта и частичного ключа слабого объекта .
Коллекция подобных слабых сущностей называется Weak Entity Set . Отношения между слабой сущностью и сильной сущностью всегда обозначаются Идентификационными Отношениями, т.е. двойным ромбом .
Для дальнейшей иллюстрации рассмотрим приведенный выше пример, на этот раз с точки зрения слабой сущности. У нас в качестве слабой организации есть Заем, и, как я сказал выше, для каждого займа должен быть хотя бы один заемщик. В наборе сущностей ссуды можно наблюдать, что ни один клиент не занимал ссуду на покупку автомобиля и, следовательно, он полностью исчез из набора ссуд. Для наличия автокредита в наборе ссудного лица он должен был быть заимствован клиентом. Таким образом, слабая Кредитная организация зависит от сильной Компании-Клиента.
В наборе сущностей Ссуды у нас есть две абсолютно одинаковые сущности, т.е. ипотечный кредит на дату 20/11/2015 на сумму 20000. Теперь, как определить, кто их одолжил, это можно сделать с помощью первичного ключа слабой сущности ( Loan_name + Cust_ID). Таким образом, будет установлено, что один ипотечный кредит заимствован клиентом 101 Jhon, а другой - клиентом 103 Ruby. Вот как составной первичный ключ слабого объекта идентифицирует каждый объект в наборе слабых объектов.
Ключевые различия между сильной и слабой сущностью
- Основное различие между сильной сущностью и слабой сущностью заключается в том, что у сильной сущности есть первичный ключ, тогда как у слабой сущности есть частичный ключ, который действует как дискриминатор между сущностями множества слабых сущностей.
- Слабая сущность всегда зависит от сильной сущности в своем существовании, тогда как сильная сущность не зависит от существования любой другой сущности.
- Сильная сущность обозначена одним прямоугольником, а слабая сущность обозначена двойным прямоугольником .
- Отношения между двумя сильными объектами обозначены одним бриллиантом, тогда как отношения между слабым и сильным субъектом обозначены двойным бриллиантом, называемым Идентификационные отношения .
- Сильный субъект может показывать или не показывать общее участие в своих отношениях, но слабый субъект всегда показывает полное участие в идентифицирующих отношениях, которые обозначены двойной линией.
Заключение:
Каждая сущность в наборе сильных сущностей может быть идентифицирована уникально, так как она имеет первичный ключ, но мы можем или не можем идентифицировать каждую сущность в слабой сущности, так как она не имеет первичного ключа и может содержать избыточные сущности.