Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзорные лекции БД / Обзорные_лекции_73.pps
Скачиваний:
12
Добавлен:
07.06.2015
Размер:
129.54 Кб
Скачать

73. Проектирование баз

данных. Метод нормальных форм

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

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

1

Особенности проектирования БД методом нормальных форм

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

Наиболее часто выделяют следующую последовательность нормальных форм: 1НФ, 2НФ, 3НФ, усиленная третья нормальная форма (нормальная форма Бойса-Кодда (БКНФ)), 4НФ, 5НФ.

2

Исходное отношение

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

Таблица Библиотека

3

автораКод

 

изданияКод

 

 

Издатель

 

 

 

Автор

 

Заголовок

Вид

ство

Город

Год

8

Богумирский Б.С.

3

Руководство

Учебник

Питер

Санкт-

1988

 

 

 

пользователя ПЭВМ

 

 

Петербу

 

 

 

 

 

 

 

рг

 

8

Богумирский Б.С.

5

Руководство

Учебник

Питер

Санкт-

1988

 

 

 

пользователя ПЭВМ

 

 

Петербу

 

 

 

 

 

 

 

рг

 

8

Богумирский Б.С

5

Руководство

Учебник

Питер

Санкт-

1988

 

 

 

пользователя ПЭВМ

 

 

Петербу

 

 

 

 

 

 

 

рг

 

8

Богумирский Б.С.

5

Руководство

Учебник

Питер

Санкт-

1988

 

 

 

пользователя ПЭВМ

 

 

Петербу

 

 

 

 

 

 

 

рг

 

2

Баженова И.Ю.

8

ORACLE 8/8i. Уроки

Учебник

Диалог-

Москва

2001

 

 

 

программирования

 

МИФИ

 

 

1

К. Дж. Дейт

9

Введение в системы баз

Монограф Вильямс

Москва

1999

 

 

 

данных

ия

 

 

 

5

Оливер В.Г.

10

Руководство по

Учебник

Финансы Москва

1995

 

 

 

реляционной СУБД DB2

 

и

 

 

 

 

 

 

 

статистик

 

 

 

 

 

 

 

а

 

 

7

Саймон Алан Р.

11

Стратегические

Монограф Финансы Москва

2000

 

 

 

технологии баз данных

ия

и

 

 

 

 

 

 

 

статистик

 

 

 

 

 

 

 

а

 

 

7

Саймон Алан Р.

11

Стратегические

Монограф Финансы Москва

2000

 

 

 

технологии баз данных

ия

и

 

 

 

 

 

 

 

статистик

 

 

 

 

 

 

 

а

 

 

7

Саймон Алан Р.

11

Стратегические

Монограф Финансы Москва

2000

 

 

 

технологии баз данных

ия

и

 

 

 

 

 

 

 

статистик

 

 

 

 

 

 

 

а

 

 

Переплет

 

Дата_выда

 

Дата_возв

Билет

 

 

 

 

 

 

 

 

 

 

 

Стоимость

чи

Срок

рата

 

Фамилия

Имя

Отчество

1

120,00р.

03.09.2004

30

 

1

ИВАНОВ

Иван

Иваныч

2

200,00р.

02.11.2004

60

02.01.2005

2

ПЕТРОВ

Петр

Петрович

2

200,00р.

 

0

 

1

ИВАНОВ

Иван

Иваныч

2

200,00р.

22.02.2005

14

 

1234

СИДОРОВ

Сидор

Сидорович

4

65,00р.

01.10.2004

60

01.12.2004

4

КУЗНЕЦОВ

Михаи

Григорьеви

 

 

 

 

 

 

 

л

ч

5

240,00р.

30.08.2004

90

 

5

ИВАНОВ

Антон

Петрович

6

70,00р.

29.10.2004

30

01.11.2004

6

ПЕТРОВ

Иван

Петрович

7

150,00р.

29.12.2004

5

 

7

КУЗНЕЦОВ

Сергей Иваныч

7

150,00р.

 

0

 

2

ПЕТРОВ

Петр

Петрович

7

150,00р.

21.02.2005

14

 

2

ПЕТРОВ

Петр

Петрович

Зависимости между атрибутами отношения

Атрибут B функционально зависит от атрибута A (A→B), если каждому

значению

A

соответствует

в

точности

одно

значение

B.

 

В рассматривавшемся отношении можно выделить

функциональные

зависимости

Код_автора→Автор,

 

Издательство→Город

и

другие.

Функциональная взаимозависимость (взаимно однозначное соответствие) между A и B имеется в том случае если существуют функциональные зависимости вида A→B и B→A.

Пример. Код_автора Автор (если нет авторов с одинаковыми фамилиями,

именами

и

отчествами).

Частичной зависимостью называется зависимость неключевого атрибута от

части

составного

ключа.

Пример. Атрибут

Фамилия находится

в функциональной зависимости от

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

атрибута от всего составного ключа. (Дата_выдачи, Дата_Возврата, Срок)

5

Исходное отношение (1НФ)

Библиотека (Переплет, Билет, Код_автора, Автор, Код_издания, Заголовок, Вид, Издательство, Город, Год, Переплет, Стоимость, Дата_выдачи, Срок, Дата_возврата, Билет, Фамилия, Имя, Отчество)

Код_издания

Стоимость

Переплет

Дата_выдачи

Дата_возврата

Срок

Билет Фамилия

Имя

Отчество

Заголовок

Вид

ИздательствоГород

Год

Код_Автора

Автор

6

2НФ

Определение

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

Правила

Для устранения частичной зависимости и перевода отношения в 2НФ, необходимо разложить исходное отношение на несколько отношений

следующим

 

 

 

образом:

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

функциональной

зависимости

от

первичного

ключа;

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

7

2НФ

Библиотека (Переплет, Билет, Дата_выдачи, Дата_возврата, Срок)

Переплет(Переплет, Код_издания, Стоимость, Заголовок, Вид, Издательство, Год, Город, Код_автора, Автор).

Код_издания Заголовок

Вид

Переплет

Издательство Город

Стоимость

Год

Код_автора

Автор

8

2НФ

Читатель (Билет, Фамилия, Имя, Отчество)

Билет

Фамилия

Имя

Отчество

9

3НФ

Определение 1.

Отношение находится в 3НФ, если оно находится в 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

Определение 2.

Отношение находится в 3НФ в том и только том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.

Атрибут C зависит от атрибута A транзитивно (существует транзитивная зависимость), если для атрибутов A, B, C выполняются условия A→B и B→C, но обратная зависимость отсутствует.

Пример.

 

Код_издания→Издательство→Город

10

3НФ

Библиотека (Переплет, Билет, Дата_выдачи, Дата_возврата, Срок) Переплет (Переплет, Код_издания, Стоимость).

Издание (Код_издания, Заголовок, Вид, Издательство, Год)

Код_издания Заголовок

Вид

Издательство

Год

Издательство (Издательство, Город)

Издательство Город

11

3НФ

Автор (Код_автора, Автор)

Код_автора Автор

Читатель (Билет, Фамилия, Имя, Отчество)

Билет Фамилия

Имя Отчество

12

Соседние файлы в папке Обзорные лекции БД