русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 527; Нарушение авторских прав


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

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

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

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

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

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

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

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

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



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



<== предыдущая лекция | следующая лекция ==>
Математические свойства ФЗ, теоремы | Теорема Хеза


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.288 сек.