Диго С.М. Базы данных проектирование и использование (1084447), страница 15
Текст из файла (страница 15)
Следует напомнить, что нельзя устанавливать связь между свойством одного объекта и другим объектом или его свойством. Нельзя также непосредственно связывать между собой агрегированные объекты. Связь устанавливается на уровне объектов. Подклассы могут участвовать в связях, так же как и классы.
2.3. Сравнение методик построения ER-моделей
ER-модели широко используются в практике создания баз данных. Причем они применяются как при ручном, так и при автоматизированном проектировании. Чаще всего для представления ER-модели используются графические языки. Мы в основном будем рассматривать именно их. Изобразительные средства и методики графического представления ER-моделей, используемые в разных системах автоматизации проектирования, а также в разных литературных источниках, несколько отличаются друг от друга.
Далее мы рассмотрим особенности представления ER-моделей на примере нескольких наиболее известных систем автоматизации проектирования (CASE-систем): ProKit*WORKBENCH, Design/IDEF, CASE Oracle (Designer/2000), Power Designer (новое название, используемое для последних версий системы S-Designor), ERWin, SILVERRUN, ERStudio и др., а также методологий, изложенных в некоторых литературных источниках.
Можно выделить целый ряд признаков для сравнения систем моделирования предметных областей и последующего проектирования автоматизированных информационных систем. Часть из них одинаково применима как для ручного, так и для автоматизированного проектирования, другие признаки имеют значение только при использовании автоматизированных инструментальных средств проектирования.
Сначала рассмотрим аспекты, присущие обоим способам создания ИС.
Прежде всего остановимся на различиях в использовании изобразительных средств. Можно выделить несколько категорий различий в изображении ER-моделей.
2.3.1. Несущественные различия в использовании условных обозначений
Для обозначения простого объекта в разных системах используются прямоугольники, блоки с закругленными углами, овалы и т.д.
Наблюдаются различия в способе изображения характера связей между объектами (использование «стрелок», «лапок», «точек» и т.п. для отображения «множественного» конца связи). Такого рода различия можно продолжить. Они не накладывают никакого отпечатка на методологию построения концептуальной модели и алгоритм последующего перехода к даталогической модели.
Желательно, чтобы используемые обозначения были интуитивно понятными, излишне не загромождали модель, были просты в изображении. Часто предпочтения разработчиков в использовании тех или иных обозначений определяются просто привычкой. По возможности следует стремиться к использованию стандартизированных или широко распространенных обозначений.
В некоторых методиках при изображении связи между объектами в разъеме отображающей ее линии предлагается изображать ромб и внутри него или рядом с ним писать название связи (модель Чена) (рис. 2.26).
Рис. 2.26. Диаграмма Чена.
Условные обозначения:
а - зависимая сущность; б - независимая
Другие способы изображения не требуют использования ромбов или требуют их изображения не всегда, а только при наличии определенных ситуаций в отображаемой предметной области. Если модель допускает связывание только пары объектов (т.е. поддерживает изображение только бинарных связей) и не допускает фиксирование дополнительных свойств для связей, то введение дополнительного обозначения только загромождает модель и не дает никаких дополнительных преимуществ.
Поскольку в разных методологиях проектирования используются разные условные обозначения для отображения одного и того же явления в предметной области (т.е. фактически наблюдается синонимия в графическом языке описания предметной области), то некоторые системы автоматизации проектирования, например ProKit*WORKBENCH, предоставляют пользователю возможность выбрать из множества допустимых обозначений те, которые ему больше нравятся или более привычны. В этой системе, к примеру, для обозначения вида связей между объектами могут использоваться условные обозначения, представленные на рис. 2.27, а сама модель может изображаться в стиле Чена, Бахмана или в реляционном виде. Наиболее предпочтительный для пользователей системы стиль изображения должен быть выбран перед построением модели.
Рис. 2.27. Изображение связей между объектами
в системе ProKit*WORKBENCH
Рассмотрим некоторые из указанных выше различий более подробно.
Для отображения обязательности вхождения объектов в связь («класс принадлежности») в разных системах моделирования используются разные условные обозначения. Так, в CASE Oracle класс принадлежности передается следующим образом: с той стороны связи, с которой элемент может не обязательно входить в связь, используется пунктирная линия, а там, где членство обязательное, - сплошная линия. С учетом класса членства возможны типы отношений, представленные на рис. 2.28.
Рис. 2.28. Варианты изображения типа связи
и класса членства в CASE Oracle
В [15] для отображения класса принадлежности используется маленький прямоугольник, который рисуется внутри блока, изображающего объект. Если класс принадлежности объекта в связи является обязательным, то внутри этого прямоугольника ставится точка. Если класс принадлежности необязательный, то точка ставится вне блока или вообще не ставится (рис. 2.29).
Рис. 2.29. Варианты изображения типа связи и класса членства
(Г. Джексон): обязательный класс членства с одной стороны (а)
и с обеих сторон (б)
Используемые в CASE Oracle обозначения более удобны, так как если объект участвует в большом количестве связей, то дополнительные прямоугольники с точками становится неудобно располагать на рисунке.
В Design/IDEF1X характер принадлежности в связи изображается, как показано на рис. 2.30. Точка на конце линии обозначает множественную связь. Если около точки не стоит никакой буквы, то это означает нуль, один или более объектов в связи; P(positive) - один или много, Z (zero) - нуль или один, N (целое положительное число) - мощность связи в точности равна некоторому числу.
Наблюдаемые в Design/IDEFIX отличия от базовой и других рассмотренных выше моделей являются более существенными, чем просто различия в используемых условных обозначениях, поскольку это не только другой способ обозначения, но и другое «множество» возможных сочетаний «тип связи»-«класс принадлежности». Поэтому эти различия следует отнести ко второму типу различий - существенным различиям, влияющим на процесс моделирования предметной области.
В Power Desinger используются обозначения, представленные на рис. 2.31.
Рис. 2.30. Изображение класса членства в Design/IDEF1X
Рис. 2.31. Обозначения, использующиеся в Power Desinger:
а - связь М:М, связь от Объекта_1 к Объекту_2 необязательная;
б - связь 1:1, обязательный класс членства с обоих концов;
в - связь М:М, класс членства обязательный с обоих концов;
г - изображение зависимой по идентификации сущности
В Paradigma Plus для характеристики связи используется термин multiplicity (множественность): Каждый конец связи имеет аннотацию, обозначающую множественность. Различают следующие разновидности множественности: one (один), many (много), optional (необязательный), one or more (один или больше), zero or more (нуль или больше).
На первый взгляд кажется, что подходы, используемые в Design/IDEF и Paradigma Plus, схожи между собой. Но в них есть существенное различие: в Paradigma Plus, так же как и в нашей базовой модели, тип связи и кардинальность относятся к каждой стороне связи (т.е. характер связи задается в прямом и обратном направлении), в Design/IDEF - только в прямом. Поэтому в Design/IDEF нельзя выразить, например, связь М:М, в которой с одной стороны связи наблюдается обязательный класс принадлежности, а с другой - необязательный.
Подход, принятый в базовой модели для отображения характера связи, представляется более продуктивным (экономичным и наглядным), так как для всего множества возможных сочетаний (с учетом направления связи их может быть 16) используется всего четыре условных обозначения.
Чаще всего для обозначения какого-либо явления в предметной области в конкретной методологии используется одно определенное обозначение. Но, как отмечалось выше, некоторые CASE-средства позволяют пользователю выбрать ту нотацию языка, которая является для него наиболее привычной.
Свойства объекта иногда не отображаются на той же схеме, что сами объекты и связи между ними, а перечень и описания этих свойств приводятся отдельно. Часто описание свойств представляют в табличной или иной аналитической форме, а не в графическом виде.
Поскольку рассматриваемые различия не являются существенными, то легко выполнить преобразование из одной формы представления в другую, что и позволяют автоматически делать многие CASE-средства.
2.3.2. Различия в использовании и изобразительных средств, приводящие к изменениям в методике построения модели
Некоторые различия, также связанные со способом изображения тех или иных ситуаций, являются более существенными, приводящими к различиям в методике построения модели, в адекватности изображения ПО и т.п. Например, в системе CASE Oracle обобщенный объект изображается путем вложения блоков, обозначающих видовые объекты, внутрь блока, изображающего родовой объект. На рис. 2.32 показано изображение объекта ЛИЧНОСТЬ, рассмотренного выше (см. рис. 2.21), в условных обозначениях, используемых в CASE Oracle.
Рис. 2.32. Изображение обобщенного объекта в CASE Oracle
Как следует из сравнения рисунков, изображения обобщенных объектов в сравниваемых методиках различаются не только по форме представления. Так, если объект классифицируется по разным признакам, то при использовании первого способа (см. рис. 2.21) наглядно видно, по какому признаку осуществляется классификация. Второй же способ изображения (см. рис. 2.32) не обеспечивает этого.
Другими словами, предложенный в базовой модели способ изображения обобщенных объектов является семантически более содержательным, информативным, емким.
На рис. 2.33 изображен тот же обобщенный объект ЛИЧНОСТЬ с использованием синтаксиса IDEF1X. По своей семантике этот способ изображения ближе к предложенному нами базовому способу изображения ИЛМ. Разница заключается в том, что для сущностей-категорий и общих сущностей в IDEF1X используются одинаковые обозначения сущности (правда, в большинстве случаев родовой объект является независимой, а видовой - всегда зависимой от идентификации сущностью). Атрибут, по которому проводится разбиение (дискриминатор), выносится из состава атрибутов обобщенного объекта и становится именем, располагаемым рядом со значком дискриминатора. И хотя по форме представления изображения обобщенных объектов в нашей базовой модели и IDEF1X сильно различаются, но по мощности они идентичны, и различия между этими моделями можно отнести к рассмотренным выше различиям первого класса.
Рис. 2.33. Изображение обобщенного объекта
ЛИЧНОСТЬ в IDEF1X
Предложенный нами в базовой модели способ обозначения кажется более четким:
1) он фиксирует внимание на том, что обобщенный объект представляет собой множество достаточно однородных объектов, имеющих общие свойства, а дискриминатор хотя и играет специфическую роль, но является одним из свойств объекта;
2) обобщенный объект изображается как единая сущность, а не совокупность множества отдельных объектов.
С методологической точки зрения способ изображения в IDEF1X акцентирует внимание на том, что видовые объекты - это самостоятельные объекты. В нашей же модели (как и в CASE Oracle), наоборот, констатируется, что обобщенный объект, включающий подклассы, является тем не менее объединяющей сущностью.
Близким к IDEF1X относительно методологии отображения обобщенных объектов является способ их изображения в CASE-средстве Vantage Team Builder. В нем для обозначения признака, по которому проводится разбиение на подклассы, используется ромб, который соединен как с супертипом, так и с каждым из подтипов. Линия, соединяющая ромб с супертипом, перечеркивается.
2.3.3. Пространственное размещение элементов ER-модели
ER-модель даже для небольшой и несложной предметной области включает в себя описание значительного числа компонентов и связей между ними. При этом встает проблема наглядности общей схемы. Эта проблема по-разному решается при ручном и автоматизированном построении инфологической модели. В автоматизированных системах чаще всего строится единое изображение ER-модели и используется прием масштабирования, когда, уменьшая или увеличивая масштаб изображения на экране, можно посмотреть как всю схему, так и отдельный ее фрагмент.