Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум_ТЭИС.doc
Скачиваний:
2
Добавлен:
16.11.2019
Размер:
2.61 Mб
Скачать

3. Нормализация отношений в реляционных бд

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

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

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

Функциональная зависимость атрибутов обозначаются А В. Отсутствие функциональной зависимости обозначается А -/→ В. Если между атрибутами существует взаимная функциональная зависимость, т.е. А В и В А, то она называется взаимно-однозначным соответствием и обозначается А В.

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

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

R1

Марка а/м

Год выпуска

ВАЗ 21043

2001

ВАЗ 21053

2002

ВАЗ 21099

2003

ВАЗ 2110

2002

ВАЗ 2121

2001

Допустим, что других автомобилей в организации нет, тогда можно утверждать, что существует функциональная зависимость Марка а/м → Год выпуска, поскольку каждому значению атрибута Марка а/м соответствует единственное значение атрибута Год выпуска. Действительно если рассматривать данную функциональную зависимость как утверждение о некоторых свойствах объектов, то можно сказать, что у каждой машины есть только один год выпуска. Утверждать обратное невозможно, поэтому Год выпуска -/→ Марка а/м.

Второй пример. Дано исходное отношение R1, в котором указаны Ф.И.О. человека и его ИНН, выданный налоговым органом.

R1

Ф.И.О.

ИНН

Петров В. И.

5000505332

Гудков П. В.

3434354678

Громов А.С.

6865445442

Кукушкин В. П.

1233484357

Дворников В.В.

8767645432

Можно утверждать, что каждому человеку принадлежит единственный ИНН и наоборот каждому ИНН соответствует единственный человек, т.е. Ф.И.О. ИНН.

Задание №1.

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

R1

Ф.И.О.

Номер паспорта

Год рождения

Адрес

Должность

Петров В.И.

123654

1980

Ленина, 2-25

директор

Гудков П.В.

345213

1985

Озерная, 32-12

мастер

Петрова А.С.

876356

1980

Ленина, 2-25

бухгалтер

Кукушкин В.П.

652579

1981

Лесная, 4-44

наладчик

Дворников В.В.

527894

1979

Зеленая, 10-15

мастер

При обработке данных в отношениях используются ключи. Существует несколько видов ключей:

  • вероятный ключ отношения;

  • первичный ключ отношения;

  • вторичный ключ отношения.

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

Пример. Дано исходное отношение.

R1

Марка автомобиля

Серия номера

Номер и регион

VIN

Адрес регистрации

ВА3 2104

вдс

654 34

500TT0505332

Ленина, 2-25

ВА3 2105

хта

213 34

3434YY3 54678

Озерная, 32-12

ВА3 2104

вдс

356 34

6865KK445442

Ленина, 2-25

ВА3 2107

ннс

579 34

12334LL84357

Лесная, 4-44

ВА3 2108

вво

894 34

876764GD5432

Зеленая, 10-15

В этом отношении можно выделить следующие вероятные ключи К1 (Серия номера, Номер и регион), К2 (VIN), КЗ (Серия номера, Номер и регион, VIN)

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

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

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

Для приведенного выше примера первичным ключом будет K2 (VTN).

Задание №2.

Дано следующее исходное отношение, в котором отражены сведения о сданных студентами экзаменах.

Rl

Код зачетки

Ф.И.О.

Предмет

Дата

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

Оценка

1 ПИ - 1295

Киселев А.С.

История

10.01.02.

Комаров С. И.

5

1 ПИ - 1296

Коршун В.В.

Философия

10.01.02.

Дружин В.И.

5

1 ПИ - 1297

Горин В.И.

История

10.01.02.

Комаров С. И.

4

1 ПИ - 1298

Сидоров Г.С.

Философия

11.01.02.

Дружин В.И.

4

1 ПИ - 1299

Петров Н.О.

История

11.01.02.

Комаров С.И.

5

Определите все вероятные ключи отношения. Определите первичный ключ отношения.