русс | укр

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

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

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

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


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

Избыточные функциональные зависимости. Правила вывода


Дата добавления: 2013-12-23; просмотров: 1528; Нарушение авторских прав


Общая схема проектирования баз данных

Третья нормальная форма

 

Транзитивная зависимость. Пусть X, Y, Z – наборы атрибутов некоторого отношения.

Если X®Y, Y®Z но Y Х то X®Z , тогда говорят что Z транзитивно зависит от X

 

Пример: транзитивной зависимости Сном®Тном, Тном®Лном Þ Сном®Лном.

 

Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от ключа.

Если в отношении, находящемся в третьей нормальной форме, только один ключ и имеются зависимости только от ключа, оно будет свободно от аномалий.

 

Третья усиленная форма или нормальная форма Бойса–Кодда (НФБК)

 

Если отношение в третьей нормальной форме имеет несколько ключей или в нем существуют зависимости отличные от зависимостей от ключей, отношение будет иметь аномалии.

Отношение находится в НФБК тогда и только тогда, когда каждый детерминант отношения является возможным ключом. Отношение, создаваемое для начальника отдела имеет четыре детерминанта:

Сном

Лном

Тном

Сфам, Проект, Квартал

 

Кодд доказал, что отношение в НФБК практически не содержит аномалий, поэтому на практике придерживаются приведения отношения в НФБК.

 

 

· Строим универсальное отношение;

· Определяем все функциональные зависимости между атрибутами отношения;

· Определяем, находится ли отношение в НФБК, если да - проектирование закончить, если нет – отношение разбивается на два.

· Шаги 2 и 3 повторяются для всех отношений, полученных в результате декомпозиции, до тех пор пока все отношения не будут находиться в НФБК.

 

Декомпозиция получается приведением к получению двух отношений из одного.

Например, было R(X,Y,Z), а в результате декомпозиции получили два R1(X,Y), R2(Y,Z).



 

Декомпозиция аномального отношения выполняется следующим образом.

Пусть R – отношение, не находящееся в НФБК, ai – некоторый атрибут, детерминант и является первичным ключом. Пусть ai зависит от aj (ai ® aj). Эта зависимость препятствует нахождению отношения в НФБК. Отношение R(a1,…,ai,…,aj) разбивают на два

R1 (a1,…,ai,…,aj-1,aj) и R2(ai,aj)

Отношение R2 называется проекцией отношения R.

 

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

Теория реляционных баз данных говорит, что результаты запроса будут совпадать, если декомпозиция выполнена способом, при котором соединение R1 и R2 дает в точности исходное соотношение R1 – это декомпозиция без потерь.

Если естественное соединение R1 и R2 в итоге дает больше кортежей, чем в R – то это декомпозиция с потерями.

 

Отсутствие потерь при декомпозиции отношения R(X,Y,Z) в R1(X,Y), R2(Y,Z) гарантируется при условии, что от общего атрибута (Y) функционально зависит хотя бы один атрибут из двух оставшихся.

 

 

Возвратимся снова к нашему примеру.

У нас имеются следующие детерминанты:

Сном

Лном

Тном

Сфам, Проект, Квартал

Цепочки функциональных зависимостей:

Сном ® Лном ®Тном

Сном ® Тном ® Лном

Сном, Проект, Квартал®Вклад

Формируем отношения.

R1 (Сном, Сфам, Лном, Проект, Квартал, Вклад) – не находится в НФБК.

 

Рис. 6.2 Исходное отношение R1.

 

R2 (Лном, Тном) – находится в НФБК.

 

Сном ® Сфам и одновременно Сном ® Лном, значит Сном ® Сфам, Лном.

R3 (Сном, Проект, Квартал, Вклад) – находится в НФБК.

R4 (Сном, Сфам, Лном) – находится в НФБК.

Таким образом, в результате декомпозиции мы получили следующие отношения

R 2 (Лном, Тном)

R3 (Сном, Проект, Квартал, Вклад)

R4 (Сном, Сфам, Лном)

 

Рис. 6.3 Отношение R4 (Сном, Сфам, Лном)

 

Рис. 6.4 Отношение R 2 (Лном, Тном)

 

Рис. 6.5 Отношение R3 (Сном, Проект, Квартал, Вклад)

 

R2   R4   R3
Лном Тном   Сном Сфам Лном   Сном Проект Квартал Вклад
25АП 5-17   Иванов 25АП   РКТ14 1990,3
4КТ 8-29   Николаев 4КТ   Зенит 1990,3
14ММ 4-85   Андреев 25АМ   ВКТ14 1990,4
      Зайцев 14ММ   ВТА2 1990,4
              ВКТ14 1990,3
              ВТА8 1990,4
              ВКТ14 1990,4
              Зенит 1990,3
              ОТР6 1990,4
              ВКТ14 1990,4
              ОВ77 1990,3

 

Присутствуют ли в этой БД аномалии вставки, удаления и обновления?

 

Вставка. На работу в лабораторию 25АР приняли Сорокина, его номер 687. Эта информация помещается в отношение R3 <687,Сорокин, 25АР>. Если теперь сделать запрос составить список сотрудников, вклад которых хотя бы в один проект равен или меньше 2, мы получим ответ: Иванов, Андреев. Сорокина здесь нет таким образом аномалия вставки, присутствующая в исходном отношении, устроена в результате декомпозиции.

 

Обновление. В исходном отношении возникла проблема при изменении телефона у Иванова на 9-17

Запрос: напечатать телефон лаборатории 25АР

Ответ: 9-17

Аномалия обновления, исходного отношения устранена в результате декомпозиции.

 

Удаление. Финансирование проекта ОВ77 прекращено. Информация о проекте должна быть удалена из БД. В отношении R4 нужно удалить все записи со значением

Проект=ОВ77

В исходном отношении это правило к удалению из базы информации о сотруднике 559 Зайцев.

В нашем случае информация о сотрудниках храниться в R3 и не будет потеряна при удалении кортежей со значением Проект=ОВ77 из отношения R4 , таким образом, в результате декомпозиции устранена аномалия удаления. Цена за устранение аномалии – увеличение количества отношений. Теперь запросы к БД будут реализовываться более сложно, т.к. возможно понадобится прохождение цепочки из двух или трех отношений при поиске требуемых данных.

 

 

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

 



<== предыдущая лекция | следующая лекция ==>
Вторая нормальная форма | Правило 5. Псевдотранзитивность


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


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

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

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


 


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

 
 

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

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