Пример сильной и слабой сущности типов
Я пытался найти в Google подходящее объяснение слабого и сильного типа сущности, но я не до конца их понял.
Может ли кто-нибудь дать мне пример сильного и слабого типа сущности?
12 ответов
Слабая сущность - это та, которая может существовать, только если принадлежит другой. Например: КОМНАТА может существовать только в ЗДАНИИ. С другой стороны, шина может рассматриваться как сильная организация, поскольку она также может существовать без привязки к CAR.
Просто чтобы поиграть с этим, вопрос сильный тип сущности, а ответ слабый. Вопрос всегда есть, но ответ требует, чтобы вопрос существовал.
Пример: не спрашивайте "почему?" если твой папа профессор химии
Слабый объект - это объект, который не может быть полностью идентифицирован своими собственными атрибутами и принимает внешний ключ в качестве атрибута (обычно он принимает первичный ключ объекта, с которым он связан) в сочетании.
Примеры
Наличие номеров полностью зависит от существования отеля. Так что номер можно рассматривать как слабую сущность отеля.
Другим примером является
банковский счет конкретного банка не существует, если банк больше не существует.
Страховой полис компании страхует работника и любых иждивенцев, ЗАВИСИМЫЙ не может существовать без РАБОТНИКА; то есть человек не может получить страховое покрытие в качестве иждивенца, если он не является иждивенцем сотрудника. ЗАВИСИМОСТЬ является слабым субъектом в отношениях "У РАБОТОДАТЕЛЯ есть ЗАВИСИМЫЙ"
Сильная сущность
Он может существовать без какой-либо другой сущности.
пример
Customer(customerid, name, surname)
Слабая сущность
Это зависит от доминирующей сущности и не может существовать без сильной сущности.
пример
Adress(addressid, adressName, customerid)
Слабая сущность существует для решения проблемы многозначных атрибутов.
Существует два типа многозначных атрибутов. Одним из них является просто множество значений для таких объектов, как "хобби", как атрибута для ученика. У студента может быть много разных увлечений. Если мы оставим хобби в наборе студенческих сущностей, "хобби" больше не будет уникальным. Мы создаем отдельную сущность как хобби. Затем мы связываем хобби и ученика по мере необходимости. Набор хобби-сущностей теперь является ассоциативным множеством сущностей. Что касается того, слаб он или нет, нам нужно проверить, достаточно ли у каждого объекта уникальных идентификаторов для его идентификации. Во многих отношениях, имя хобби может быть достаточно, чтобы идентифицировать его.
Другой тип проблемы многозначных атрибутов нуждается в слабой сущности, чтобы ее исправить. Допустим, объект сущности установлен в системе продуктовых запасов. Является ли предмет категорией или фактически предметом? Это важный вопрос, потому что клиент может купить один и тот же товар за один раз и на определенную сумму, но он также может купить один и тот же товар в другое время за другое количество. Вы можете увидеть это один и тот же предмет, но из разных предметов. Элемент теперь является многозначным атрибутом. Мы решаем это, сначала отделяя элемент категории от фактического элемента. Два теперь разные наборы сущностей. Элемент категории имеет описательные атрибуты элемента, как и элемент, о котором вы обычно думаете. Фактический элемент больше не может иметь описательные атрибуты, потому что у нас не может быть избыточной проблемы. Фактический элемент может иметь только дату, время и количество элемента. Вы можете связать их, как вам нужно. Теперь давайте поговорим о том, является ли один слабым субъектом другого. Описательных атрибутов более чем достаточно для идентификации каждого объекта в наборе объектов элемента категории. Фактический элемент имеет только дату и время. Даже если мы извлечем все атрибуты в записи, мы все равно не сможем идентифицировать сущность. Думайте об этом только время и количество. Фактический набор сущностей элементов является слабым набором сущностей. Мы идентифицируем каждую сущность в наборе с помощью дубликата простого ключа из набора сущностей элементов категории.
./Database/DataModels/RelationalDataModel/WeakEntity
Это, вероятно, может быть записано в двух факторах:
- ЗАВИСИМОСТЬ: Зависит от наличия идентифицирующего набора сущностей (всего, отношение один-ко-многим).
- ИДЕНТИФИКАЦИЯ: не имеет первичного ключа. У него есть частичный ключ (или дискриминатор). Для идентификации необходимо использовать первичный ключ другой таблицы.
Если бы мы думали о базе данных, содержащей вопросы и ответы, тогда вопросы были бы сильной сущностью, а ответы были бы слабой сущностью. Таким образом, вопрос (идентификатор, текст) и ответ (номер, вопрос_ид, текст) будут нашими таблицами. Но почему таблица Ответчика является слабой сущностью?
Зависимость от таблицы вопросов. Каждый ответ связан с одним вопросом (предположением) и поэтому не может быть сам по себе. Вот почему у нас есть люди, которые задают один вопрос и сами отвечают на него, чтобы они могли помочь другим людям и получить дополнительные симпатии.
Идентификация по первичному ключу вопроса. Невозможно определить ответ (при условии, что его идентификатор является числовым идентификатором), поскольку на вопрос могут отвечать ответы, идентификатор которых может существовать и в других вопросах. Первичный ключ таблицы ответов: (номер, вопрос_ид).
Слабые сущности также называют зависимыми сущностями, поскольку их существование зависит от других сущностей. Такие объекты представлены двойным контурным прямоугольником на диаграмме ER.
Сильные лица также называют независимыми.
После просмотра поисковых систем в течение нескольких часов я наткнулся на сайт с отличным примером ERD: http://www.exploredatabase.com/2016/07/description-about-weak-entity-sets-in-DBMS.html
Я воссоздал ERD. К сожалению, они не указали первичный ключ слабого объекта.
Если бы в здании могла быть только одна и только одна квартира, то, похоже, номер комнаты частичного дискриминатора не был бы создан (т.е. отброшен).
Слабый тип объекта: объект, чьи экземпляры не могут выйти без связи с экземплярами какого-либо другого объекта, называется слабым типом объекта. Он не может существовать независимо. Например: наш ПК зависит от нас, он не будет открываться или закрываться самостоятельно.
Сильный тип объекта: объект, связанный с экземплярами любого другого типа объекта, называется типом сильного объекта. Может выйти самостоятельно. Например: человек может делать все, может ходить везде и использовать что-либо
Первые сильные / слабые ссылочные типы введены в ARC. В Non ARC назначаются / сохраняются. Сильная ссылка означает, что вы хотите "владеть" объектом, на который вы ссылаетесь, с помощью этого свойства / переменной. Компилятор позаботится о том, чтобы любой объект, который вы назначаете этому свойству, не был уничтожен, если вы указали на него со строгой ссылкой. Только когда вы установите свойство равным nil, объект будет уничтожен.
Слабая ссылка означает, что вы указываете, что не хотите контролировать время жизни объекта или не хотите "владеть" объектом. Объект, на который вы слабо ссылаетесь, живет только потому, что по крайней мере еще один объект содержит сильную ссылку на него. Если это уже не так, объект уничтожается, и ваше слабое свойство автоматически устанавливается равным нулю. Наиболее частые случаи использования слабых ссылок в iOS - для IBOutlets, Делегатов и т. Д.
Для получения дополнительной информации см.: http://www.informit.com/articles/article.aspx?p=1856389&seqNum=5
Объект данных, который может существовать независимо от существования другого объекта данных, называется Сильным объектом данных.