Тема 4. Методика построения информационной модели данных (модели «сущность-связь»)
Разработка диаграммы сущность-связь включает следующие основные этапы:
1) идентификация сущностей, их атрибутов, их первичных и альтернативных ключей;
2) идентификация отношений между сущностями и указание типов отношений;
3) разрешение неспецифических отношений.
Для реляционной модели данных неспецифическими являются отношения типа многие-ко-многим.
Первый этап является определяющим при построении модели данных. Исходной информацией для данного этапа является содержимое хранилищ данных функциональной модели системы. На первом этапе осуществляется упрощение схемы отношений за счет ее нормализации путем избавления от повторяющихся строк таблицы. Нормализация всегда выполняется путем расщепления сущности на две или более простых сущностей.
Методы нормализации схемы базы данных были предложены Коддом в работах, посвященных реляционной модели данных. Кодд определил для схемы отношений существование трех нормальных форм: первой, второй и третьей.
В дальнейшем было установлено также существование нормальной формы Бойса-Кодда, а также четвертой и пятой нормальной формы. На практике нормализация схемы базы данных обычно выполняется до третьей нормальной формы или до нормальной формы Бойса-Кодда.
Сущность находится в первой нормальной форме, если в ней отсутствуют повторяющиеся записи.
Сущность находится во второй нормальной форме, если все неключевые атрибуты функционально полно зависят от первичного ключа.
Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и никакой из неключевых атрибутов не является зависимым ни от какого другого ключевого атрибута.
Сформулируем алгоритм приведения ненормализованной схемы к третьей нормальной форме:
1) Расщепить схему на схемы сущностей, не содержащие повторяющиеся атрибуты.
2) Объявить один или более атрибутов первичными ключами, при этом количество атрибутов, входящих в состав первичного ключа, должно быть минимальным.
3) Для схем сущностей, где ключи состоят более чем из одного атрибута, надо проверить, чтобы каждый неключевой атрибут функционально полно зависел от первичного ключа. Если это не так, то схему сущности необходимо расщепить.
4) Проверить, являются ли все ключевые атрибуты взаимно независимыми. Если это не так, то необходимо выполнить декомпозицию соответствующей сущности или удалить избыточные атрибуты.
Дата добавления: 2021-07-22; просмотров: 363;