Нормализация таблиц (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.