Денормализация в ERwin

В результате нормализации все взаимосвязи данных становятся правильно определены, исключаются аномалии при оперировании с данными, модель данных становится легче поддерживать. Однако часто нормализация данных не ведет к повышению производительности БД.

Пример. Производные атрибуты, ведущие к нарушению первой НФ.

Сотрудник= {Таб номер, Фамилия, …, Код Должности}

Должность= {Код Должности, Название должности, Оклад}

Связь необязательная один ко многим

Денормализуем - будет работать быстрее

Сотрудник= {Таб номер, Фамилия, …, Должность, Оклад}

Должность= { Должность, Оклад}

Рис. 6.20 – Нормализованная модель данных

Рис. 6.21 – Денормализованная модель данных

Аномалии обновления: если меняется оклад по должности - нужно менять оклад у всех сотрудников. Решение: обновлять только в таблице «Должность», выбирать данные - только из таблицы «Сотрудник». Нужна процедура синхронизации таблиц (триггер). Ответственность за механизм поддержания целостности данных ложится на разработчика БД.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: