Сущности и их непосредственные свойства
Мы уже видели, что E-отношение для заданного типа сущностей декларирует существование таких сущностей, которые имеют этот тип. Непосредственные (имеющие единичные значения) свойства некоторого типа сущностей представляются как различным образом именованные атрибуты одного или нескольких определяющих свойства отношений, которые называются P-отношениями. Первичным ключом каждого P-отношения является некоторый E-атрибут, основная функция которого состоит в связывании свойств каждой сущности с декларацией ее существования в E-отношении. Каждый суррогат, появляющийся в этом E-атрибуте, уникально идентифицирует описываемую сущность. Более того, он уникально идентифицирует кортеж, частью которого он является, поскольку свойства имеют единичные значения. Атрибуты P-отношений именуются в соответствии со следующим соглашением: для любого типа сущностей e и любой пары P-отношений для e единственными общими атрибутами этих отношений являются их первичные ключи.
Роль этого E-атрибута заключается в том, что он служит уникальным идентификатором для отношения, в котором он появляется. Мы будем называть эту роль K-ролью. Соответственно, у каждого P-отношения имеется в точности один E-атрибут, который играет K-роль. Каждое отношение может иметь один или более других E-атрибутов, но их роли являются чисто ссылочными, т.е. они играют роль внешнего, а не первичного ключа.
Вставки в P-отношения и удаления из E-отношений регулируются следующим правилом.
Правило 4 (целостность свойств): Кортеж t не может появиться в P-отношении, если в соответствующем E-отношении не декларируется факт существования сущности, которую описывает t. Иными словами, компонент кортежа t, содержащий значение суррогатного первичного ключа, должен входить в соответствующее E-отношение.
Было много споров о том, следует ли представлять все непосредственные свойства данной сущности в одном отношении, определяющем свойства, (одна крайность) или же лучше разбить их на столько бинарных отношений, сколько имеется этих свойств (другая крайность).
Первое мнение согласуется с дисциплиной PJ/NF [11], в то время как второе соответствует подходу минимальных (irreducible) отношений [12, 29]. Нормальные формы (отличные от 1NF) не являются обязательными – они просто служат руководящим принципом для проектирования базы данных. Как первоначальная реляционная модель (RM), так и RM/T оставляют это решение на усмотрение пользователя модели. RM/T (и в меньшей степени RM) предоставляет операции для преобразования одной формы в другую.
Одно из преимуществ использования бинарных P-отношений при определении базы данных заключается в том, что у каждого соответствующего такому отношению свойства имеется имя отношения, имя атрибута и имя домена, и все они могут с успехом использоваться для мнемонических целей. Второе (спорное) преимущество бинарных P-отношений состоит в том, что для добавления в базу данных нового типа свойств достаточно просто добавить еще одно P-отношение. Однако в RM/T это преимущество обеспечивается независимо от того, организованы ли свойства в исключительно в форме бинарных отношений или как n-арные отношения соответствующих степеней.
Рис. 2. Отношения сущностей и свойств
Следует предостеречь читателя от поспешного вывода о том, что бинарные отношения в чем-то превосходят n-арные отношения как примитив представления данных. Даже в случае непосредственных свойств имеются сомнительные декомпозиции. На рис. 2 показана одна организация непосредственных свойств служащих. В этом и подобных ему примерах у нас может возникнуть желание декомпозировать отношения свойств не более, чем на минимальные смысловые единицы. Должны ли, например, компоненты даты – день (Da), месяц (Mo) и год (Yr) представляться в отдельных P-отношениях? Должны ли разделяться компоненты адреса – номер строения (No), название улицы (Street), город (City) и штат (State)? Помимо использования понятия минимальной смысловой единицы может возникнуть желание принять критерий исключения вхождений неопределенных значений вида "свойство неприменимо".
Эта цель часто может достигаться без бинарной атомизации.
Если даже основная схема основывалась бы исключительно на бинарных отношениях (и мы вернемся к этому вопросу в одном из следующих разделов), все равно существовала бы потребность в применении n-арных соединений для получения отношений более высокой степени для того, чтобы определять представления (view), исследовать интеграцию представлений и выражать широкий класс запросов. В случае RM/T наша позиция состоит в том, что минимальная смысловая единица одного человека не обязательно является таковой для другого.
Заметим, что для определения представления, которое инкапсулирует некоторые или все непосредственные свойства типа сущностей в едином n-арном отношении, подходит внешнее естественное соединение (OUTER NATURAL JOIN) всех P-отношений для этого типа по E-атрибутам с K-ролью (см. пример A в подразд. 15.4). Такое подходит для данной цели независимо от того, насколько мелкой или крупной будет декомпозиция свойств.
Чтобы пояснить, каким образом P-отношения для заданного типа сущностей связываются с E-отношением для этого типа, мы будем использовать следующие объекты и свойства RM/T. Relname – это представление имени отношения в форме символьной строки. Relname отношения (предположительно, временного), которому еще не ничего присвоено, является неопределенным. У каждого базового отношения имеется relname, отличное от неопределенного. Кроме того, у каждого выводимого отношения, указываемого в левой части какого-либо оператора присваивания, также имеется relname, отличное от неопределенного. Домен relname (сокращенно, – RN-домен) – это домен всех relname в базе данных.
Теперь мы введем графовое отношение свойств (property graph relation, или PG-отношение), которое указывает, какие P-отношения представляют типы свойств, ассоциированных с каждым E-отношением.
Оба атрибута PG-отношения определяются на RN-домене. Один из этих атрибутов имеет имя SUB, указывающее его подчиненную роль, а другой – имя SUP, указывающее его главенствующую роль.Если m, n
являются именами P-отношения и E-отношения соответственно, то пусть выражения p(m), e(n) обозначают тип свойств, представляемый P-отношением, и тип сущностей, представляемый E-отношением соответственно. Пара (SUB:m, SUP:n) принадлежит PG тогда и только тогда, когда p(m) есть тип свойств для типа сущностей e(n).
Можно считать, что совокупность P-отношений для заданного E-отношения составляет молекулярный тип свойств (property molecule type), который связывается воедино кортежами в PG-отношении.