Научная статья на тему 'Семантическая идентификация, конфигурирование и моделирование типов сущностей в моделях данных'

Семантическая идентификация, конфигурирование и моделирование типов сущностей в моделях данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
625
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕМАНТИЧЕСКАЯ ИДЕНТИФИКАЦИЯ / SEMANTIC IDENTIFICATION / DPSI-МЕТОД / DPSI-METHOD / МЕТОД СУЩНОСТЬ СВЯЗЬ / ENTITY-RELATIONSHIP METHOD / ФУНКЦИОНАЛЬНЫЕ ЗАВИСИМОСТИ / FUNCTIONAL DEPENDENCES / ОТНОШЕНИЕ / RELATION / НОРМАЛИЗАЦИЯ / NORMALIZATION / ИЗБЫТОЧНОСТЬ СТРУКТУР / STRUCTURAL REDUNDANCY / НАСЛЕДОВАНИЕ / ИЗБЫТОЧНОСТЬ СОСТАВНОГО ПЕРВИЧНОГО КЛЮЧА / COMPLEX PRIMARY KEY REDUNDANCY / ГЕНЕРАЛИЗАЦИЯ / GENERALIZATION / КАРДИНАЛЬНОСТЬ / CARDINALITY / INHERENCY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Родионов Александр Николаевич

Предложена модель-основание для представления типов сущностей в моделях данных. Такая модель включает набор взаимосвязанных объектов, каждый из которых принадлежит одному из классов: Domain (D), Group (G), Pattern (P), Sample (S) или Instance (I). Каждый класс отличает собственное назначение и роль поведение), которые они демонстрируют в моделях данных. Разработан алгоритм синтеза экземпляров таких моделей, использующий двухшаговую процедуру генерализации для получения G-, S-и I-структур и дополнений к ним в виде семантических доменов D-структур и необязательных P-объектов, содержащих характеристики прообразов реальных сущностей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SEMANTIC IDENTIFICATION, CONFIGURATION AND ENTITIES TYPES MODELING FOR THE DATA MODEL ENGINEERING

The configurator model for the entities type mapping into data model has been proposed. Such a model consists of the interdependent objects, each of which belongs to one of the next classes: Domain (D), Group (G), Pattern (P), Sample (S) or Instance (I). Each class is distinguished by the proper assignment and behavior which they demonstrate in a data model. The algorithm for the model instances synthesis has been designed. This algorithm uses the two-step generalization procedure for the deriving of G, S and I-structures and the additions to them in the form of the semantic domains and the optional P-objects which contain the preimages of the real entities.

Текст научной работы на тему «Семантическая идентификация, конфигурирование и моделирование типов сущностей в моделях данных»

УДК 004.4

А. Н. Родионов

Вычислительный центр ДВО РАН ул. Ким Ю Чена, 65, Хабаровск, 6800006 Россия

E-mail: ran@newmail.ru

СЕМАНТИЧЕСКАЯ ИДЕНТИФИКАЦИЯ, КОНФИГУРИРОВАНИЕ И МОДЕЛИРОВАНИЕ ТИПОВ СУЩНОСТЕЙ В МОДЕЛЯХ ДАННЫХ

Предложена модель-основание для представления типов сущностей в моделях данных. Такая модель включает набор взаимосвязанных объектов, каждый из которых принадлежит одному из классов: Domain (D), Group (G), Pattern (P), Sample (S) или Instance (I). Каждый класс отличает собственное назначение и роль поведение), которые они демонстрируют в моделях данных. Разработан алгоритм синтеза экземпляров таких моделей, использующий двух-шаговую процедуру генерализации для получения G-, S- и /-структур и дополнений к ним в виде семантических доменов - D-структур и необязательных P-объектов, содержащих характеристики прообразов реальных сущностей.

Ключевые слова: семантическая идентификация, DPSI-метод, метод сущность - связь, функциональные зависимости, отношение, нормализация, избыточность структур, наследование, избыточность составного первичного ключа, генерализация, кардинальность.

Введение

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

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

В работе рассматривается метод конструирования шаблонных БР81-кластеров, посредством которых типы сущностей могут представляться в моделях данных.

Как идентифицируются сущности предметной области

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

Родионов А. Н. Семантическая идентификация, конфигурирование и моделирование типов сущностей в моделях данных // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2014. Т. 12, вып. 1. С. 64-78.

ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2014. Том 12, выпуск 1 © А. Н. Родионов, 2014

Попробуем идентифицировать сущности не одним, а несколькими «наименованиями». Петр Ильич Сидоров - один из подобных примеров идентификации личности. Но и таким способом задачу идентификации тоже не решить. Сидоровых Петров Ильичей найдется несколько десятков, если не тысяч на такую страну, как Россия.

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

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

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

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

В разных предметных областях принято задействовать различные наборы идентификационных признаков (свойств) для идентификации «собственных» сущностей. Возьмем для примера такой тип сущности, как «Автомобили». На заводе, где они производятся, им присваивается так называемый УШ-код, отдельные фрагменты которого несут закодированную информацию о важных для производственного процесса характеристиках автомобиля. В стране, в которой этот автомобиль эксплуатируется, набор признаков становится другим и, как правило, представлен номерным знаком. Применительно к России номерной знак содержит ссылку на регион, где зарегистрирована машина и ее номер внутри региона, в виде буквенно-цифровой комбинации.

Семантические «добавки» к суррогатному атрибуту в виде одного или нескольких атрибутов-наименований, как в случае с «Личностями», или закодированного семантического альтернативного набора признаков, как в случае с «Автомобилями», успешно решают задачу семантической интерпретации. Заметим, что альтернативный набор признаков, по сути, это те же наименования и свойства, только специальным образом закодированные, что естественно требует наличия дополнительной информации, раскрывающей структуру и содержание подобного кода.

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

Кроме того, часто встречаются типы сущностей с комбинированными, взаимозависимыми единицами измерений: «штуки / погонные метры», «штуки / квадратные метры», «штуки / килограммы» и т. д.

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

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

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

Пусть Як - схема отношения, используемая для представления экземпляров к-го типа сущности и их свойств. Як = (а, Бк с Б, АА, А1), где а - атрибут первичного суррогатного ключа; Бк - множество задействованных для семантической интерпретации доменов-наименований; Б - множество всех семантических доменов предметной области; АЛ - множество альтернативных закодированных альтернативных наборов; А1 - множество информационных атрибутов-свойств. Каждый 7-й атрибут отношения Як принимает значения из закрепленного за ним домена, что принято записывать как о?от(Л7). Функцию идентификации выполняет подмножество 1к = (а, Бк с Б, АЛ) с Як. Отношение гк со схемой Як предоставляет собой множество кортежей Т = , t2,..,tn}. Кортеж ^ схемы Як определяется как подмножество декартового произведения множеств: П ).

Каждый экземпляр к-го типа семантически однозначно идентифицирован, если для любого е Т Д никакого другого е Т, чтобы и для ¿7, и для совпадали все значения их семантических идентификационных признаков, определенных на доменах множеств Бк и АА.

Поскольку в схеме Як присутствует атрибут а, сказанное также означает, что должна

быть задана функция /: ёот(а) ^ ёот(БкА). (В терминологии баз данных принято записывать ХУ вместо X и У, где X и У - это непересекающиеся множества атрибутов.)

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

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

Иногда требование «суммарного» учета дополняется требованием организации комбинированного учета, когда необходимо учитывать и отдельные экземпляры внутри каждой из групп. Например, приход товаров ведется в суммарном выражении, а его реализации учитывается «поштучно».

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

Как в действительности конструируются таблицы сущностей

и к каким сложностям это приводит

Интересное исследование [1] в 2010 г. провели W.-D. Langeveldt и S. Link из университета Виктория, Новая Зеландия. Они попытались эмпирически доказать полезность «Армстронг-отношений» (АО) [2] в признании достоверности функциональных зависимостей (ФЗ), получаемых в процессе проектирования. Отношение Армстронга - это отношение, удовлетворяющее всем функциональным зависимостям, образующих F+, - замыкание множества функциональных зависимостей F над отношением R. Для одной и той же предметной области, небольшой по своим размерам, нескольким группам разработчиков было предложено вывести полный набор ФЗ. Оказалось, что АО действенны, когда нужно назвать значимые ФЗ, если последние таковыми ранее не воспринимались. И, наоборот, АО бесполезны, когда нужно исключить незначимые ФЗ, если последние ранее воспринимались как значимые.

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

Сделаем ссылку еще на одну работу [3], устраняющую другой пробел, существующий между теорией проектирования и практикой создания реляционных баз данных, - возможность появления дубликатов кортежей в таблицах баз данных. И проблем подобного рода, вскрывающих слабые места нормализации, можно привести множество.

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

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

С момента своего появления (Peter Chen, 1976) модель сущность - связь [4] претерпела множество улучшений и уточнений. В частности, в ней появились такие элементы, как супертипы и подтипы, взаимоисключающие связи и многое другое [5]. Но в своей основе проектирование, ведущееся по этой технологии, по-прежнему сводится к последовательному выполнению трех базовых процедур:

• выделению типов сущностей (а если точнее - назначению типов, потому что разбиение множества сущностей на непересекающиеся подмножества, именуемые типами, выполняется, по сути, интуитивно);

• определению атрибутов этих сущностей;

• выявлению связей между сущностями.

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

Для демонстрационного примера воспользуемся описанием предметной области «книго-продукция», представленного в виде следующего сценария.

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

2. Одна и та же книга может многократно переиздаваться, как одним издательством, так и разными издательствами.

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

В результате использования технологии «сущность - связь» можно получить примерно следующую концептуальную схему данных (рис. 1).

Здесь показаны основные именованные типы сущностей, сконцентрированные в левой части рисунка, и результаты их взаимодействия, представленные посредством «слабых сущностей»: «редакции книг» и «издания книг». Атрибутный состав каждой сущности включает идентификационный атрибут в виде суррогатного ключа и атрибут-наименование.

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

Редакции книг ("В"^

Рис. 1. Подсхема модели данных предметной области «Книгопродукция», включающая типы сущностей и результаты их взаимодействия: «Редакции книг» и «Издания книги»

Сначала общие замечания.

1. На первый взгляд, отношение «Редакция книги» является избыточным, поскольку множество его ключевых атрибутов является подмножеством ключевых атрибутов отношения «Издание книги»: А£ с А^. Ас - множество суррогатных атрибутов составного первичного ключа.

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

2. Полученная схема порождает подразумеваемое ограничение целостности: «В отношении "Издания книг" не может появиться кортеж со значениями атрибутов, образующих множество АС, если в отношении "Редакции книг" отсутствует кортеж с теми же значениями атрибутами».

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

3. До сих пор (в рамках анализируемой подсхемы) фактическое наследование Ас в АСр,

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

Моделирование, например, факта приобретения книг, потребует добавления к полученной схеме (см. рис. 1) следующей конструкции (рис. 2).

Documents Heads

Издания книг

Рис. 2. Процедура формирования составного первичного ключа отношения «БоситеП^БеМ^»

Эффективна ли полученная подсхема в плане ее неизбыточности? Очевидно, что нет, поскольку отношение Document_Deta7ls включает как необходимые множества атрибутов АБ,

и А^ — АС, так и условно-избыточные А£ . Чтобы исключить подобный способ наследования - наследование составного ключа одной слабой сущностью другой слабой сущности, можно было бы воспользоваться вспомогательными, «переходными» отношениями (рис. 3), выполняющими функцию замещения составного ключа первичным: АА ^ АС,

АС = /(А, ) и А, ^ АС , АС = /(А, ). Но для каждой «слабой сущности» в этом слу-

Р Вр Ве Е Е Ве

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

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

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

А. Вспомогательное отношение для "Редакции книг"

X

г~г~г

j

А^ Вспомогательное отношение для "Издания книг" АвЕ

I

"Издания книг"

\

Document_Heads

Щ )

Document Details

Количество

Рис. 3. Использование вспомогательных отношений в подсхемах модели данных

Возможность появления только что рассмотренных отношений указывает на то, что, какой бы из перечисленных ранее методов проектирования не использовался, ни один из них не гарантирует компактности и неизбыточности синтезируемых структур. Напомним еще раз название раздела: «Как в действительности конструируются таблицы сущностей...», и остановимся далее на ключевых вопросах синтеза таких таблиц.

Процесс проектирования начинается с априорного задания множества типов сущностей моделируемой предметной области. Для нашего примера это «Книги», «Версии», «Тома» и др. Но уже на этой стадии требуется решить несколько задач, на которые трудно получить однозначные ответы.

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

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

Даже если представить, что удалось построить безальтернативную (наилучшую в плане компактности, полноты и неизбыточности схему), адекватно представляющую взаимодействующие сущности предметной области, даже незначительные отклонения уже зафиксированных - посредством структур данных - поведенческих особенностей этих сущностей могут приводить к перепроектированию уже построенных и используемых программным кодом отношений [2].

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

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

2. Одна и та же книга может многократно переиздаваться, как одним издательством, так и разными издательствами. При этом издательский том по своему содержанию может не совпадать с авторским томом. Одному авторскому тому могут соответствовать несколько издательских томов и, напротив, несколько авторских томов могут быть объединены в один издательский том.

С учетом сказанного построенная ранее карта объектов (см. рис. 1) не претерпела серьезных модернизаций (рис. 4). Расширен состав составного первичного ключа отношения «Издание книги» за счет добавления атрибута «Издательский том». Вместо одной сущности «Тома» используются две: «Авторские тома» и «Издательские тома». Очевидно, что исходный тип сущности «Тома» был определен не совсем верно.

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

Чтобы каким-то образом минимизировать подобные издержки, самое простое в данной конкретной ситуации не декомпозировать отношение «Издательские тома», а провести классификацию его экземпляров. Это можно сделать, добавив в схему «группировочное» отношение «Виды томов», содержащих для нашего случая всего два кортежа: «Издательские и авторские тома» (рис. 5).

При этом, правда, в отношении «Издание книги» сохранится атрибут составного первичного ключа, ссылающийся на «Издательский том».

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

Рис. 4. Расширение подсхемы модели данных предметной области «Книгопродукция»

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

С

Авторские тома

Издательские тома

С

Тома

Рис. 5. Исключение декомпозиции за счет использования «группировочного» отношения

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

Мы обозначили как минимум две задачи, неоднозначность решения которых приводит к альтернативности даталогических конструкций: задание исходных типов сущностей и генерализация типа сущности как некоторая многошаговая процедура, ставящая в соответствие экземплярам сущности один или несколько обобщающих типов. На примере формирования типов «Издательские тома» и «Авторские тома», была показана актуальность первой задачи. О значимости второй будет сказано далее.

Почему упомянуты абстракции? По весьма очевидной, в общем-то, причине. Тип сущности - абстракция обобщения или «знаков в тип», или «типов в тип» [6], и поэтому не рассматривать саму процедуру абстрагирования было бы нелогично. Конструирование (а не выбор) типа сущности посредством процедур генерализации - так должен формулироваться один из начальных этапов построения модели данных. Далее, в следующих разделах мы покажем, какой алгоритм конструирования не приводит к возникновению проблемы избыточности составного первичного ключа и одновременно сокращает общее число альтернативных концептуальных конструкций до обозримого уровня.

Подводя промежуточные итоги, отметим следующее.

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

2. ЕЛ-метод в этом отношении предпочтительнее, так как оперирует более понятными и очевидными категориями, такими как сущности и связи. По сути, акцент делается на главном -получить общую картину самоорганизации данных предметной области, не «погружаясь» в многочисленные ограничения, накладываемые на данные, и не пытаясь обеспечить их поддержку только посредством структур данных.

3. Следование общим инструкциям £^-метода может приводить к синтезу слабых сущностей, составной первичный ключ которых требуется наследовать в структурах, отражающих отдельные фазы жизненных циклов типов сущностей.

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

5. За рамки этой работы вынесена задача исходного разбиения сущностей предметной области на классы эквивалентности. Предполагается, что известны все экземпляры, составляющие тип сущности.

Конструирование объектов для заданного типа сущности с помощью абстракций

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

Как правило, при рассмотрении тех или иных методов логического проектирования баз данных о генерализации если и упоминается, то только для констатации того факта, что тип сущности есть обобщение. Между тем имеет смысл достаточно скрупулезно исследовать, на первый взгляд, очевидный и понятный алгоритм генерализации [6]. И для этого есть весомое основание. В действительности, использование генерализации для конструирования типа сущности может приводить к различным результатам. Ошибочно полагать, что все экземпляры, принадлежащие к некоторой группе - типу сущности можно представить в модели данных с помощью только одной таблицы. (Здесь и далее вместо терминов, используемых в реляционном моделировании, будем пользоваться более привычными: таблица, столбец, запись.)

Пусть примером послужит относительно небольшая предметная область: оптово-розничная торговля офисными принадлежностями. Вот как кратко может выглядеть ее сценарное описание: компания приобретает у заводов-изготовителей большой ассортимент «офисных» товаров и реализует их через свою торговую сеть как оптовым, так и розничным покупателям.

Базовым типом сущности в данном случае выступят сами офисные принадлежности. (Базовые они потому, что составляют основу производственно-хозяйственной деятельности компании.) Поставим следующую задачу: построить иерархию обобщения знаков - экземпляров офисных принадлежностей - в типы и, возможно, полученных типов в какие-то другие типы. Исходной информацией послужат данные о реализуемых товарах, которые без труда можно найти на сайтах подобных компаний \ Нетрудно убедиться, что все компании используют для идентификации и быстрого поиска своих товаров примерно схожие классификационные схемы. Фрагмент типичной классификационной конструкции, по сути псевдоиерархической, демонстрируется на рис. 6.

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

Почему единственная? - можно объяснить просто, если принять за постулат следующее утверждение. «Результатом обобщения знаков в типы могут быть только марки (виды) однородных экземпляров. То есть тех экземпляров, которые обладают одинаковыми характеристиками». Например, как это можно понять из схемы (см. рис. 7), марка «Ручки (гелиевые, Crown, 0,5 мм, черная)» будет обобщением всех ручек с указанными характеристиками: гелиевые, CROWN, 0,5 мм, черная.

1 www.lunsvet.com,www.proburo.ru

—Письменные принадлежности

Ручки —Гелевые

— CROWN

—0.5 мм

- Красная — Черная -0.7 мм

— ERICH

— CRAUSE

— PENTAL

— PILOT

—Капилярные

-Шариковые Фломастеры

Маркеры Карандаши —Механические

— nDO

—0.5 мм

0.7 мм

— PENTEL

—Акварельные -Чернографические

_Канцелярские

принадлежности

Ручки II

—Из пластика

— Красная

—0.5 мм

—0.7 мм

— Черная

_С картонным

корпусом

_Из пластика и

металла

Ручки III

—PARKER

— Duofold

Premier

Executive

— Sonnet

I - иерархия представления для последовательности классификационных признаков: способ использования материала для письма С1, производитель С2, диаметр стержня С3, цвет пишущего материала С4

II - то же для материала корпуса С5, С4, С3 Ш - то же для: С2, С6

Рис. 6. Каталог товаров, представленный в виде иерархической конструкции

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

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

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

Знаки (экземпляры)

Рис. 7. Иерархия обобщения экземпляров (знаков) типа сущности «Товары для офиса»

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

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

1. Многоуровневые абстракции обобщения для произвольного типа сущности могут строиться в соответствии с наперед заданным алгоритмом, в основу построения которого положены представления о марке или виде группы экземпляров сущностей. Такое представление дает возможность на начальном этапе проектирования для выбранного типа сущности сформировать базовые объекты будущей концептуальной схемы: справочники_типы (Яе/ег-епсе^ре) и справочники_знаки (Яе/етепсе_8г§п). В этих двух категориях объектов, реализованных в виде отношений, будет концентрироваться вся информация, касающаяся экземпляров сущности. На более высоких горизонтах абстракции (уровнях п - 2 и меньше, если за уровень п принять уровень экземпляров) будут находиться объекты (ОЪ]ес1_Отоирт^), выполняющие классификационную (группирующую) функцию.

Objects_ Groupings

Рис. 8. Подсхема модели данных, представляющая тип сущности, синтезированная из генерализированной конструкции

2. Такой подход к построению генерализированной схемы приводит к возникновению подразумеваемых ограничений целостности. В частности, это касается взаимоисключающих связей из рис. 8: С2, Ручки(типы)) и С6, Ручки(типы)). В действительности, между «группирующими» объектами могут существовать более сложные отношения, чем те, которые показаны на рис. 8. Это может повлечь за собой появление других разновидностей подразумеваемых ограничений, спецификация которых становится обязательной для сформированного объектного кластера.

БР81-метод конструирования объектов моделей данных

В предыдущем разделе мы продемонстрировали алгоритм синтеза объектов, которые представляют типы сущностей в моделях данных. Этот алгоритм был сконструирован на основе использования абстракций обобщения.

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

В этой связи хотелось бы иметь такой метод или набор методов, которые бы в процессе конструирования структур:

• создавали уверенность в правильности и постоянстве структур при последующем возможном расширении или модификации базы данных;

• не допускали появления альтернативных вариантов;

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

В любой предметной области без особого труда можно наперед выделить типы сущностей со схожими схемами абстракции обобщения, их формирующими: книги, кинофильмы, музыкальные композиции, самолеты, автомобили и т. п. В качестве примера, на котором будем далее демонстрировать дальнейшее развитие метода конструирования объектов, воспользуемся предметной областью, ранее обозначенной как «книгопродукция». И начнем с выделения признаков, по которым книги могут быть однозначно идентифицируемы.

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

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

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

Из приведенного сценария нетрудно вычленить набор идентификационных признаков. Это названия книг, их авторы, авторские тома, издательства, издания (редакции), издательские тома, партии. Из всего перечисленного только названия книг имеют прямое отношение к книгам. Но «названия» - это не сущности. Но тогда что? Это домен, экземпляры которого -названия. Но можно ли с помощью исключительно одних названий выполнить идентификацию книги? Очевидно, что нет. И об этом было сказано ранее. Тем не менее такой домен яв-

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

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

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

D - domain; S - sign, Т- type

Рис. 9. Универсальная Domain_Pattern_Sample_Instance-KOHCTpyrara, моделирующая тип сущности «Книги»

Ядро всей конструкции образуют два справочника: «Книги_Samples» (Referencetype) и «^m^Insta^es» (Referencesign). В то же время на схеме появился еще один объект: «Кни-ra_Patterns». При этом одна часть сущностных объектов идентифицирует «Книги_Pattems», а другая - «Книги_Samples». Кроме того, домен названий «замыкается» только на «Книги_Pattems».

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

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

Самый нижний уровень (Instance's level) содержит «знаковый» объект, в котором фиксируются экземпляры реальных книг - книг, которые приобретаются или выдаются читателям. В общем случае подобных «знаковых» объектов в слое экземпляров может оказаться несколько.

Все перечисленные категории объектов (Domain, Pattern, Sample и Instance) совместно выполняют одну функцию - функцию представления и описания книг. Но назначение каждой категории, как мы показали, различное.

Теперь, когда сформирована базовая кластерная конструкция (см. рис. 9), посмотрим, исчезла ли избыточность составного первичного ключа (см. рис. 1), которая появлялась при использовании стандартного ¿^-метода. Для этого преобразуем карту объектов (рис. 9) в

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

Как нетрудно убедиться, обозначенная проблема успешно преодолена. Никакой избыточности на схеме не наблюдается. Более того, расширение множества объектов, которые задействованы в идентификации сущности, если в этом возникнет необходимость, приведет лишь к добавлению атрибутов внешних ключей в Pattern и Sample объекты. А это, заметим, только улучшит адаптационные возможности всей конструкции.

Домен названий книг

Persons (Authors)

Рис. 10. Концептуальная модель данных предметной области «Книгопродукция»

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Завершая краткое изложение сути Domain_Pattem_Sample_Instance-метода, выделим следующее.

1. Любой тип сущности произвольной предметной области может быть представлен в модели данных совокупностью объектов, принадлежащих к одному из классов: Domain, Pattern, Sample или Instance.

2. Pattern-объект используется для представления макетов типа сущности, которые не одно и то же, что марки, а тем более реальные экземпляры сущности определенного типа.

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

4. Domain- и Instance-слои могут содержать от одного до нескольких объектов соответствующих типов.

5. Слои Pattern и Sample всегда содержат по одному объекту. Для Pattern-слоя - это объект «знакового» типа, а для Sample - объект, принадлежащий к подмножеству type-объектов.

Заключение

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

Подтвердить или опровергнуть корректность предложенного шаблона - БР81-схемы может только практика. Мы многократно использовали БР81-схему при проектировании структурной части баз данных самых разнообразных предметных областей и убедились в ее корректности. Тем не менее однозначно утверждать, что это единственная в своем роде шаблонная стандартная конструкция, с помощью которой могут быть представлены экземпляры сущностей, принадлежащие любому произвольному типу, не беремся. И связано это с известными трудностями получения строгих формальных доказательств при рассмотрении любых семантических подходов.

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

Список литературы

1. Langeveldt W.-D., LinkS. Empirical evidence for usefulness of Armstrong relations in the acquisition of meaningful functional dependencies // Information Systems. 2010. Vol. 35, № 3. P.352-374.

2. Beeri C., Down M., Fagin R., Statman R. On the structure of Armstrong relations for functional dependencies // Journal of the association for computing machinery. 1984. Vol. 31, № 1. P.30-46.

3. Koehler H., Link S. Armstrong axioms and Boyce-Codd-Heath Normal Form under bag semantics // Information Processing Letters. 2012. Vol. 110. P. 717-724.

4. Чен П. П. Модель «сущность - связь» - шаг к единому представлению данных // СУБД. 1985. № 3.

5. Роланд Ф. Д. Основные концепции баз данных. М.: Вильямс, 2002.

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

Материал поступил в редколлегию 16.03.2014

A. N. Rodionov

SEMANTIC IDENTIFICATION, CONFIGURATION AND ENTITIES TYPES MODELING FOR THE DATA MODEL ENGINEERING

The configurator model for the entities type mapping into data model has been proposed. Such a model consists of the interdependent objects, each of which belongs to one of the next classes: Domain (D), Group (G), Pattern (P), Sample (S) or Instance (I). Each class is distinguished by the proper assignment and behavior which they demonstrate in a data model. The algorithm for the model instances synthesis has been designed. This algorithm uses the two-step generalization procedure for the deriving of G, S and I-structures and the additions to them in the form of the semantic domains and the optional P-objects which contain the preimages of the real entities.

Keywords: semantic identification, DPSI-method, entity-relationship method, functional dependences, relation, normalization, structural redundancy, complex primary key redundancy, inherency, generalization, cardinality.

i Надоели баннеры? Вы всегда можете отключить рекламу.