Нормализация таблиц (1 вопрос). нормальная форма бойса-кодда (нфбк)

Нормализация таблиц. Эффективность реляционной базы данных. Первая нормальная форма (1НФ)

Реляционная БД считается эффективной если она позволяет:

1. min избыточных данных (в БД присутствует избыточность, если одни и те же данные находятся в нескольких местах, расходуется память и времени на корректировку треб. больше)

П1 (если замен. «англ» на «англ для дел. общения», то надо его замен. во всех записях)

2. min использование отсутствующих значений (Null- значения), (в П1 не ясно, означает ли Null-значение атрибута ”преподаватель”, что для гр. 112 не определен препод или не введена его ФИО. Из-за неопределенности толкования Null-значения, его использование желательно свести к min.)

3. предотвратить потерю информации.

Если студ. Михайлов решит не изучать ин. яз (П1), то придется удалить запись и вообще будет потеряна информац. об этой дисципл.

Min избыточность данных позволяет процесс-НОРМАЛИЗАЦИЯ ТАБЛИЦ. Методику нормализации разработал Кодд в 1970г. Ее суть - приведение таблиц к той или иной нормальной форме путем их разбиения. Выделяют 3 норм формы:1НФ, 2НФ, 3НФ. Позже – (НФБК), 4НФ, 5НФ

Таблица находится в 1НФ, если все ее поля содержат только неделимые значения. Это определение избыточно, т.к. оно определяет само отношение (таблицу) в теории реляц. БД.

Ненормализованные отношения м. интепретир. как таблицы с неравномерным заполнением.

П2 таблица «Расписание» (ручко й).Таблица не соотв.требов. 1НФ. Для ее приведения надо вставить новые записи (карандаш). Полученная таблица неэффективна, т.к. содержит много избыточной информац. и требует дальнейшей нормализации.

Нормализация таблиц (1 вопрос). Функциональная зависимость. Полная и частичная функциональная зависимость. Вторая нормальная форма (2НФ)

Функциональная зависимость – понятие, отражающ. определенную смысловую связь между атрибутами таблицы. Пусть таблица характеризуется множеством атрибутов A,B,C,… Если атрибут B явл. функционально зависимым от A то это обозначается A→B (A определяет B или B зависит от A)

Таблица находится в 2НФ, если она удовлетворяет требованиям 1НФ и ее неключевые поля функционально полно зависят от {РК}.

Пусть {A1, A2, ..., Aк} множ-во атрибутов образующ. {РК} (имеем составной {РК}). Неключевой атрибут B функционально полно зависит от {PK}, если он зависит от всего множ-ва атрибутов {PK} и не зависит от его подмнож-ва (т.е. от его части). Иначе атрибут B находится в частичной функциональной зависимости от {PРK}. П1.

Неключевые поля функц-но завис. от {РPK}.

номерТов., номерПоставщ., дата → товар, ценаТов., поставщ., кол-во, стоимость

Кроме того, они функц-но зависят от части ключа

номерТов. → товар и номерПоставщ. → поставщ.

=>, Неключевые поля наход. в частичной функц-й зависимости от {РPK} и нарушают требов. 2НФ.

Эти поля удаляем из таблицы ПОСТАВКА. Удаленные не ключевые поля помещаем в новые таблицы ТОВАР и ПОСТАВЩИК вместе с {РК}, от кот. они зависят. П2.

Эти таблицы ТОВАР, ПОСТАВЩИК соотв. 2НФ т.к. у них простой, а не составной ключ. ПОСТАВКА также соответствует 2НФ т.к. ее не ключевое поле функц-но полно зависит от составного {РК}. Все табл. не содержат избыточной информ. и нет оснований приводить ее к 3НФ.

Нормализация таблиц (1 вопрос). Транзитивная зависимость. Третья нормальная форма (3НФ)

Таблица наход. в 3НФ, если удовлетв. требованиям 2НФ и не содержит транзитивных зависимостей.

Транзитивн. наз. функциональная зависимость между не ключевыми атрибутами.

П1.

Не ключевое поле зависит от {РК}.

номерПоставки → номерТов., номерПоставщ., дата, товар, ценаЕд., поставщ., кол-во, стоимость

Кроме того, они функц-но зависят от др. не ключевых атрибутов.

Схема нов. табл.

Транзитив. номерПост. → номерТов., → товар., ценаЕд

завис-тиномерПост. → номерПоставщ., → поставщ.

=>, из таблицы ПОСТАВКА удаляем поля участвующ. в транзитивных зависимостях в новые таблицы ТОВАР и ПОСТАВЩИК вместе с атрибутами, от которых они зависят.

П2

Нормализация таблиц (1 вопрос). Нормальная форма Бойса-Кодда (НФБК)

Таблица находится в НФБК, если она находится в 3НФ и в ней нет зависимостей ключевых атрибутов от не ключевых.

П1.

Все не ключевые атрибуты таблицы зависят от {РК}.

табНом.→ фио, адрес, тел., ном.Соц.Страх

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

ном.Соц.Страх → фио, адрес, тел., табНом., т.е. табНом. завис. от неключ. ном.Соц.Страх => его вынос. в отдел. табл.

П2.

Наши рекомендации