Нежелательные ФЗ

Некоторые функциональные зависимости, входящие в неприводимое множество ФЗ отношения, являются нежелательными, так как приводят к дублированию информации, что, в свою очередь, создает проблемы обновления данных и представляет угрозу целостности БД.

Например, добавим в отношение Сотрудники дополнительный атрибут возрастная_категория, который может принимать значения «несовершеннолетний», «пенсионер» и NULL для остальных сотрудников. Добавление этого атрибута внесет новую ФЗ в неприводимое множество ФЗ:

(дата_рождения, пол) ® возрастная_категория

(граница пенсионного возраста зависит от пола, поэтому в общем случае возрастную категорию определяют два атрибута)

Данную ФЗ отнесем к нежелательным по двум причинам. Во-первых, новый столбец возрастная_категория будет содержать очень много дублирующихся значений. Во-вторых, для поддержки актуального состояния этого атрибута придется каждый день выполнять пересчет его значений. Если хотя бы один день не будет выполнено такое обновление, база данных окажется в противоречивом состоянии. При любых законодательных изменениях возрастных границ снова придется обновлять атрибут возрастная_категория для всех сотрудников.

Правильным решением будет создание отдельного отношения, содержащего всю информацию, необходимую для определения возрастной категории по известной дате рождения и полу сотрудника. Можно предложить, например, такую схему отношения:

Возрастные_категории (код_категории, название, пол, возрастная граница)

В отношении будет всего три кортежа (по одному на каждую возрастную категорию), поэтому никакого дублирования информации не будет. Любые изменения возрастных границ достаточно обновить в одном месте.

Приведенный пример пока не дает ответа на вопрос, каким образом удобнее выявлять нежелательные ФЗ, однако указывает путь их устранения – вынесение нежелательных ФЗ в отдельные отношения.

Этот процесс называется декомпозицией (разбиением) имеющихся отношений. В процессе декомпозиции количество отношений в базе данных увеличивается, но общее количество хранимых данных, как правило, сокращается за счет устранения дублирования данных.








Дата добавления: 2015-08-26; просмотров: 1161;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.