![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Рассмотрим пример ненормализованных отношений, приводимых к НФБК.
Ненорм. отношения создаются на основе анализа предметной области и требований пользователей, которые предъявляется к данным.
>: Компания выполняет операции с объектами недвижимости по поручению владельца. Как часть этой деятельности, предусматривается проверка объекта недвижимости. Эту проверку выполняют сотрудники компании. Для проведения проверки сотрудникам предоставляется АВТО. В течение дня 1 авто может предоставлятся разным сотрудникам. Каждый сотрудник может выполнять в день проверку нескольких объектов недвижимости. Каждый объект в день может проверятся только 1 раз.
Ненормализованное отношение = Property_Inspection
Потенц. ключ: (Property_No, IDate)
(Staff_No, IDate, ITime)
(Car_Reg, IDate, ITime)
Преобразование к 1НФ будет выполнятся добавлением новой строки в отношение, то есть данные об объекте PG4 будут представлены 3-мя строками в таблице, PG16 – 2-мя. Проанализировав отношение 1НФ, сделаем вывод, что оно содержит избыточные данные, оно подвержено аномалиям обновления. Поэтому необходимо это отношение преобразовать ко 2НФ.
Функциональные зависимости:
fd1: Property_No, IDate ITime, Comment, Staff_No, Sname, Car_Reg–превичн. ключ.
fd2: Property_No PAdress – частичная зависимость.
fd3: Staff_No Sname – транзитивная зависимость.
fd4: Staff_No, IDate Car_Reg – полная зав-ть.
fd5: Car_Reg, IDate, ITime Property_No, PAdress, Comment, Staff_No, Sname – полная зав-ть для потенциального ключа.
fd6: Staff_No, IDate, ITime Property_No, PAdress, Comment, Staff_No, Sname
Приведение ко 2 НФ – устанавливает частичные зависимости.
Это выполн. создание 2-х новых отношений:
Prop(Property_No, PAdress)
Prop_Inspection (Property_No, IDate, ITime, Comment, Staff_No, Sname, Car_Reg)
Приведение к 3 НФ – устанавливает транзитивную зависимость.
Чтобы установить транзитивную зависимость (fd3) необходимо зависимые атрибуты вместе с копией детерминанта переносить в новое отношение. Prop_Inspection преобразовывается в отношение:
Staff (Staff_No, Sname)
Prop_Inspection (Property_No, IDate, ITime, Comment, Staff_No, Sname, Car_Reg)
Проанализировав полученные отношения на предмет удовлетворения НФБК. Отношение находится в этой форме, если кажд. детермин. отнош. явл. потенциальным ключом. Преобразуем к НФБК: первых 2 удовлетворяет так как каждый детерминант является потенциальным ключом.
Аналогично 3-е отношение:
Property_No, IDate ITime, Comment, Staff_No, Sname, Car_Reg
Staff_No, IDate Car_Reg
Staff_No, IDate, ITime Property_No, Comment
Анализируем 2-ю функциональную зависимость. Детермин. отнош. не явл. потенц. ключом, т.е. отнош. будет страдать аномал. обновл.. Например, изменился № авто, необходимо будет вносить изменения сразу в нескольких строчках отнош., иначе данные будут противоречивыми. Поэтому отношение Prop_Inspection разбивается на 2 новых отношения, это отношение:
Сar(Staff_No, IDate, Car_Reg)
Inspection (Property_No, IDate, ITime, Comment, Staff_No)
Эти отношения удовлетворяют НФБК.
При нормализации отношений мы пользовались декомпозиц. отношениям без потерь(неаддитивной композиции). НФБК позволяет установить аномалии, которые вызваны fd. Помимо fd, в ходе аномалий выявлен еще 1 тип зависимости – многозначная зависимость.
Дата публикования: 2014-11-29; Прочитано: 290 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!