Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_ответы.doc
Скачиваний:
35
Добавлен:
27.10.2018
Размер:
21.59 Mб
Скачать

8 Нормалізація відношень. 1 та 2 нормальні форми.

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

Нормализация – это анализ отношения на основе первичного ключа и существующих функциональных зависимостей.

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

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

Потенциальный ключ [ключевой атрибут], состоящий из нескольких атрибутов, называется составным.

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

Первая нормальная форма (1НФ): каждая ячейка отношения содержит только атомарные значения атрибута

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

Приведение отношения к 1НФ:

Устранить повторяющиеся группы:

1 способ- ввести дубликаты неповторяющихся записей в пустые ячейки

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

Вторая нормальная форма (2НФ): отношение находится в 1НФ и все атрибуты полностью зависят от ключевых атрибутов

Приведение отношения к 2НФ:

Из отношения удаляются функционально-зависимые атрибуты и переносятся в новое отношение вместе с копией детерминантов. В новом отношении детерминанты становятся ключами

Пример. Таблица в 1-й нормальной форме:

Агентство недвижимости

Код клиента

Клиент

Код

Недв.

Адрес

Начало аренды

Конец аренды

Плата

Код влад.

Влад.

01

Петров

К10

Победа 17

11.01.09

11.05.09

100

123

Серов

01

Петров

К12

Ленина14

01.01.09

01.03.09

150

124

Петик

02

Петров

К10

Победа 17

05.09.08

05.12.08

100

123

Серов

02

Сыч

К5

Гоголя 3

18.11.09

18.05.09

90

195

Кирп

02

Сыч

К12

Ленина 14

24.02.08

31.12.08

150

124

Петик

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

Приведение этой таблицы ко второй нормальной форме.

Код клиента, код недвижимости → начало аренды, конец аренды [первичный ключ].

Код клиента → клиент [частичная зависимость].

Код недвижимости → адрес, плата, код владельца, владелец [частичная зависимость].

Код клиента, начало аренды → код недвижимости, адрес, конец аренды, код владельца, владелец [потенциальный ключ].

Код недвижимости, начало аренды → код клиента, конец аренды [потенциальный ключ].

Код владельца → владелец [транзитивная зависимость].

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

Клиент (код клиента, клиент)

Недвижимость (код клиента, код недвижимости, начало аренды, конец аренды)

Владелец (код недвижимости, адрес, …)