Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Функциональные и многозначные зависимости. Аксиомы Армстронга. Нормальные формы и нормализация отношений.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
БД представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. Реляционная база данных содержит как структурную, так и семантическую информацию. Структура базы данных определяется числом и видом включенных в нее отношений, и связями типа "один ко многим", существующими между кортежами этих отношений. Семантическая часть описывает множество функциональных зависимостей, существующих между атрибутами этих отношений. Между атрибутами А и В существует функциональная зависимость, если любое значение атрибута А однозначно определяет значение атрибута В. Пример: В отношении R (преподаватель, кафедра) между атрибутами преподаватель и кафедра имеется функциональная зависимость, поскольку каждый преподаватель может быть приписан лишь к одной кафедре (предполагается, что совместительство не допускается). Функциональные зависимости представляют собой связи типа "один ко многим", существующие внутри отношения. Некоторые функциональные зависимости могут быть нежелательны. Обобщением понятия функциональной (однозначной) зависимости является понятие многозначной зависимости. Наличие в отношении многозначной зависимости является необходимым и достаточным условием его декомпозиции на две проекции. Многозначная зависимость имеет смысл только для отношений с тремя и более атрибутами. Проще всего понятие многозначной зависимости объяснить для отношения с тремя атрибутами. Пусть дано некоторое отношение R(A1, А2, A3), для которого выполняются следующие условия: 1. атрибут А1 не определяет однозначно атрибут А2, т. е. нет функциональной зависимости {А1}à{А2}; 2. атрибуты А2 и A3 не зависят друг от друга, т. е. в отношении R(A1, А2, A3) любое значение А2 может сочетаться в кортежах с любым значением A3. Тогда в отношении R(A1, А2, A3) выполняется многозначная зависимость между атрибутами А1 и А2, которая обозначается как { А1 }->>{ А2 }. При этом говорят, что атрибут А1 многозначно определяет атрибут А2. Это частное определение многозначной зависимости, возможно, и не очень понятное. Пример: Пусть дано отношение R (преподаватель, дисциплина, увлечение), которое содержит сведения о преподавателях, дисциплинах, занятия по которым они проводят, и личных увлечениях (хобби). Предполагается, что один преподаватель может проводить занятия по нескольким дисциплинам, т. е. атрибут преподаватель не определяет однозначно атрибут дисциплина. Далее, мы считаем, что нет никакой связи между дисциплинами и увлечениями преподавателей. Иначе говоря, если известно, что преподаватель читает студентам, например, математический анализ, то из этого нельзя однозначно определить, чем конкретно он увлекается. И наоборот, если мы знаем о конкретном увлечении преподавателя классической музыкой, то не можем однозначно сказать, какой именно дисциплиной он занимается. Все это означает, что в рассматриваемом отношении значения атрибутов дисциплина и увлечение могут сочетаться произвольным образом. Итак, атрибуты дисциплина и увлечение не зависят друг от друга, а атрибут преподаватель не однозначно определяет атрибут дисциплина. Поскольку в отношении R постулируется независимость атрибутов дисциплина и увлечение, то в этом отношении каждое сочетание значений атрибутов преподаватель и дисциплина должно сочетаться с каждым значением атрибута увлечение. Аксиомы Армстронга. Одни функциональные зависимости могут подразумевать другие функциональные зависимости. В качестве примера можно привести переменную-отношение R с атрибутами А, В и С, для которых выполняются функциональные зависимости А à В и В à С. Нетрудно заметить, что в этом случае также выполняется функциональная зависимость А à С, которая называется транзитивной функциональной зависимостью, т.е. С зависит от А транзитивно, через В. Множество всех функциональных зависимостей, которые подразумеваются заданным множеством функциональных зависимостей S, называется замыканием множества S и обозначается символом S+. Из приведенного определения следует, что для решения сформулированной задачи необходимо найти способ вычисления S+ на основе S. Первая попытка решить эту проблему была предпринята в статье Армстронга, в которой автор предложил набор правил вывода новых функциональных зависимостей на основе заданных (эти правила также называются аксиомами Армстронга). Правила вывода могут формулироваться разными способами, и самым простым из них является следующий. Пусть А, В и С — произвольные подмножества множества атрибутов заданной переменной-отношения R. Условимся также, что символическая запись АВ означает объединение множеств А и В. Тогда правила вывода определяются следующим образом. 1. Правило рефлексивности: если множество В является подмножеством множества А, то А à В. 2. Правило дополнения: если А à В, то АС à ВС. 3. Правило транзитивности: если А à В и В à С, то А à С. Каждое из этих трех правил может быть непосредственно доказано на основе определения функциональной зависимости (первое из них — просто определение тривиальной зависимости). Нормализация. База данных может быть спроектирована хорошо или плохо. В плохом проекте часто возникают аномалии модификации данных, устранить которые довольно трудно. Такие аномалии могут возникнуть даже в однотабличной базе данных. Например, если в таблице удалить дисциплину География, то пропадет и вся информация о преподавателе Арбузов. Аномалия модификации, возникшая в рассмотренном примере, обусловлена тем, что данная таблица содержит информацию, относящуюся к различным темам. Вообще говоря, любую таблицу, относящуюся к двум или более темам, следует разбить на две или более таблицы. Таблицы классифицируются по тем видам аномалий модификации, которым они подвержены. Это так называемые нормальные формы таблиц (отношений). В своей статье 1970 г. И. Кодд определил три источника аномалий и три формы таблиц, свободных от них. В последующие годы он и другие исследователи обнаружили другие виды аномалий и предложили формы таблиц, которые им не подвержены. Из всего сказанного выше следует определение: Нормализация – обратимый пошаговый процесс замены данной совокупности отношений другой схемой с устранением избыточных функциональных зависимостей. 1NF Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Замечание: в реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. То есть само определение понятия отношение заведомо подразумевает наличие 1NF. 2NF Таблица находится во второй нормальной форме, если она находится в 1 НФ, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей). 3NF. Таблица находится в третьей нормальной форме, если она находится во 2 НФ, и при этом любой её неключевой атрибут функционально зависит только от первичного ключа. Или что тоже самое - "нет зависимостей неключевых атрибутов от других неключевых атрибутов + 2НФ". НФБК. Между третьей и четвертой формами существует еще одна разновидность — нормальная форма Бойса-Кодда (НФБК). Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется для них создаётся отдельное отношение. Чтобы сущность соответствовала НФБК, она должна находиться в 3 НФ. Любая сущность с единственным возможным ключом, соответствующая требованиям 3 НФ, автоматически находится в НФБК. 4NF. Четвертая нормальная форма касается отношений, в которых имеются повторяющиеся наборы данных. Декомпозиция, основанная на функциональных зависимостях, не приводит к исключению такой избыточности. В этом случае используют декомпозицию, основанную на многозначных зависимостях. 5NF. Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной. 4 НФ и 5 НФ в большей степени являются теоретическими исследованиями, и практически не применяются при реальном проектировании баз данных. Обычно ограничиваются 2-3 НФ. Иначе БД будет содержать большое количество таблиц, что может снизить эффективность работы с ней.
|
||||
Последнее изменение этой страницы: 2016-08-26; просмотров: 581; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.98.91 (0.008 с.) |