Правила порождения ограничений в семантических моделях данных ORM и ermm

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА 2014 Управление, вычислительная техника и информатика № 4

ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

УДК 004.652.8

А.М. Бабанов

ПРАВИЛА ПОРОЖДЕНИЯ ОГРАНИЧЕНИЙ В СЕМАНТИЧЕСКИХ МОДЕЛЯХ ДАННЫХ ОЯМ И ЕЯММ

Сравниваются средства декларативного задания ограничений целостности семантических моделей данных

«Объект - Роль» (ОЯ-модели) [1] и «Сущность - Связь - Отображение» (ЕЯМ-модели) [2]. На конкретных примерах показано, что большинство известных типов ограничений целостности можно выразить с помощью

обобщенных понятий логики и математики, используемых в ЕЯМ-модели.

Ключевые слова: семантическая модель данных; ОЯ-модель; ЕЯМ-модель; ограничения целостности.

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

Из трех компонентов модели данных - правил структуризации данных, правил задания ограничений целостности (ОЦ) и операций над данными - наибольший вклад в решение задачи проектирования полной схемы ПрО вносит аппарат ОЦ. Действительно, многочисленные структурные понятия имеющихся моделей данных являются, по сути, вариациями известных математических форм данных - множество и отношение. А операции над данными для семантических моделей не актуальны (ЕЯММ - исключение), так как физическая реализация БД в этих моделях не предполагается, поскольку нет и вряд ли появятся поддерживающие их СУБД.

О роли ОЦ в задаче фиксации семантики ПрО редко вспоминают, говорят в основном об их участии в решении проблемы поддержания БД в актуальном состоянии. Д. Цикритзис и Ф. Лоховски так определяют назначение ОЦ: «Ограничения вводятся в модели данных в целях повышения их семантич-ности и расширения возможностей поддержания целостности данных. Первый аспект связан с адекватностью отражения реального мира в схеме, а второй - с возможностями СУБД обеспечивать соответствие порождаемых схемой состояний данных требованиям, выражаемым ограничениями» [3].

Именно поэтому представляет интерес современное состояние этого компонента семантических моделей данных. Далее в статье будут представлены возможности задания ОЦ двух наиболее выразительных семантических моделей - ОЯ-модели и ЕЯМ-модели.

1. Классификации ограничений целостности ОЯМ и ЕЯММ

ОЯ-модель признается многими наиболее оснащенной разнообразными средствами определения ОЦ. Халпин в своей модели предлагает следующие разновидности ограничений целостности [1, 4-6]:

- внутренние и внешние ограничения уникальности ролей;

- ограничения обязательности ролей;

- ограничения включающего «или»;

- ограничения исключения;

- ограничения исключающего «или»;

- ограничения сравнения множеств на подмножество, равенство и исключение (указанные выше ограничения могут применяться как к одной роли, так и к группе ролей или всей ассоциации в целом);

- ограничения на специализации;

- ограничения частоты появления объекта в роли;

- кольцевые ограничения;

- ограничения на значения для типов объектов и ролей;

- ограничения на мощности типов объектов и ролей.

Два последних вида ОЦ достаточно просты и традиционны и не будут рассматриваться в дальнейшем.

Особенностью аппарата ограничений целостности модели Халпина является, то, что для любой полезной особенности данных в нем изобретен свой специальный термин и графический примитив, что приводит к громоздкости определения модели и сложности ее применения.

Теперь посмотрим, как обстоят дела с правилами задания ограничений целостности в ЕЯМ-модели.

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

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

Третья группа ограничений целостности определяет количественные характеристики и тип реляционных отображений.

Четвертая группа ограничений целостности определяет количественные характеристики и тип отображений, сопутствующих атрибутным отображениям множеств связей.

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

Шестая группа ограничений целостности определяет взаимоотношения между классами и между отображениями.

Последняя группа ограничений целостности связана со специализациями. Для каждой из них необходимо указать, является она полной или частичной, пересекающейся или непересекающейся, а также определить отображение, которое является основанием деления суперкласса.

Отличительной особенностью аппарата ограничений целостности ЕЯМ-модели является, то, что в ней предлагается ограниченный универсальный набор конструкций, с помощью которых можно представить многие (если не все) законы взаимоотношения данных.

Далее на примерах будет показано, как специализированные виды ОЦ ОЯ-модели представляются с помощью одних и тех же обобщенных понятий ЕЯМ-модели. Из-за лимитированного объема статьи мы ограничимся наиболее важными классами ОЦ модели Халпина и рассмотрим лишь несколько примеров.

2. Ограничения уникальности и обязательности ролей

Внутренние ограничения уникальности указывают, какие роли или комбинации ролей одной ассоциации должны иметь уникальные вхождения. Внешние ограничения уникальности действуют аналогично, но применяются к ролям различных предикатов, концептуально соединенных друг с другом. Линии около прямоугольников ролей изображают внутренние ограничения уникальности (рис. 1).

В ОЯМ-схеме, чтобы перейти от одного предиката к другому, мы должны пройти через тип объекта, выполняя концептуальное соединение на типе объектов. По умолчанию условие соединения состоит в том, что экземпляр объекта остается тем же самым, когда мы проходим через тип объектов. Это называют концептуальным внутренним соединением. Оно подобно реляционному естественному внутреннему соединению, за исключением того, что концептуальные соединения требуют, чтобы концептуальный объект был тем же самым, вместо того чтобы устанавливать соответствие значений атрибутов. Прямоугольники ролей, к которым применяется внешнее ограничение уникальности, присоединяются пунктирами к кружку уникальности, внутри которого указан знак «-» (см. рис. 1).

Ограничение обязательности роли означает, что каждый экземпляр класса, для которого она определена, должен играть эту роль. Роли, для которых отсутствуют такие ограничения, называются необязательными или опциональными. Чтобы указать, что роль является обязательной, мы добавляем точку обязательности роли к линии, которая соединяет роль с ее типом объектов (рис. 1). Эта точка может быть помещена с обоих концов линии роли [1].

Рис. 1. Фрагменты ОЯ-схемы и ЕЯМ-схемы ПрО «Файловая система»

Анализ ОЯ-схемы и ЕЯМ-схемы на рис. 1 позволяет сделать следующие выводы:

- ограничение уникальности эквивалентно утверждению о функциональности отображения (в случае внутреннего ограничения - отображения, определяемого ролью или группой ролей, в случае внешнего ограничения - отображения, обратного отображению-агрегату);

- ограничение обязательности эквивалентно утверждению о полной определенности отображения, определяемого ролью.

3. Ограничения включающего «или», исключения и исключающего «или»

Ограничение включающего «или» указывает, что дизъюнкция двух или более ролей является обязательной. Ограничение исключения запрещает одновременное включение ролей ассоциаций. То есть экстенсионалы этих ролей взаимно исключительны. Можно определить два ограничения одновременно - ограничение обязательности и взаимной исключительности ролей. Оба эти ограничения вместе обеспечивают так называемое ограничение исключающего «или».

Ограничение включающего «или» показывается точкой обязательности, взятой в кружок. Символ «X» в кружке указывает на ограничение исключения. Ограничение исключающего «или» изображается наложением символов исключения и обязательности в кружке и формированием символа, напоминающего спасательный круг (рис. 2). Во всех этих случаях кружок связывается пунктирными линиями с ролями, охватываемыми ограничением [1].

Рис. 2. Фрагменты ОЯ-схемы и ЕЯМ-схемы ПрО «Гараж»

В приведенном на рис. 2 примере наряду с другими ОЦ показано ограничение исключающего «или», декларирующее одновременно два бизнес-правила: «грузовик должен обязательно либо быть куплен, либо взят в аренду» и «нельзя один и тот же грузовик и купить, и взять в аренду одновременно».

В ERM-модели это ограничение выражается с помощью указаний на то, что реальные области определения отображений «was bought on» и «is leased till» не пересекаются (дуга между параллелограммами ролей со знаком в виде вертикальных отрезков) и что объединение этих отображений полностью определено (глобальное минимальное кардинальное число отображения равно 1).

4. Ограничения сравнения множеств

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

Ограничение подмножества задается символом подмножества в кружке на пунктирной стрелке, идущей от роли подмножества к роли супермножества. Ограничение равенства обозначается символом равенства «=», взятым в кружок и связанным пунктирами с релевантными ролями. Символ «х», взятый в кружок, указывает на ограничение исключения между ролями, с которыми кружок соединяется пунктирами [1].

Ограничение исключения между ролями уже показано на рис. 2. Следующий пример (рис. 3) демонстрирует применение ограничения подмножества.

Рис. 3. Фрагменты OR-схемы и ERM-схемы ПрО «Университет»

Как видно из рис. 3, в ERM-модели есть универсальное отношение включения между классами объектов (наряду с ним используются отношения равенства и непересекаемости), в данном случае оно применено к реальным областям определения отображений, которые олицетворяют параллелограммы ролей множества сущностей Department.

На этом же рисунке показана особенность данных, не имеющая прямого отношения к сравнению множеств и вообще к ОЦ. Заштрихованными прямоугольниками ролей в OR-модели показывают так называемые получаемые ассоциации. Дополнительно их прочтение снабжается знаком «*». В примечании справа внизу дается определение этого предиката через логическое выражение, включающее базовые (хранимые) предикаты. В отличие от OR-модели в ERM-модели декларация подобных элементов схемы также представляется в графической нотации с использованием производных отображений, получаемых из других отображений с помощью операций (в примере использована композиция). Построенное таким образом отображение соединяется дугами отношений следствия, эквивалентности (как в данном случае) и несовместности с другими отображениями.

5. Ограничения на специализации

Взаимно-исключительные подтипы показываются в ORM использованием символа исключения «x» в кружке и точечными линиями, идущими от него к релевантным связям подтипов. Отсутствие символа исключения указывает, что экстенсионалы типов могут пересекаться.

Для того чтобы указать, что два или более подтипов являются исчерпывающими для их супертипа (т.е. их объединение равняется супертипу), используется символ ограничения включающего «или» (точка в кружке), который связывается точечными линиями с релевантными связями подтипов.

Если мы комбинируем оба эти ограничения, мы имеем ограничение исключающего «или», указывающее, что супертип разделен на свои подтипы [1].

В БКМ-модели аналогичные ограничения задаются на диаграмме различными графическими примитивами, используемыми для специализации: символ внутри треугольника говорит о пересечении («X») или непересечении («||») подклассов, одинарная граница треугольника обозначает частичное, а двойная - полное участие суперкласса в подклассах (рис. 4).

{W, lF7

Gender

. Л I—! PatientName \

has —

_1=1 I Patient '

—!—TT (-nr) . ___•

•"sof L. I PhoneNr

h3S ^......

{0..}

ProstateStatus

«has

Male Patient»

Female Patient*

has

PregnancyCount

»Each MalePatient is a Patient who is of Gender 'M'. »Each FemalePattent Is a Patient who is of Gender 'F'.

Рис. 4. Фрагменты OR-схемы и ERM-схемы ПрО «Больница»

Этот же рисунок иллюстрирует и другой класс ОЦ - на значения для типов объектов и ролей. Так, практически схожими элементами диаграмм в обеих моделях показываются допустимые значения ('M' и 'F' для Gender), интервалы допустимых значений («0..» для PregnancyCount) типов объектов. Можно также указывать аналогичные ОЦ ролей ('M' для Male) и ('F' для Female).

6. Ограничения частоты появления объекта в роли

«Чтобы указать, что каждое значение в столбце факта должно появиться там точно п раз, число п записывается рядом с ролью. Это пример простого ограничения частоты (также называемого ограничением частоты появления объекта в роли).

Ограничение частоты, которое охватывает две или более ролей типа фактов, - это сложное ограничение частоты. В этом случае мы связываем релевантные роли линией и соединяем частоту с этой связкой ролей пунктиром.

Также могут быть определены диапазоны частот и сравнения их с константами (рис. 5) [1].

Подобные ограничения в БКМ-модели определяются с помощью количественных характеристик отображений. Глобальное минимальное кардинальное число отображения - это наименьшее из кардинальных чисел элементов области определения отображения (ООО). Реальное минимальное кардинальное число отображения - это наименьшее из кардинальных чисел элементов ООО, которые реально имеют образы при этом отображении.

Рис. 5. Фрагменты ОЯ-схемы и ЕЯМ-схемы ПрО «Конференция»

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

7. Кольцевые ограничения

Ограничения целостности этого типа довольно редко встречаются в моделях данных. Пожалуй, никто, кроме Халпина, их не рассматривает. Тем не менее определенный интерес они представляют.

Когда обе роли в бинарном предикате исполняют объекты одного и того же типа, путь от типа объектов через пару ролей и назад к типу объектов формирует кольцо. Если роли играются подтипами с общим супертипом, путь от одного из подтипов через предикат и супертип к самому себе также формирует кольцо. Обычно пару таких ролей формирует бинарный предикат, но они могут также быть частью более длинного предиката или даже могут браться из различных предикатов по пути концептуального соединения. Кольцевые ограничения могут применяться только к таким парам ролей [1].

Халпин рассматривает следующие виды кольцевых ограничений бинарных отношений:

- рефлексивность на экстенсионале;

- полная рефлексивность;

- симметричность;

- транзитивность;

- нерефлексивность;

- асимметричность;

- антисимметричность;

- нетранзитивность;

- ацикличность.

Приведем примеры некоторых из них.

Рассмотрим ПрО, где каждый, кто любит человека, также любим этим человеком. Если это всегда имеет место, мы говорим, что предикат «любит» симметричен (рис. 6) [1].

! ^ Пкеэ (МЛ>—!

Рис. 6. Фрагменты ОЯ-схемы и ЕЯМ-схемы с симметричным кольцевым ограничением

Выражение этого ограничения в ЕЯМ-модели представляет собой «практически дословный» перевод приведенного на рис. 6 логического условия симметричности и показано в правой части рисунка. С помощью отношения следствия между отображениями предиката «любит» мы как раз определяем включение экстенсионала прямого отображения в экстенсионал обратного отображения.

Теперь рассмотрим ПрО, где если один человек любит второго и второй человек любит третьего, то первый человек должен любить третьего. В этом случае мы говорим, что предикат «любит» транзи-тивен (рис. 7) [1].

Рис. 7. Фрагменты ОЯ-схемы и ЕЯМ-схемы с транзитивным кольцевым ограничением

ЕЯМ-диаграмма, приведенная на рис. 7 справа, выражает отношение транзитивности как тот факт, что отображение «любит» является следствием композиции этого отображения с самим собой.

Рассмотрим предикат «являться родителем» (рис. 8). Если мы принимаем первую строку таблицы как истинный факт, мы должны отклонить вторую. Если Энн - родитель Билла, то не может быть верно, что Билл является родителем Энн. Отношение «родитель» асимметрично [1].

Person

is a parent of

о .

asymmetric

£

al а2

ei- -<И-

•Апл Bill

6111 Ann

вш Colin

АПП Colin

R is asymmetric iff for all x. y: xRy » -yRx

Рис. 8. Фрагменты ОЯ-схемы и ЕЯМ-схемы с асимметричным кольцевым ограничением

Как видно на ЕЯМ-диаграмме, приведенной в правой части рисунка, ограничение асимметричности отношения определяется как несовместность отображения «являться родителем» и обратного ему отображения «являться ребенком».

Заключение

Понимая необходимость построения выразительной семантической модели данных, авторы ОЯМ и ЕЯММ справедливо уделяют большое внимание правилам задания ОЦ, с помощью которых в схеме данных декларируются бизнес-правила ПрО. Этот аспект схем данных до сих пор был развит недостаточно, что приводило к неизбежной ручной реализации требуемых бизнес-правил в процедурном виде на языке программирования сервера БД. Если удастся полностью описать ПрО в семантической схеме, можно ставить вопрос об автоматизации преобразования этой схемы в столь же полное описание ПрО на языке СУБД.

Как показывает анализ средств задания ОЦ, проведенный в статье, авторы описанных моделей выбрали разные пути для решения проблемы повышения выразительности схем данных.

Особенностью аппарата ограничений целостности модели Халпина является то, что для любой полезной особенности данных в нем изобретены свои специальный термин и графический примитив, что приводит к громоздкости определения модели и сложности ее применения.

В отличие от ОЯ-модели в ЕЯМ-модели предлагается ограниченный универсальный набор конструкций, с помощью которых можно представить многие (если не все) законы взаимоотношения данных. По крайней мере, все типы ограничений целостности ОЯ-модели можно выразить предлагаемыми в ЕЯМ-модели средствами.

ЛИТЕРАТУРА

1. Halpin T., Morgan T. Information Modeling and Relational Databases. Second Edition. Morgan Kaufman, 2008. 943 p.

2. Бабанов А.М. Семантическая модель «Сущность - Связь - Отображение» // Вестник Томского государственного универси-

тета. Управление, вычислительная техника и информатика. 2007. № 1. С. 77-91.

3. Цикритзис Д., Лоховски Ф. Модели данных : пер. с англ. М. : Финансы и статистика, 1985. 344 с.

4. Halpin T. ORM 2. On the Move to Meaningful Internet Systems, OTM 2005 Workshops // Springer Lecture Notes in Computer Sci-

ence. 2005. V. 3762. P. 676-687.

5. Halpin T., Curland M. Recent Enhancements to ORM. On the Move to Meaningful Internet Systems, OTM 2013 Workshops //

Springer Lecture Notes in Computer Science. 2013. V. 8186. P. 467-476.

6. Halpin T., CurlandM. Enriched Support for Ring Constraints. On the Move to Meaningful Internet Systems, OTM 2011 Workshops

// Springer Lecture Notes in Computer Science. 2011. V. 7046. P. 309-318.

Бабанов Алексей Михайлович, канд. техн. наук, доцент. E-mail: babanov2000@mail.ru

Томский государственный университет Поступила в редакцию 2 июля 2014 г.

Babanov Alexey M. (Tomsk State University, Russian Federation).

Constraint specifications generating rules in semantic models ORM and ERMM.

Keywords: semantic data model; OR-model; ERM-model; integrity constraints.

Any application of database (DB) technology needs DB scheme designing. If an application domain (AD) is complex, its definition in language of the database management system (DBMS) is not easy task. In such cases, designers usually resort to a semantic design technique providing initial formalization of AD information within the framework of a semantic model and its subsequent transformation in DBMS data model.

Widespread semantic models, such as ER and EER, possess insufficiently expressive means of AD semantics description. So, such DB scheme contains only definitions of data structure and declarative integrity constraints, which can be presented in DBMS Data Definition Language. In this case, the designer has to subsequently append the missing elements of DB scheme (views, triggers, etc.) in the language of DB server and then again to analyze AD.

Thus, very important task is entrusted to semantic data models; this is an initial formal presentation of AD information. This task becomes complicated if we want to obtain high-level but complete description of AD semantics.

Among three data model components (structure data rules, integrity constraint (IC) rules, data operations) an IC instruments make an important contribution to solution of the complete AD scheme design task. Although constraint role in semantics fixation task is rare recollected; all people say about their participation in solution of actual DB state support problem. Tsichritzis and Lochovsky define IC purpose in the following way: «Constraints are introduced in data models with a view to enhancement of their semantic expressiveness and to enhancement of data integrity support. The first aspect concerns adequacy of real world reflection in data scheme and the second - ability of DBMS to guarantee correspondence of database states to requirements, expressed by constraints».

Therefore, the modern situation with this component of semantic data models is of interest. In this article, the facilities of integrity constraint declarative definition are analyzed by the examples of two more expressive semantic data models - «Object - Role» (OR-model) and «Entity - Relationship - Mapping» (ERM-model).

Authors of these models understand the necessity of construction of an expressive semantic data model and so they attend to constraint definition rules, with help of which AD business rules are declared in data scheme. Heretofore, this aspect was insufficiently developed and manual realizations of many business rules in DBMS programming language were required. If complete high-level description of AD semantics is a success, a question about an automatization of transformation such schemata to complete DBMS schemata may bring up.

Following OR-constraint classes are the basis of the article's content:

- internal and external role uniqueness constraints,

- mandatory role constraints,

- inclusive-or constraints,

- exclusion constraints,

- exclusive-or constraints,

- set comparison constraints (subset, equality and exclusion),

- subtyping constraints,

- occurrence frequencies constraints,

- ring constraints.

Each IC class is illustrated by example from Halpin's book; the same example is presented in ERM notation. Thus, underlying model principles are clearly demonstrated. Analysis, carried out in article, shows that described model's authors chose different ways to solution of the semantic expressiveness enhancement problem.

Feature of Halpin's model IC instruments is that special term and graphic primitive are contrived for any useful property of data. Model unhandiness and complexity of its use are results of such approach.

Unlike OR-model ERM-model offers limited set of universal constructions, with help of which many (if not all) data relation rules can be presented. At least all kinds of OR-model IC can be expressed by ERM IC tools. The ERM basis is formed by universal concepts of logic and mathematics.

REFERENCES

1. Halpin T., Morgan T. Information Modeling and Relational Databases. Burlington: Morgan Kaufman, 2008. 943 p.

2. Babanov A.M. Semantic Model "Entity - Relationship - Mapping". Tomsk State University Journal of Control and Computer Sci-

ence, 2007, no. 1(1), pp. 77-91. (In Russian).

3. Tsichritzis D., Lochovsky F. Modeli dannykh [Data Models]. Translated from English. Moscow: Finansy i Statistika Publ, 1982.

4. Halpin T. On the Move to Meaningful Internet Systems. OTM 2005 Workshops. Springer Lecture Notes in Computer Science, 2005,

vol. 3762, pp. 676-87.

5. Halpin T., Curland M. Recent Enhancements to ORM. On the Move to Meaningful Internet Systems. OTM 2013 Workshops. Spring-

er Lecture Notes in Computer Science, 2013, vol. 8186, pp. 467-476.

6. Halpin T., Curland M. Enriched Support for Ring Constraints. On the Move to Meaningful Internet Systems. OTM 2011 Workshops.

Springer Lecture Notes in Computer Science, 2011, vol. 7046, pp. 309-318.