Концептуальная модель базы данных
Главными элементами концептуальной модели данных являются объекты и отношения. Объекты представляют аспекты, которые пользователи считают важными в моделируемой части реальности. Отношения связывают два объектных множества. Отношение само по себе является объектным множеством, состоящим из пар объектов-элементов, взятых из двух множеств, которые соединяет отношение.
Вырабатываемая как результат обследования предметной области информационная модель (информационно-логическая, инфологическая или просто инфомодель) определяет совокупность информационных объектов, их атрибутов и отношений между объектами, динамику информационных изменений в предметной области, а также характер информационных потребностей пользователей; она может служить основой для проектирования баз данных, необходимых в составе проектируемой комплексной системы. Модель должна быть представлена в виде ER-диаграммы.
Важнейшая цель информационной модели заключается в выработке непротиворчивой интерпретации данных и взаимодействий между ними с тем, что необходимо для интеграции, совместного использования и управления целостностью данных.
Появление понятий концептуальной схемы данных привело к методологии семантического моделирования данных, т.е. к определению значений данных в контексте их взаимосвязей с другими данными.
Методология IDEF1X - один из подходов к семантическому моделированию данных, основанный на концепции "Сущность - Отношение" (Entity-Relationship), это инструмент для анализа информационной структуры систем различной природы. Информационная модель, построенная с помощью IDEF1X-методологии, представляет логическую структуру информации об объектах системы. Эта информация является необходимым дополнением функциональной IDEF0-модели, детализирует объекты, которыми манипулируют функции системы.
Концептуально IDEF1X-модель можно рассматривать как проект логической схемы базы данных для проектируемой системы. Основными объектами информационной модели являются сущности и отношения.
Сущность представляет множество реальных или абстрактных предметов (людей, объектов, мест, событий, состояний, идей, пар предметов и т.д.), обладающих общими атрибутами или характеристиками. Отдельный элемент этого множества называется "экземпляром сущности".Каждая сущность может обладать любым количеством отношений с другими сущностями.
Сущность является "независимой", если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями.
Сущность называется "зависимой", если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности.
Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношение, обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый образец сущности и может обладать любым количеством отношений с другими сущностями модели.
Если внешний ключ целиком используется в качестве первичного ключа сущности или его части, то сущность является зависимой от идентификатора. И наоборот, если используется только часть внешнего ключа или вообще не используются внешние ключи, то сущность является независимой от идентификатора.
Пример независимой сущности приведен на рис. 1, зависимой на рис. 2.
Рисунок 1- Пример независимой сущности
Рисунок 2 - Пример зависимой сущности
Сущность обладает одним или несколькими атрибутами. Правила атрибутов:
- каждыйатрибут должен иметь уникальное имя, одному и тому же имени должно соответствовать одно и то же значение. Одно и то же значение не может соответствовать различным именам;
- сущность может обладать любым количеством атрибутов. Каждый атрибут принадлежит в точности одной сущности;
- сущность может обладать любым количеством наследуемых атрибутов, но наследуемый атрибут должен быть частью первичного ключа соответствующей сущности-родителя или общей сущности;
- для каждого экземпляра сущности должно существовать значение каждого его атрибута (правило необращения в нуль);
- ни один из экземпляров сущности не может обладать более чем одним значением для связанного с ней атрибута (правило неповторения).
Сущности связаны друг с другом отношениями. Отношение связи, называемое также "отношение родитель-потомок", - это связь между сущностями, при которой каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров другой сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя.
Если экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем, то отношение называется "идентифицирующим отношением". В противном случае отношение называется неидентифицирующим
AllFusion ERwin Data Modeler (ранее: ERwin) позволяет проектировать, документировать и сопровождать базы данных, хранилища данных и витрины данных (data marts). Создав наглядную модель базы данных, вы сможете оптимизировать структуру БД и добиться её полного соответствия требованиям и задачам организации. Визуальное моделирование повышает качество создаваемой базы данных, продуктивность и скорость её разработки. ERwin облегчает проектирование баз данных. Для этого достаточно создать графическую E-R модель (объект-отношение), удовлетворяющую всем требованиям к данным и ввести бизнес-правила для создания логической модели, которая отображает все элементы, атрибуты, отношения и группировки. ERwin - не только лучший инструмент для проектирования баз данных, но и средство для их быстрого создания. ERwin оптимизирует модель в соответствии с физическими характеристиками целевой базы данных. В отличие от других инструментальных средств ERwin автоматически поддерживает согласованность логической и физической схем и осуществляет преобразование логических конструкций, таких как отношения многие-ко-многим, в их реализацию на физическом уровне.
ERwin устанавливает естественную динамическую связь между моделью и базой данных, что позволяет реализовать как прямой, так и обратный инжиниринг. Используя эту связь, ERwin автоматически генерирует таблицы, представления, индексы, правила поддержания целостности ссылок (первичных и внешних ключей), устанавливает значения по умолчанию и ограничения для доменов/столбцов.
Общий подход к построению БД с использованием ER-метода состоит в выполнении следующих шагов.
- анализ предметной области и выявление кандидатов на типы сущностей, связей между ними, атрибутов, имеющих значение для функционирования организации;
- анализ связей и определение их характеристик: степени связи, степени и полноты участия в связи;
- построение диаграммы ER-типов, включающей в себя все сущности и связи, важные с точки зрения интересов организации;
- построение набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения;
- подготовка списка всех представляющих интерес атрибутов (тех из них, которые не были уже перечислены в диаграмме ER-типов в качестве ключей сущности), и назначение каждого из этих атрибутов одному из предварительных отношений;
- проверка полученных предварительных отношений на их соответствие заданной нормальной форме (НФ);
- выявление вычисляемых атрибутов и описание алгоритма их вычисления;
- выявление и описание ограничений целостности, накладываемых на данные со стороны предметной области. Планирование способов их реализации в системе;
- построение схемы связей между отношениями;
- обсуждение полученной модели с представителями предметной области – будущими пользователями БД.