Методологию IDEF1 разработал Т. Рэмей. На ее основе была создана новая версия – IDEF1X, принятая в 1981 г. ICAM как федеральный стандарт США.
Целью логического проектирования является развитие концептуального представления базы данных с учетом принимаемой модели базы данных (иерархическая, сетевая, реляционная и т. д.).
Рассмотрим модель реляционной базы данных в третьей нормальной форме. Необходимо выполнить проверку концептуальной модели методами нормализации и контроля выполнения транзакций.
Транзакцией называется одно или несколько действий, которые выполняются как единое целое пользователем или пользователями (с помощью прикладных программ) для осуществления доступа к базе данных и изменения ее содержимого.
Удаление связей M:N
Если концептуальная модель содержит связи M:N, то они должны быть устранены через определение промежуточной сущности. Связь M:N заменяют двумя связями типа 1:M, которые устанавливают с новой созданной сущностью (рисунок 1).
Удаление связей с атрибутами
Связи с атрибутами необходимо преобразовать в сущности.
В концептуальной модели имела место связь M:N (Раздельные пункты : Пути), которая обладала собственными атрибутами. После устранения связи M:N, ее атрибуты стали атрибутами сущности Раздельные пункты на пути (рисунок 1, неключевые атрибуты).
Графическая нотация IDEF1X не предусматривает отображение связей с атрибутами.
Удаление сложных связей (степень участия больше двух)
Сложная связь заменяется нужным числом бинарных связей 1:М с новой сущностью, показывающей эту связь.
Удаление рекурсивных связей (степень участия один)
Рекурсивная связь заменяется после определения дополнительной сущности и необходимого количества связей (рисунок 2).
В представленной схеме может быть принято следующее правило: если атрибуты Табельный номер руков. и Табельный номер сущности Сотрудник совпадают, то набором атрибутов сущности Сотрудник характеризуется руководитель.
Удаление многозначных атрибутов (атрибуты, которые имеют несколько значений)
Многозначность можно устранить с помощью введения новой сущности и связи 1:М (рисунок 3).
Данное преобразование, кроме того, что соответствует реляционной модели данных, также может хранить любое число телефонов по одному филиалу.
Удаление избыточных связей
Связь называется избыточной, если одну и ту же информацию можно получить не только через нее, но и через другую связь (рисунок 4).
Здесь одна из связей Руководит может быть удалена (лучший вариант – удалить связь между Руководитель филиала и Сотрудник).
Перепроверка связей 1:1
При определении сущностей могут быть созданы сущности, которые являются одной. В таком случае их необходимо объединить.
Например, в примере на рисунке 4 сущности Руководитель филиала и Филиал лучше объединить.
Но выполнить такое объединение не всегда можно (рисунок 5).
Офисный пакет включает строго определенный набор компонентов, каждый из которых характеризует большое число атрибутов. К тому же, некоторых компонентов может не быть в офисном пакете (например, почтового клиента) или они могут не входить в его состав (являются самостоятельным продуктом). В таких случаях сущности лучше не объединять.