Автор PHENIX задал вопрос в разделе Другие языки и технологии
Нормализация данных и получил лучший ответ
Ответ от Kaiu[гуру]
НФБК - тогда и только тогда, когда любая функциональная зависимость (Y(x1,x2..)) между ее атрибутами (столбцами) сводится к полной функциональной зависимости от возможного первичного ключа.
Ситуация, когда отношение будет находиться в ЗНФ. но не в нормальной форме Бойса-Кодда (НФБК) . возникает при условии, что отношение имеет два (или более) возможных ключа, которые являются составными и имеют обший атрибут. Заметим, что на практике такая ситуация встречается достаточно редко, для всех прочих отношений ЗНФ и НФБК эквивалентны.
То есть, если имеется отношение R(al. а2. аЗ. а4). находящееся в ЗНФ. где al. а2 - возможный ключ. а2. аЗ - возможный ключ, а а4 - неключевой атрибут отношения R. и имеются функциональные зависимости:
al→a3
а3 → al
al,a2→a4
а2, а3 → а4
Для приведения отношения R к НФБК. это отношение декомпозируется на два отношения:
Rl(a1, а3) и R2(al, а2, а4)
или Rl(a3. al) и R2(a2, a3, а4).
НФБК -- это независимая финансовая брокерская компания? Та, которая на Малой Андроньевской улице в Москве?
А если серьезно, НФБК (точнее, BCNF) -- это усиленный вариант третьей нормальной формы. Нормализацию надо объяснять с самого начала -- с необходимости в ней. А здесь лимит 4000 знаков -- места слишком мало...
Пример из википедии
Предположим, создаётся таблица бронирования для теннисных кортов на день: {Номер корта, Время начала, Время окончания, Тариф, Член клуба}. Тариф зависит от выбранного корта и членства в клубе.
Таким образом, возможны следующие составные первичные ключи: {Номер корта, Время начала}, {Номер корта, Время окончания}, {Тариф, Время начала}, {Тариф, Время окончания}.
Таблица соответствует второй и третьей нормальной форме, так как атрибуты, не входящие в состав первичного ключа, зависят от составного первичного ключа целиком (2NF) и нет транзитивных зависимостей (3NF).
Тем не менее, существует функциональная зависимость тарифа от номера корта. То есть, по ошибке можно нарушить логическую целостность и, например, приписать тариф Premium для первого корта, хотя тариф Premium может относиться только ко второму корту.
Можно улучшить структуру, разбив таблицу на две: {Номер корта, Время начала, Время окончания, Член клуба} и {Тариф, Номер корта, Член клуба}. Данное отношение будет соответствовать BCNF.
третья нормальная форма
Третья нормальная форма (3NF) — одна из возможных форм таблицы реляционной базы данных. Третья
подробнее...
Назавите правила нормализации реляционных баз данных.
Первая нормальная форма
- запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу
подробнее...
SQL с нуля
Если начал осваивать SQL, значит за плечами уже есть опыт программирования и понимаешь, что изучить
подробнее...