Главная страница
Навигация по странице:

  • Нормализованным отношением

  • Нормальные формы Наличие тех или иных зависимостей в отношении определяет степень его нормализации.Определение первойнормальнойформы

  • Capp (ComputerAided Process Planning) Автоматизированное технологическая подготовка производства (планирование технологических процессов)


    Скачать 1.81 Mb.
    НазваниеCapp (ComputerAided Process Planning) Автоматизированное технологическая подготовка производства (планирование технологических процессов)
    Дата19.10.2021
    Размер1.81 Mb.
    Формат файлаdocx
    Имя файлаCAPP.docx
    ТипЗадача
    #251303
    страница7 из 11
    1   2   3   4   5   6   7   8   9   10   11

    Сущность нормализации

    <891011121314>

     

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

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

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

    Рассмотрим БД для консультанта университета, состоящую из одной таблицы Консультант со следующими полями: № студентаФИО студента№ комнаты№ телефона№ курсаСеместр1, Оценка:

     

     

    № сту­дента

    ФИО студента

    № комнаты

    № телефона

    № курса

    Семестр

    Оценка




    Васильев О.И.







    ТВПС










    Васильев О.И.







    МСиС










    Васильев О.И.







    БД










    Васильев О.И.







    ТВПС










    Воловик В.А.







    ТВПС










    Воловик В.А.







    БД










    Воловик В.А.







    ООП










    Борисов И.Ю.







    ВМ










    Борисов И.Ю.







    ПиП










    Борисов И.Ю.







    ОС










    Гатаулин А.Е.







    ООП







     

     

    Проблема включения. Когда у консультанта появляется новый консультируемый им студент, для него необходимо включить в БД кортеж с пустыми ячейками атрибутов: СеместрОценка, что повлечет за собой аномалии при поиске и редактировании данных (например, в результате запроса «Выдать список фамилий и номеров студентов, получивших хотя бы одну оценку ниже 3» в число таких студентов попадут такие, которые не закончили ни одного курса).

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

    Явная избыточность: фамилия студента, его номер комнаты и номер телефона появляются в отношении не один раз. Например, если студент Васильев О.И. обратится к консультанту и сообщит ему об изменении номера своей комнаты, то консультант будет вынужден проследить изменение этого номера во всех четырех кортежах во избежание противоречивости данных.

    Неявная избыточность: один и тот же номер телефона имеют все студенты, живущие в одной комнате. Допустим, Васильев О.И. извещает консультанта о том, что его номер телефона изменен на 7777, забыв при этом сообщить о друге по комнате, консультант меняет телефонный номер в кортежах для Васильева О.И. – в результате правильный номер телефона будет фактически утерян.

    Выясним различие между дублированием данных и избыточным дублированием данных.

    Рассмотрим отношение СлужащийНачальник:

     

    № служащего

    Начальник




    Джонс




    Смит




    Смит




    Джонс

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

     

     

    № служащего

    Начальник




    Джонс




    Смит




     




     

    Дублированные фамилии удалены – и невозможно узнать фамилии начальников для служащих с номерами 195 и 200.

     

    Теперь рассмотрим отношение СлужащийНачальникТелефон (предполагаем, что каждый начальник имеет только один телефонный номер):

     

    № служащего

    Начальник

    № телефона




    Джонс







    Смит







    Смит







    Джонс




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

     

    Для исключения избыточности телефонных номеров данное отношение разбивается на следующие два:

    СлужащийНачальник НачальникТелефон

    №_служащего

    Начальник

     

    Начальник

    Телефон




    Джонс

     

    Джонс







    Смит

     

    Смит







    Смит

     

     

     




    Джонс

     

     

     

    Данные отношения являются проекциями исходного отношения, естественное соединение которых даст опять таки его.

     

    Проблема удаления. В экземпляре1 отношения Консультант имеется только один кортеж для студента с фамилией Гатаулин. Предположим, консультант узнает, что этот студент не закончил курс ООП, как это отмечено, и удаляет соответствующий кортеж, что приведет к потере из БД информации об этом студенте.

    Дадим определение функциональнойзависимости между данными.

    Пусть имеется отношение r(A1, A2, …, An). Атрибут А2 отношения r функционально зависит от атрибута A1 того же отношения, если в каждый момент времени каждому значению атрибута А1 соответствует не более, чем одно значение атрибута А2 (то есть функциональная зависимость А2 от А1 означает, что если в любой момент времени известно значение А1, то можно однозначно получить и значение А2). Обозначается:

    А1 ® А2.

    Рассмотрим отношение Студент (№ зачетной книжки№ группыФИО).

    Функционально зависимы следующие атрибуты:

    зачетной книжки ® № группы;

    зачетной книжки ® ФИО.

    Если предположить, что имеются полные однофамильцы, то:

    ФИО ↛ № зачетной книжки;

    ФИО ↛ № группы.

    Атрибут может функционально зависеть не от какого-то одного атрибута, а от целой группы атрибутов, то есть А1 и А2 могут быть составными.

    В связи с этим дадим определение полной функциональной зависимости.

    Если в отношении r для множеств атрибутов А1 и А2 имеет место А1 ® А2 и при этом   ↛ А2, где   – подмножество А1 (   ), то говорят, что множество атрибутов А2 функционально полно зависит от всего множества А1, но не зависит ни от какого подмножества А1.

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

    В качестве примера обратимся к атрибутам отношения Консультант. Функционально зависимы следующие атрибуты:

    студента ® ФИО студента;

    студента ® № комнаты;

    студента ® № телефона;

    комнаты ® № телефона;

    телефона ® № комнаты;

    студента№ курсаСеместр ® Оценка.

    Другой способ представления функциональных зависимостей:



     

    Нормальные формы

     

    Наличие тех или иных зависимостей в отношении определяет степень его нормализации.

    Определение первойнормальнойформы (1НФ): отношение r находится в 1НФ, если каждый его элемент имеет и всегда будет иметь атомарное значение. (Это определение просто устанавливает тот факт, что любое нормализованное отношение находится в 1НФ.)

    Примером отношения, находящегося в 1НФ, является отношение Консультант. На этом примере мы уже пояснили, почему отношение, находящееся в 1НФ, имеет нежелательную структуру.

    Определение второйнормальнойформы (2НФ): отношение r находится во 2НФ, если оно находится в 1НФ и если каждый его атрибут, не являющийся основным атрибутом, функционально полно зависит от первичного ключа этого отношения.

    Атрибут Ai отношения r называют основным атрибутом, если он является элементом первичного ключа данного отношения.

    Рассмотрим отношение Факультет (Код факультетаНаименование факультетаФИО декана№ телефона).

    Функционально зависимы следующие атрибуты (исходим из предположения, что на одном телефонном номере может «висеть» несколько абонентов):

     Код факультета

    Наименование факультета

    ФИО декана

    телефона

    Таким образом, в рассматриваемом отношении три возможных ключа: Код факультетаНаименование факультетаФИО декана. Выберем в качестве первичного ключа атрибут Код факультета. Атрибуты Наименование факультетаФИО декана№ телефона, не являющиеся основными, функционально полно зависят от первичного ключа отношения, значит отношение находится во 2НФ.

    Рассмотрим отношение СтудентКурспроект (№ студентаКод предметаФИО студента№ группыФИО преподавателяПроцент выполнения). Предположим, что в одной группе могут учиться полные однофамильцы. Тогда у этого отношения один возможный ключ: № студентаКод предмета. Атрибуты ФИО студента и № группы не являются основными, но функционально зависят от основного атрибута № студента, являющегося элементом ключа (т. е. отношение не находится во 2НФ).

    ФЗ между атрибутами данного отношения:

     № студента

    Код предмета

    ФИО студента

    группы

    ФИО преподавателя

    Процент выполнения

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

     № студента

    ФИО студента

    группы

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

     

     № студента

    Код предмета

    ФИО преподавателя

    Процент выполнения

    получим два отношения во 2НФ.

    Отношения Студент (№ студентаФИО студента№ группы) и Курспроект (№ студентаКод предметаФИО преподавателяПроцент выполнения) являются проекциями исходного отношения, естественное соединение которых даст его. Таким образом, в процессе преобразования никакая информация не теряется, любая информация, которая может быть получена из первоначальной структуры, может быть получена и из новой структуры. Обратное, однако, неверно: новая структура может содержать информацию (например, о студентах, еще не получивших задания на курсовое проектирование), которая не может быть представлена в первоначальной структуре. В этом смысле новая структура является более точным отображением реального мира.

    Приведение отношения ко 2НФ заключается в обеспечении полной функциональной зависимости всех неосновных атрибутов от первичного ключа за счет разбиения отношения на несколько.

    Определение третьейнормальнойформы (3НФ): отношение r находится в 3НФ, если оно является отношением во 2НФ, и каждый его атрибут, не являющийся основным, не транзитивно зависит от первичного ключа этого отношения.

    Транзитивная зависимость определяется следующим образом: если X ® Y и Y ® Z, то X ® Z (Z транзитивно зависит от X).

    Приведение отношения к 3НФ заключается в устранении транзитивных зависимостей в отношении путем разбиения исходного отношения r(X, Y, Z) на: r1(X, Y) и r2(Y, Z).

    Рассмотрим отношение Общежитие (Код студента№ группы№ комнатыСтароста комнаты).

    F-зависимости между атрибутами данного отношения:

     Код студента

    группы

    комнаты

    Староста комнаты

    Возможным и единственным ключом отношения является атрибут Код студента. Отношение находится во 2НФ, но не в третьей, так как неосновной атрибут Староста комнаты зависит от атрибута № комнаты, который, в свою очередь, зависит от ключа отношения Код студента, и, следовательно, атрибут Староста комнаты транзитивно зависит от ключа. Данное отношение имеет недостатки (например, если студент переходит жить в другую комнату, то работающему с данной БД необходимо, кроме номера комнаты, не забыть изменить и старосту комнаты).

    Для устранения недостатков разобьем отношение на следующие два:

     Код студента № комнаты

    группы Староста комнаты

    комнаты

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

    Отношение может быть в 3НФ и при этом все же иметь некоторые нежелательные свойства.

    Например, рассмотрим отношение ГАИ (городадресиндекс), где индекс – это индекс отделения связи, адрес – название улицы, номер дома и номер квартиры.

    F-зависимости между атрибутами отношения:

     Город

    Адрес

    Индекс

    Т. е. полный адрес определяет почтовый индекс, а тот, в свою очередь, определяет название города, но не определяет адрес.

    Ключом отношения является составной атрибут: городадрес. Отношение находится в 3НФ (в нем нет транзитивных и неполных зависимостей).

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

    Для устранения недостатков 3НФ вводится четвертая нормальная форма, имеющая две разновидности.

    Первая разновидность известна под названием нормальнойформыБойса -Кодда (НФБК) (в некоторых литературных источниках она называется усовершенствованной 3НФ).

    Определение: отношение r находится в НФБК, если и только если каждый детерминант отношения является возможным ключом.
    1   2   3   4   5   6   7   8   9   10   11


    написать администратору сайта