
5. Построение модели
Построение ERD включает следующие основные этапы:
Идентификация сущностей, их атрибутов, а также первичных ключей.
Идентификация отношений между сущностями и указание типов отношений.
Разрешение неспецифических отношений (отношений n*m).
Этап 1 является определяющим при построении модели. Его исходной информацией служит содержимое хранилищ данных, определяемое входящими и выходящими в/из него потоками данных.
На следующем шаге осуществляется упрощение схемы за счет устранения избыточности.
Следующий шаг – упрощение схемы при помощи нормализации (удаления повторяющихся групп).
Далее для идентификации сущностей определяются ключевые атрибуты.
Концепции и методы нормализации были разработаны Коддом, установившим существование трех типов нормализованных схем. названных в порядке уменьшения сложности первой, второй и третьей нормальной формой (соответственно, 1НФ, 2НФ и ЗНФ).
Согласно Кодду, любая нормализованная схема (схема без повторяющихся групп) автоматически находится в 1НФ независимо от того, насколько сложен ее ключ и какая взаимосвязь может существовать между ее элементами.
По определению схема находится в 2НФ, если все ее неключевые атрибуты полностью функционально зависят от ключа.
По определению схема находится в ЗНФ если она находится в 2НФ и никакой из неключевых атрибутов не является зависимым ни от какого другого неключевого атрибута. Иногда для построения ЗНФ необходимо выразить зависимость между неключевыми атрибутами в виде отдельной схемы.
На практике отношения 1НФ и 2НФ имеют тенденцию возникать при попытке описать несколько реальных сущностей в одной схеме (заказ и книга, проект и сотрудник). 3НФ является наиболее простым способом представления данных, отражающим здравый смысл. Построив 3НФ (рис.5.1), мы фактически выделяем базовые сущности предметной области.
Рис. 5.1. Алгоритм приведения в ЗНФ
Этап 2 служит для выявления и определения отношений между сущностями, а также для идентификации типов отношений. На данном этапе некоторые отношения могут быть неспецифическими (n*m – многие-ко-многим). Такие отношения потребуют дальнейшей детализации на этапе 3.
Определение отношений включает выявление связей. Для этого отношение должно быть проверено в обоих направлениях следующим образом: выбирается экземпляр одной из сущностей и определяется, сколько различных экземпляров второй сущности может быть с ним связано, и наоборот.
Этап 3 предназначен для разрешения неспецифических (многие ко многим) отношений. Для этого каждое неспецифическое отношение преобразуется в два специфических отношения с введением новых (а именно, ассоциативных) сущностей (рис. 5.2).
Рис. 5.2 Разрешение неспецифического отношения
Таким образом, ассоциативные сущности по своей природе являются представлениями пар реальных объектов и обычно появляются на этапе 3.
ВЫВОДЫ
ERD предназначены для разработки моделей данных. Они обеспечивают стандартный способ определения данных и отношений между ними. С помощью ERD осуществляется детализация хранилищ данных проектируемой системы. Данная нотация была введена Ченом и получила дальнейшее развитие в работах Баркера.
Основными понятиями ER-модели являются «сущность», «связь» и «отношение». Каждый экземпляр сущности должен быть отличим от любого другого экземпляра той же сущности.
Каждая сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности.
Детализация сущности осуществляется с использованием диаграмм атрибутов. Диаграмма атрибутов состоит из детализируемой сущности, соответствующих атрибутов и доменов.
Построение ERD включает следующие основные этапы:
Идентификация сущностей, их атрибутов, а также первичных ключей.
Идентификация отношений между сущностями и указание типов отношений.
Разрешение неспецифических отношений (отношений n*m).