Расширение реляционной модели для лучшего отражения семантики

Типы сущностей


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

В любой базе данных RM/T для каждого типа сущности имеется некоторое унарное отношение (называемое E-отношением). Принято давать этому отношению такое же имя, как и у типа сущности, который оно представляет, в то время как имя его единственного атрибута образуется из имени отношения путем добавления к нему в конце символа "". Такому атрибуту даются также дополнительные имена (псевдонимы), если соответствующий тип сущности является подтипом других типов сущности. В таком случае имеется один псевдоним для каждого типа суперсущности, и этот псевдоним состоит из имени отношения этого супертипа, за которым следует символ "".

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

Вероятность измененния типа или типов сущности означает, что мы должны различать две цели удаления суррогата сущности из E-отношения:

  1. полное удаление сущности из базы данных, что означает удаление всех тех кортежей, в которых ее суррогат появляется в роли уникального идентификатора кортежа, и замещение всех других вхождений специальным суррогатом E-null, который означает "сущность неизвестна" [26];
  2. динамическая утрата одного типа для сущности, сопровождающаяся "выживанием" некоторого другого типа для той же самой сущности, что означает:
    1. удаление ее суррогата из E-отношения для этого типа и из E-отношений некоторых других типов, подразумеваемых утрачиваемым типом, но не подразумеваемых остающимися типами – это станет ясно позже;
    2. и, кроме того, удаление соответствующих кортежей и замена суррогатов, как это указывалось в (1), за исключением тех, которые ассоциируются с данной сущностью в оставшихся ее типах.

Правило 3 (целостность сущностей в RM/T): В соответствии с основными правилами для суррогатов, для E-отношений допустимы вставки и удаления, но не обновления. Согласно правилу 1 для базисной реляционной модели, в E-отношениях не допускаются неопределенные значения.



Содержание раздела