DataAtlas Modeler представляет собой комбинированное средство для построения как концептуальной, так и логической модели данных. Modeler позволяет создать структуру данных так, чтобы она могла быть понятна и разработчику баз данных, так и конечному пользователю. Modeler поддерживает подход "сущность-взаимоотношение" (ER) для концептуального моделирования данных. Такой подход использует ER-модели для визуального представления структуры данных. ER-модель отображает данные как сущности, атрибуты и взаимоотношения между сущностями, а также ограничения, накладываемые на использования данных.
Концептуальная модель обеспечивает инфраструктуру для логической модели данных. DataAtlas Modeler отображает ER-модель в структуру данных, которая определяется для каждой конкретной системы управления базами данных. Получающийся в результате этого реляционный дизайн состоит из определения таблиц и их экземпляров.
Соответствие концептуальной и логической моделей данных представляется следующим образом:
Концептуальная модель | Логическая модель |
---|---|
Сущность | Таблица |
Отношение | Внешний ключ или таблица |
Атрибуты | Столбцы |
Разделяемые элементы данных | Разделяемые элементы данных |
Первичные ключи | Первичные ключи |
Обязательно/Дополнительно | Правила целостности ссылок |
Сущность представляет собой некий объект реального мира, такой как персона, место, событие и тому подобное. DataAtlas Modeler поддерживает следующие типы сущностей, отображаемые на диаграмме разными видами прямоугольников:
1. Фундаментальные - как класс объектов реального мира. | |
2. Ассоциативные - для представления отношений с локальными. | |
3. Атрибутивные - для отображения составных атрибутов объекта (например, адреса). |
Отношение представляет собой связь между одной или несколькими сущностями. DataAtlas Modeler поддерживает как унарные, так и бинарные отношения.
Пример унарного отношения : "Сотрудник управляет, по меньшей мере, нисколькими и, по большей мере, сколько угодно многими сотрудниками, и, в то же время, сотрудник управляем, по меньшей мере, одним и, по большей мере, одним сотрудником".
Пример бинарного отношения : "Сотрудник имеет, по меньшей мере, нисколько и, по большей мере, сколько угодно много персональных компьютеров, и, в то же время, персональный компьютер принадлежит, по меньшей мере, одному и, по большей мере, одному сотруднику".
Кардинальностью отношения называется количество встречаемых проявлений сущности, которое может или должно соответствовать каждому проявлению другой сущности. Каждое отношение имеет минимальную и максимальную кардинальность в обоих направлениях. Минимальная кардинальность определяет правила существования для сущности в отношении:
0 - отношение с необязательной сущностью;
I - отношение с обязательной сущностью.
Максимальная кардинальность определяет максимальное число экземпляров сущности, которая может иметь место в отношении:
I - максимально один экземпляр сущности может иметь место в отношении;
X - число максимальных экземпляров сущности в отношении не ограничено.
Максимальная кардинальность отношения представляется на диаграмме ближе, а минимальная - дальше от фигуры сущности. Кроме того, в DataAtlas Modeler около значков сущности отображаются глаголы действий отношения.
Приведем список всех возможных кардинальностей, так, как они представлены на диаграмме ER-модели в DataAtlas Modeler.
Необязательно один-к-одному.
Обязательно один-к-одному
(с одной обязательной сущностью)
(c обеими обязательными сущностями)
Необязательно один-ко-многим
Обязательно один-ко-многим
(с одной обязательной сущностью)
(с обеими обязательными сущностями)
Необязательно многие-ко-многим
Обязательно многие-ко-многим
(с одной обязательной сущностью)
(с обеими обязательными сущностями)
При описании кардинальности отношения, обычно ссылаются только на максимальную кардинальность. Например, отношения, определенные как многие-ко-многим, означают, что обе максимальные кардинальности устанавливаются в значение "много".
Например, представим себе, что мы хотим смоделировать следующее предложение: "Отдел не имеет сотрудников или имеет много сотрудников, при этом каждый сотрудник обязан работать только в одном отделе". Отношение будет выглядеть следующим образом, где слова "принадлежит" (belongs to) и "имеет" (has) являются глаголами.
Группы сущностей представляют собой именованные множества сущностей. Использование групп сущностей служит для консолидации сущностей, которые принадлежат друг другу, и для иерархической организации ER-модели, что делает данную модель более читаемой и удобной в работе. Например, при разработке модели данных предприятия, можно сгруппировать те сущности, которые соответствуют объектам закупок в группу под названием "закупки". Одна группа сущностей может содержать в себе другие группы сущностей. На диаграмме ER-модели группа сущностей, содержащая другую группу сущностей отображается в виде эллипса.
Атрибут представляет собой объект, описывающий характеристики сущности или отношения. |
Каждый атрибут может иметь назначенный ему элемент данных, который определяет его тип данных. В DataAtlas Modeler атрибуты должны быть однозначными и атомарными. Атрибуты не показываются на диаграмме ЕR-модели DataAtlas Modeler. Для моделирования многозначного или составного атрибута используется атрибутивная сущность.
Атрибуты могут быть как ключевыми, так и неключевыми. Ключевые атрибуты делятся на первичные ключи и внешние ключи. Первичный ключ всегда является обязательным атрибутом, в то время как внешние ключи и неключевые атрибуты могут быть как обязательными, так и необязательными элементами.
Первичный ключ является атрибутом или группой атрибутов, уникально определяющим каждый экземпляр сущности или отношения. Значение первичного ключа всегда должно быть уникально и не равно пустому значению. Первичный ключ, состоящий из более чем одного атрибута, называется составным первичным ключом. Каждый атрибут, составляющий композитный первичный ключ, называется частичным первичным ключом. Для композитного первичного ключа, значение каждого составляющего его частичного первичного ключа не должно быть пустым.
Внешний ключ представляет собой первичный ключ, определяемый в результате установления отношения. Он определяет, какой экземпляр сущности связывается с экземпляром отношения. Внешний ключ, состоящий из более чем одного атрибута, называется составным внешним ключом. Каждый атрибут, составляющий композитный первичный ключ, называется частичным внешним ключом.
Внешние ключи не являются конструкциями концептуальной модели данных. Поскольку концептуальная модель в DataAtlas Modeler представляет собой основу для реляционной модели, то внешние ключи автоматически генерируются для модели данных. При разработке только концептуальной модели можно проигнорировать создание внешних ключей.
Внешние ключи автоматически создаются при помощи DataAtlas Modeler одним из следующих способов.
Ограничение в ER-модели представляет собой правило, которое управляет определением истинности операций работы с данными, такими как вставка, удаление, добавление, связанными с сущностью или отношением. В DataAtlas Modeler можно документировать ограничения. Эта информация в дальнейшем будет использована для определений программирования.
Например, если вы работаете с моделью данных для банка, то можно наложить ограничения на счет, так чтобы находящаяся на нем сумма денег была меньше или равна текущему банковскому балансу. Это предотвратит выдачу суммы денег большей, чем она есть в банке.
Элементы данных совместно используются благодаря средству TeamConnection. В DataAtlas Modeler элемент данных представляет собой объект, определяющий тип данных атрибута. Элемент данных определяет размер и другие характеристики атрибута. Тип данных указывает на внутреннее представление данных, например, real, integer, character или binary.
Каждый атрибут может иметь только один связанный с ним атрибут, однако один элемент данных может быть сопоставлен любому числу различных атрибутов. Так, например, если имеется несколько сущностей с атрибутом возраст, и если в текущей модели данных, возраст всегда представляется целым числом, то при создании одного элемента данных с именем "возраст" и целочисленным типом данных, то этот элемент данных можно сопоставить всем атрибутам "возраст" во всех сущностях.
Для сущностей может применяться техника классификации путем обобществления и спецификации - определения частных свойств. Обобществление группирует вместе общие атрибуты и сопоставляет с ними некую сущность-шаблон или сверхтип. Индивидуальные сущности тогда становятся подтипами сверхтипа. Например, если модель содержит сущности "легковой автомобиль", "грузовик" и "мотоцикл", то они могут разделять некие общие атрибуты и создать сверхтип "моторное средство передвижения". После этого можно размещать общие атрибуты в сверхтипе, а затем соединить сверхтип с его подтипами при помощи объединения. Атрибуты моторного средства передвижения будут приложены к легковому автомобилю, грузовику и мотоциклу. Спецификация означает расщепление посредством подтипов тех сущностей, который содержат только присущие им атрибуты.
Сверхтип представляет собой сущность, которая описывает надмножество над другими, менее всеобщими сущностями (своими подтипами). Например, сверхтип "атлет" может иметь подтипы "легкоатлет" и "пловец". Все атрибуты и отношения для сверхтипа будут применимы и к его подтипам. Сверхтип соединяется с каждым из своих подтипов при помощи набора наследования.
Подтип представляет собой сущность, описывающую подмножество другой, более всеобщей сущности (своего сверхтипа). Подтип получает первичный ключ своего сверхтипа как внешний ключ. Атрибуты и отношения сверхтипа. Как правило, подтип имеет дополнительные атрибуты и отношения, которые применимы только к нему, а не к его сверхтипу или другим подтипам его родительского сверхтипа.
Подтип связывается со своим сверхтипом при помощи отношений наследования. Отношением наследования называют отношение между родительским сверхтипом и его подтипами. Отношение наследования всегда имеет следующую кардинальность:
Эти кардинальности не показываются на диаграмме ER-модели.
В DataAtlas Modeler отношения наследования никогда не существуют независимо, каждое отношение наследования является членом набора наследования.
Набор наследования представляет собой группу родственных отношений наследования, которая используется для обобществления и спецификации.
В DataAtlas Modeler существуют два правила, определяющие наличие набора наследования:
Обязательность. Каждый экземпляр данного сверхтипа обязан иметь по крайней мере одно отношение к экземпляру одного из своих подтипов. Обязательный набор наследования определяется посредством фразы "must be" (обязан быть), например, "Служащий должен быть только одним из (мужчина, женщина)."
Необязательность (дополнительность). Каждый экземпляр данного сверхтипа должен не иметь отношения к экземпляру одного из своих подтипов. Необязательный набор наследования определяется посредством фразы "can be" (может быть), например, "Млекопитающее может быть только одним из (дельфин, собака, медведь, кабан)."
Исключительность (единственность). Каждый экземпляр данного сверхтипа имеет по только одно отношение к экземпляру одного из своих подтипов. Например, служащий имеет подтип мужчина или женщина, но не два этих подтипа сразу. Исключительный набор наследования определяется посредством фразы "at most one of" (только один), например, "Животное должен быть одним из (пресмыкающееся, птица, млекопитающее, насекомое)."
Неисключительность (множественность). Каждый экземпляр данного сверхтипа имеет одно или несколько отношений к экземпляру одного из своих подтипов. Например, атлет имеет подтипы пловец, легкоатлет, велосипедист, или два из них, или все три. Неисключительный набор наследования определяется посредством фразы "one or more" (один или несколько), например, "Спортсмен может заниматься одним или несколькими видами спорта (плавание, бег, велогонка)."
В DataAtlas Modeler эти конструкции будут отображены в виде диаграмм ER-моделей:
Реляционный дизайн содержит в себе объекты, которые описывают реляционную базу данных, имена таблиц, а также один или несколько физических дизайнов. Каждый физический дизайн содержит в себе объекты, специфичные для целевой системы управления базами данных, например, таблицы и индексы. DataAtlas Modeler поддерживает как преобразование модели данных в реляционный дизайн, так и наоборот, из реляционного дизайна в модель данных.
При трансформации из модели данных в реляционный дизайн, для каждой сущности в модели данных, DataAtlas Modeler создаёт соответствующую таблицу. Он проводит аналогичные действия для каждого отношения, имеющего атрибут, независимо от того, указан ли явно внешний ключ или этот ключ строится при преобразовании. Каждый атрибут преобразовывается в столбец в соответствующей таблице. DataAtlas Designer использует реляционный дизайн для создания физического дизайна и DataAtlas Dictionary использует физический дизайн для создания программ на языке определения данных DDL.
[Содержание] [Вперед]