Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Слабые сущности

Читайте также:
  1. IV. сущности и явлении,
  2. О естественной природе и социальной сущности человека
  3. О сущности мира, скрывающейся за его видимой оболочкой.
  4. Подходы к определению сущности деловой активности
  5. Различные подходы к понятию сущности воли в психической жизни человека
  6. Сильные и слабые стороны опросников
  7. Слабые стороны женщины – Гестии

В модели «сущность—связь» определен особый тип сущности, называемый сла­бой сущностью (weak entity). К слабым сущностям относятся такие сущности, которые могут существовать в базе данных только в том случае, если в ней при­сутствует сущность некоторого другого типа. Сущность, не являющаяся слабой, называется сильной сущностью (strong entity).

Чтобы разобраться в том, что такое слабые сущности, рассмотрим базу данных отдела кадров с классами сущностей СОТРУДНИК и ПОДЧИНЕННЫЙ. Предположим, что, в соответствии с деловым регламентом, экземпляр сущности СОТРУДНИКлюз/се/л существовать, не будучи связанным ни с одной сущностью класса ПОДЧИНЕННЫЙ, но сущность ПОДЧИНЕННЫЙ не может существовать вне связи с какой-либо сущностью класса СОТРУДНИК. Тогда сущность ПОДЧИНЕННЫЙ является слабой. Это означает, что данные о сущности ПОДЧИНЕННЫЙ могут появиться в базе дан­ных только в том случае, если эта сущность имеет связь с какой-либо сущностью класса СОТРУДНИК.

Как показано на рис. 3.7, б, слабые сущности обозначаются прямоугольника­ми со скругленными углами. Кроме того, связь, от которой зависит существова­ние сущности, обозначается ромбом со скругленными углами. В качестве альтер­нативы, в некоторых ER-диаграммах (не показано здесь) прямоугольники для слабых сущностей рисуются двойной линией, а связи, от которых зависит суще­ствование этих сущностей, изображаются двойными ромбами.

В модели «сущность—связь» имеется особый тип слабых сущностей, назы­ваемый идентификационно-зависимыми сущностями (ID-dependent entities). Это такие сущности, идентификаторы которых содержат идентификатор другой сущности. Рассмотрим сущности ДОМ и КВАРТИРА. Пусть идентификатором сущ­ности ДОМ является атрибут НазваниеДома, а идентификатором сущности КВАРТИРА является композитный идентификатор {НазваниеДома, НомерКвартиры}. Посколь­ку идентификатор сущности КВАРТИРА содержит в себе идентификатор сущно­сти ДОМ (НазваниеДома), то сущность КВАРТИРА является идентификационно-за-висимой от сущности ДОМ. Сравните рис. 3.7, б с рис. 3.7, а. По-другому можно представить это так, что, как логически, так и физически, квартира не может существовать, если не существует соответствующего здания.

Идентификационно-зависимые сущности встречаются часто. Еще одним примером может служить сущность ВЕРСИЯ в связи с сущностью ПРОДУКТ, где ПРОДУКТ — это некоторый программный продукт, а ВЕРСИЯ — номер его версии. Идентификатором продукта является атрибут НазваниеПродукта, а идентифика­тором версии является совокупность {НазваниеПродукта, НомерВерсии}. Третий пример — это сущность ИЗДАНИЕ в связи с сущностью УЧЕБНИК. Идентификато­ром сущности УЧЕБНИК является атрибут Заглавие, а идентификатором издания является совокупность {Заглавие, ПорядковыйНомерИздания}.

К сожалению, в определении термина слабая сущность есть скрытая неодно­значность, и она по-разному интерпретируется различными проектировщиками баз данных (а также различными авторами книг). Эта неоднозначность заключа­ется в следующем: в строгом смысле, слабая сущность определяется как любая сущность, чье присутствие в базе данных зависит от другой сущности; тогда любая сущность, участвующая в связи минимальной кардинальности 1 с другой сущностью, является слабой. Таким образом, рассматривая базу данных образо­вательного учреждения, можно заключить следующее: если у студента должен быть руководитель, то сущность СТУДЕНТ является слабой, поскольку она не может быть записана в базу данных без связи с какой-либо сущностью класса РУКОВОДИТЕЛЬ. Это толкование, однако, кажется некоторым людям слишком широким. Студент физически не зависит от руководителя (в отличие от случая с квартирой и домом), как не зависит от него и логически (что бы по этому пово­ду ни думали студент и руководитель!), поэтому сущность СТУДЕНТ должна счи­таться сильной сущностью.

Чтобы избежать подобных ситуаций, некоторые интерпретируют определение слабой сущности более ограниченно. Чтобы сущность можно было отнести к разряду слабых, она должна логически зависеть от другой сущности. Согласно данному определению, сущности ПОДЧИНЕННЫЙ и КВАРТИРА должны считаться сла­быми, а сущность СТУДЕНТ — нет. Подчиненный не был бы подчиненным, если бы не находился в подчинении у кого-то, а квартира не может существовать без зда­ния, в котором она могла бы располагаться. Студент же может логически суще­ствовать и без руководителя, даже если деловой регламент этого не допускает.

Чтобы проиллюстрировать эту интерпретацию, рассмотрим несколько при­меров. Пусть модель данных включает в себя связь между сущностями ЗАКАЗ и АГЕНТ (рис. 3.8, а). Хотя можно сказать, что для каждого заказа должен быть указан агент, в действительности это не обязательно (заказ может быть, к приме­ру, продажей за наличные, при которой имя агента не записывается). Следовательно, минимальное кардинальное число, равное 1, проистекает из делового регламента, а не из логической необходимости. Таким образом, сущность ЗАКАЗ, хотя и требует наличия сущности АГЕНТ, не зависит от существования последней, поэтому ЗАКАЗ следует рассматривать как сильную сущность.

Теперь рассмотрим связь между сущностями ПАЦИЕНТ и РЕЦЕПТ, изображен­ную на рис. 3.8, б. Здесь рецепт не может логически существовать без пациента. Следовательно, помимо того, что минимальное кардинальное число сущности РЕЦЕПТ равно 1, эта сущность также зависит от существования сущности ПАЦИЕНТ. Отсюда следует, что РЕЦЕПТ — это слабая сущность. Наконец, рассмотрим сущность

НАЗНАЧЕНИЕ, изображенную на рис. 3.8, в. Идентификатор этой сущности содер­жит идентификатор сущности ПРОЕКТ. Здесь, кроме того, что сущность НАЗНАЧЕНИЕ имеет минимальную кардинальность 1 и зависит от существования сущности ПРОЕКТ, она является еще и идентификационно-зависимой от последней, по­скольку ее ключ содержит ключ сущности ПРОЕКТ. Таким образом, сущность НАЗНАЧЕНИЕ является слабой.

В этой книге мы определяем слабые сущности как логически зависящие от существования другой сущности. Следовательно, не все сущности, имеющие ми­нимальную кардинальность 1 в связи с другой сущностью, являются слабыми. Только логически зависимые сущности квалифицируются нами как слабые. Это определение также подразумевает, что слабыми являются все идентификацион­но-зависимые сущности. Кроме того, любая слабая сущность имеет минималь­ное кардинальное число 1 в связи с сущностью, от которой зависит, но произ­вольно взятая сущность с минимальным кардинальным числом, равным 1, не обязательно должна быть слабой (Здесь не упоминаются случаи, когда минимальная кардинальность оказывается больше единицы. Логика аналогична, но сущность теперь зависит от набора сущностей).


Дата добавления: 2015-07-08; просмотров: 426 | Нарушение авторских прав


Читайте в этой же книге: Выбор версии модели | РЕАЛИЗАЦИЯ НИЗХОДЯЩЕГО ПРОЕКТИРОВАНИЯ БД НА ОСНОВЕ ER-МОДЕЛИ | Типы сущностей | Атрибуты | Представление связей на диаграммах | Атрибуты связей | Показатель кардинальности | Степень участия | ПРИМЕРЫ ER-ПРОЕКТИРОВАНИЯ | Идентификаторы |
<== предыдущая страница | следующая страница ==>
Три типа бинарных связей| Подтипы сущностей

mybiblioteka.su - 2015-2024 год. (0.006 сек.)