Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Лабам ББД.doc
Скачиваний:
47
Добавлен:
15.04.2015
Размер:
792.58 Кб
Скачать

Поставщики

Поставщик

Город

Страна

"Полесье"

Киев

Украина

"Наталка"

Киев

Украина

"Хуанхэ"

Пекин

Китай

“Юрмала”

Рига

Латвия

"Лайма"

Рига

Латвия

...

...

...

Рисунок 1.2 –Таблица реляционной БД с функциональной зависимостью

В приведенной таблице «Поставщики» поле «Страна» функционально зависит от составного ключа («Поставщик», «Город»). Однако последняя зависимость не является функционально полной, так как «Страна» функционально зависит и от части ключа – поля «Город».

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

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

ОБУЧЕНИЕ

Дисциплина

Преподаватель

Учебник

Информатика

Шипилов П.А.

Форсайт Р. Паскаль для всех

Информатика

Шипилов П.А.

Уэйт М. и др. Язык Си

Информатика

Голованевский Г.Л.

Форсайт Р. Паскаль для всех

Информатика

Голованевский Г.Л.

Уэйт М. и др. Язык Си

...

...

...

Рисунок 1.3 – Таблица с многозначной зависимостью

Для примера рассмотрим таблицу "Обучение", приведенную на рисунке 1.3. В ней есть многозначная зависимость "Дисциплина-Преподаватель": дисциплина (в примере Информатика) может читаться несколькими преподавателями (в примере Шипиловым и Голованевским). Есть и другая многозначная зависимость "Дисциплина-Учебник": при изучении Информатики используются учебники "Паскаль для всех" и "Язык Си". При этом Преподаватель и Учебник не связны функциональной зависимостью, что приводит к появлению избыточности (для добавление еще одного учебника придется ввести в таблицу две новых строки). Дело улучшается при замене этой таблицы на две: (Дисциплина-Преподаватель и Дисциплина-Учебник).

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

Взаимно независимые атрибуты: два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.

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

Основной формой считается 3НФ – для большинства баз данных она является достаточной для обеспечения целей проектирования.

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

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

3НФ – Таблица находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. (Иными словами, таблица должна находиться во второй нормальной форме и ни одно из ее неключевых полей не должно однозначно идентифицироваться значением другого неключевого поля (полей)).

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

Таблица находится в нормальной форме Бойса-Кодда (НФБК), если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа.

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

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

Теперь можно дать определения высших нормальных форм. И сначала будет дано определение для последней из предложенных - 5НФ.

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

4НФ - Четвертая нормальная форма является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно двух проекций. Весьма не просто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была бы в 5НФ.

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

Вопросы для самоконтроля:

  • дайте понятие базы данных;

  • что такое реляционная модель данных;

  • дайте определение объекта, атрибута, отношения, кортежа, схемы отношений;

  • что такое нормализация, нормальных форм;

  • 1, 2, 3 нормальные формы. Дайте определение.