Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
t42_Методич_пос_часть2.doc
Скачиваний:
40
Добавлен:
26.08.2019
Размер:
4.57 Mб
Скачать

Нормализация и денормализация

Нормализация – процесс проверки и реорганизации сущностей и атрибутов с целью удовлетворения требований к реляционной модели данных. В результате нормализации должна быть создана структура данных, в которой информация о каждом факте хранится только в одном месте. Нормализация позволяет значительно сократить объем памяти для хранения информации и устранить аномалии в организации хранения данных. Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам – формализованным требованиям к организации данных. Известно 6 нормальных форм (Для углубленного изучения нормализации следуют обратиться к книге К. Дж. Дейта «Введение в системы баз данных»). На практике ограничиваются приведением данных к третьей нормальной форме (полная атрибутивная модель). На рис. 70 приведен пример ненормализованной сущности, а на рис. 71 – соответствующая структура данных, приведенная к третьей нормальной форме.

ERwin DM не может проводить автоматическую нормализацию, но некоторые из его функциональных возможностей облегчают создание нормализованной модели данных. Запрет на присвоение неуникальных имен в рамках модели (при соответствующей установке опции Unique Name) облегчает соблюдение правила «один факт – в одном месте». Имена ролей атрибутов внешних ключей и унификация атрибутов также облегчают построение нормализованной модели.

Рис. 70. Пример ненормализованной сущности.

Рис. 71. Результат нормализации сущности «Сотрудник» (3НФ).

Часто нормализация не ведет к повышению производительности информационной системы в целом. Например, информация о сотрудниках (рис. 70) в результате приведения к третьей нормальной норме была рассредоточена в четырех связанных таблицах (рис. 71). Хотя общее число строк в этих таблицах может быть меньше, чем в исходной (до нормализации), теперь для получения полной информации о сотруднике серверу базы данных необходимо обращаться одновременно к четырем таблицам (объединение таблиц, join). Время выполнения запроса с объединением может во много раз превосходить время выполнения запроса к одной таблице. В приведенном примере общая производительность информационной системы в результате нормализации скорее всего упадет. В целях повышения производительности при переходе на физический уровень приходится сознательно отходить от нормальных форм, чтобы использовать возможности конкретного сервера или информационной системы в целом, т.е. проводить денормализацию. В каждом конкретном случае приходится искать конкретные решения по денормализации, учитывающие специфику информационной системы и бизнес-правила предметной области.

ERwin DM позволяет сохранить на логическом уровне нормализованную структуру, при этом построить на физическом уровне структуру (возможно, денормализованную), которая обеспечит лучшую производительность. Для поддержки денормализации ERwin DM позволяет создавать сущности, атрибуты, ключи и домены только на уровне логической модели, включив в соответствующих диалогах опцию Logical Only. (см. рис. 32, 38, 68). Такие объекты не будут отображаться на уровне физической модели и не будут созданы при генерации базы данных. С другой стороны, таблицы, колонки, домены и индексы можно создавать только на уровне физической модели (опция Physical Only в соответствующих диалогах). Кроме того, ERwin DM имеет набор инструментов, сведенных в панель трансформаций (см. табл. 5), который может быть использован для денормализации модели. (О поддержке трансформаций в ERwin DM будет рассказано в. разделе «Трансформации».)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]