А.2.3.1.2. Микроописания
Разбиение макрообъектов данных на более мелкие единицы позволяет получить описание на микроуровне. Детальную структуру данных для того или иного типа бизнес-приложения можно моделировать с помощью объектно-ориентированных диаграмм классов или методов ERM. Поскольку стандартным методом моделирования данных в рамках бизнес-процессов в реальных проектах является ERM, следующие несколько глав мы посвятим рассмотрению структуры репозитория для этого метода. Объектно-ориентированные диаграммы классов описываются в главе А. Ш.2.1.1.1 в контексте объектно-ориентированных моделей, связывающих представления данных и функций.
Элементы ERM изображаются как диаграммы классов UML. Сначала мы рассмотрим простую модель ERM, а затем добавим несколько графических операторов.
Простые модели ERM для структурирования данных бизнес-приложений состоят из типов сущностей и отношений, связанных друг с другом ребрами. Расширенные модели ERM дополнены указанием мощности связей, операторами конкретизации/обобщения и реинтерпретацией типов отношений в типы сущностей. Мощности различных связей моделей UML и ERM иллюстрируются на рис. 3.
А.2.3.1.2.1. Простая модель ERM
Для начала рассмотрим фрагмент структуры данных, связанных с продажами, который приведен на рис. 61.

Рис. 61. Фрагмент модели ERM, описывающий структуру данных, связанных с продажами
КЛИЕНТ, ИЗДЕЛИЕ и ВРЕМЯ представляют собой типы сущностей, связанные друг с другом типами отношений ПОКУПКА и ЗАКАЗ. Заказы можно идентифицировать как объекты данных «транзакция» по их связи с типом сущности ВРЕМЯ. Остальные элементы представляют эталонные данные.
Элементам присваиваются соответственно ключевые и описательные атрибуты. Мощность связи указывает на количество экземпляров типов отношений, допустимых для данного типа сущности.
На рис. 62 изображены классы ТИП СУЩНОСТИ и ТИП ОТНОШЕНИЯ, представляющие тип сущности и тип отношения в терминологии бизнеса. КЛИЕНТЫ, ВРЕМЯ, ИЗДЕЛИЯ, ПОКУПКА и ЗАКАЗ являются экземплярами этих классов.

Рис. 62. Метамодель простого описания методом ERM
В терминах бизнеса типы сущностей и типы отношений связаны ребром, поэтому на рис. 62 мы вводим класс РЕБРО. Количество допустимых экземпляров направления отношений определяется атрибутами РЕБРА. Поскольку в структуре данных тип сущности может быть связан с типом отношения несколькими ребрами, мощность этой связи равна (0..*). Когда в отношении участвует по меньшей мере две сущности, мощность равна (2..*).
Между типом сущности и типом отношения возможны несколько ребер с разными значениями, например, ребра, характеризующие доминирующую и подчиненную части в структуре прейскуранта материалов. В таких случаях мы можем однозначно идентифицировать то или иное ребро, введя класс РОЛЬ РЕБРА.
Каждому типу сущности присваивается идентифицирующий ключевой атрибут. Совокупность ключевых атрибутов образует класс КЛЮЧЕВОЙ АТРИБУТ. Между классом ТИП СУЩНОСТИ и классом КЛЮЧЕВОЙ АТРИБУТ существует связь 1:1. Следовательно, как минимальная, так и максимальная мощность этой связи равна 1. Например, типу сущности КЛИЕНТ в качестве идентификатора присваивается уникальный ключевой атрибут ь_КЛИЕНТА, а типу сущности ИЗДЕЛИЕ — уникальный ключевой атрибут ь_ИЗДЕЛИЯ.
Типы отношений идентифицируются по ключевым атрибутам связанных с ними типов сущностей. При этом отпадает необходимость вводить связь между классами ТИП ОТНОШЕНИЯ и КЛЮЧЕВОЙ АТРИБУТ, поскольку ключевые атрибуты уже соотносятся, хотя и в неявной форме, с типами отношений через связь между классами КЛЮЧЕВОЙ АТРИБУТ и ТИП СУЩНОСТИ. Однако для наглядности введем здесь избыточную связь АССОЦИАЦИЯ КЛЮЧЕВОЙ АТРИБУТ-ТИП ОТНОШЕНИЯ.
С классами ТИП СУЩНОСТИ и ТИП ОТНОШЕНИЯ связываются атрибуты, поэтому эти классы объединяются в общий класс ИНФОРМАЦИОННЫЙ ОБЪЕКТ, который создает связь с МАКРООБЪЕКТАМИ ДАННЫХ. Все типы сущностей и типы отношений, включая ребра, привязываются к макрообъекту данных (например, к модели данных маркетингового отдела). Это аналогично привязке описательных колонтитулов или фрагментов к документам или видеоданным.
Теперь, когда типы сущностей и типы отношений сконструированы, перейдем ко второму этапу: описанию и присвоению неключевых атрибутов. Введенный нами ранее класс КЛЮЧЕВОЙ АТРИБУТ является частным случаем общего класса АТРИБУТ и может быть разбит на классы КЛЮЧЕВОЙ АТРИБУТ и НЕКЛЮЧЕВОЙ АТРИБУТ.
Неключевые атрибуты связываются с типом ИНФОРМАЦИОННЫЙ ОБЪЕКТ отношением (1..*):(0..*). Это означает, что информационный объект может иметь множество неключевых атрибутов, как обычно и бывает в реальных ситуациях. Кроме того, один и тот же атрибут может быть связан с рядом информационных объектов. Например, атрибут <имя> молено присвоить как информационному объекту <клиент>, так и информационному объекту <поставщик>. Избыточное звено АССОЦИАЦИЯ С ОБЩИМ АТРИБУТОМ между классами АТРИБУТ и ИНФОРМАЦИОННЫЙ ОБЪЕКТ охватывает как ключевые, так и неключевые признаки.
Атрибуты, связанные по содержанию, можно объединить в группы. Например, группа атрибутов <адрес> может содержать такие атрибуты, как название улицы, номер дома, почтовый индекс и город. Можно создавать частично совпадающие группы атрибутов. При этом между классами АТРИБУТ и ГРУППА АТРИБУТОВ формируется связь (1..*):(0..*). Таким образом, в любой группе атрибутов должен • присутствовать как минимум один атрибут, но совсем не обязательно, чтобы каждый атрибут входил в какую-то группу. Информационные объекты могут связываться с группами атрибутов и напрямую.
Набор значений атрибута характеризуется классом ДОМЕН. С каждым атрибутом можно связать только один домен. Например, точно так же, как в словаре, атрибут <имя> может охватывать всю совокупность имеющихся в домене имен и задавать диапазоны числовых значений.
Связь (1..*):(0..*) между АТРИБУТОМ и ИНФОРМАЦИОННЫМ ОБЪЕКТОМ позволяет практически устранить избыточность в администрировании атрибутов и доменов.
А.2.3.1.2.2. Расширенная модель ERM
До сих пор мы говорили о простой модели ERM. Теперь перейдем к расширенному варианту, включающему следующие дополнения:
• реинтерпретацию типов отношений в типы сущностей;
• конкретизацию / обобщение сущностей;
• создание сложных объектов из типов сущностей и типов отношений. Более детальная спецификация мощностей путем описания диапазонов значений формирует атрибуты ассоциативного класса РЕБРО и ничего не дает для улучшения информационной модели.
На метауровне, изображенном на рис. 64, реинтерпретация типа отношения в тип сущности требует введения не только общего класса ТИП СУЩНОСТИ, но и конкретизированных классов, представляющих исходный и реинтерпретированный типы сущностей. Таким образом, реинтерпретированные типы прослеживаются дважды. С одной стороны, они являются элементом конкретизации общего класса ТИП СУЩНОСТИ, а с другой — конкретизированной версией ТИПА ОТНОШЕНИЯ. Введение в модель ERM операции обобщения и конкретизации приводит к созданию класса ОБЩ./КОНКР. ПРЕДСТАВЛЕНИЕ. В примере на рис. 63 модель регионального рынка включает тип сущности КЛИЕНТ, разбитый на классы МЕЖДУНАРОДНЫЕ КЛИЕНТЫ и ОТЕЧЕСТВЕННЫЕ КЛИЕНТЫ. Таким образом, региональный рынок является экземпляром класса ОБЩ./КОНКР. ПРЕДСТАВЛЕНИЕ. Одно представление может охватывать множество типов сущностей (МЕЖДУНАРОДНЫЕ КЛИЕНТЫ и ОТЕЧЕСТВЕННЫЕ КЛИЕНТЫ), тогда как один тип сущности должен однозначно принадлежать одному конкретизированному представлению.

Рис. 63. Пример расширенной модели ERM

Рис. 64. Метамодель расширенной ERM
Поскольку на конкретизации переносятся и ключевые атрибуты доминирующей сущности, один ключевой термин оказывается действителен для нескольких типов сущностей (например, один номер клиента действительным как для общего типа сущности КЛИЕНТ, так и для конкретизации МЕЖДУНАРОДНЫЕ КЛИЕНТЫ и ОТЕЧЕСТВЕННЫЕ КЛИЕНТЫ). Таким образом, мощность отношения между КЛЮЧЕВЫМ АТРИБУТОМ и классом ИСХОДНЫЙ ТИП СУЩНОСТИ равна (1..*):(1..1).
Ключевые атрибуты для типов отношений можно формировать путем привязки ребер ключевых атрибутов соответствующих типов сущностей. Однако для наглядности создается отдельный ассоциативный класс АССОЦИАЦИЯ ТИП ОТНОШЕНИЯ-КЛЮЧЕВОЙ АТРИБУТ.
В моделях ERM сложные сценарии разбиваются на простые и понятные структуры, хотя их связь с целой структурой не всегда остается наглядной. Поэтому мы вводим понятие <сложный объект> (ОБЪЕКТ), объединяющее множество типов сущностей и отношений, принадлежащих данному объекту (Dittrick Nachrelationale Dateribanktechnologie; Harder. Relationale Dantenbanksysteme. 1989; Lockemann. Weiterentwicklung relationaler Datenbanken. 1991; Kilger. C.: Objektbanksysteme. 1996).
Сложные объекты включают множество типов сущностей и отношений. Рассмотрим, например, чертеж, отражающий целую геометрическую структуру сборного узла, содержащую множество типов сущностей и отношений (ФОРМА, СЕКТОРЫ, РЕБРА, ТОЧКИ и т. д.), или деловой контракт со сложной структурой данных, содержащей множество вложений.
Заказы, изделия и данные, относящиеся к определенному клиенту, также можно рассматривать как сложные объекты (см. рис. 63). То, что в терминах бизнеса является индивидуальным объектом (ЧЕРТЕЖ, КОНТРАКТ, ЗАКАЗ), на метауровне становится экземпляром класса ОБЪЕКТ. Поскольку объекты могут налагаться друг на друга, мощность связи будет равна (0..*) или (1..*).
В данном определении понятия <объект> подчеркивается переход к понятию МАКРООБЪЕКТ ДАННЫХ. Этой темы мы коснемся при обсуждении спецификации проекта, когда будем рассматривать объектно-ориентированные модели данных.
Таким образом, классы ТИП СУЩНОСТИ, ИСХОДНЫЙ ТИП СУЩНОСТИ, ТИП ОТНОШЕНИЯ и ОБЪЕКТ, которые сами становятся информационными объектами, являются источниками для формирования описательных атрибутов. Атрибуты РЕИНТЕРПРЕТИРОВАННОГО ТИПА СУЩНОСТИ совпадают с атрибутами исходного класса ТИП ОТНОШЕНИЯ и поэтому вторично не присваиваются. В расширенной версии атрибуты следует присваивать таким же образом, как и в простой модели ERM.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |


