Базы данных. 3я нормальная форма

План:
1 Команда SQL UPDATE
2 Синтаксис UPDATE
3 Третья нормальная форма
4 Пример приведения к 3 НФ
5 Нормальная форма Бойса-Кодда НФБК

Команда SQL UPDATE

Оператор UPDATE обновляет столбцы в соответствии с их
новыми значениями в строках существующей таблицы.
В выражении SET указывается, какие именно столбцы
следует модифицировать и какие величины должны быть
в них установлены. В выражении WHERE, если оно присутствует,
задается, какие строки подлежат обновлению.
В остальных случаях обновляются все строки.
Если задано выражение ORDER BY, то строки будут обновляться
в указанном в нем порядке.

Если указывается ключевое слово LOW_PRIORITY,
то выполнение данной команды UPDATE задерживается до тех пор,
пока другие клиенты не завершат чтение этой таблицы.

Если указывается ключевое слово IGNORE, то команда обновления
не будет прервана, даже если при обновлении возникнет ошибка
дублирования ключей. Строки, из-за которых возникают
конфликтные ситуации, обновлены не будут.

Синтаксис UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2, …]
[WHERE where_definition]
[LIMIT #]

Пример

UPDATE Products
SET Manufacturer = 'Samsung',
ProductCount = ProductCount + 3
WHERE Manufacturer = 'Samsung Inc.';

источник информации и все команды SQL для обработки данных

Третья нормальная форма

Рассмотрим транзитивную зависимость следующего типа: если А →
В, В -/→ А (В не является ключом), В → С, то А → С.
В этом случае считается, что С транзитивно зависит от А.
Транзитивная зависимость вызвана наличием в отношении двух
семантических зависимостей различных типов.

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

Пример приведения к 3 НФ

Рассмотрим схему базы данных примера предыдущего раздела.

ПРЕПОДАВАТЕЛЬ (ТабНомпреп, ФИОпреп, Должность);

СТУДЕНТ (Номзачкн, ФИОстуд, Темадиплома);

КОНСУЛЬТАЦИИ (ТабНомпреп, Номзачкн, Дата, Время, Аудитория, Вместимость).

Последнее отношение содержит транзитивную зависимость:

(ТабНомпреп, Номзач_кн, Дата) → Аудитория →Вместимость.
Следовательно, это отношение не находится в ЗНФ со всеми
вытекающими из этого последствиями, и прежде всего следующими:

  • если аудитория исключается из расписания консультаций, то о ней
    вообще теряются сведения;
  • если аудитория перестроена и в результате изменилась ее
    вместимость, то придется просмотреть все кортежи и провести
    модификацию значений атрибута.

Для устранения транзитивной зависимости необходимо провести
декомпозицию последнего отношения, удалив из него
транзитивнозависимый атрибут и поместив его в новое отношение
вместе с копией того атрибута, от которого он зависит.
Таким образом, база данных этого примера, лишенная транзитивных
зависимостей, в ЗНФ будет выглядеть так:

ПРЕПОДАВАТЕЛЬ (ТабНомпреп, ФИОпреп, Должность);

СТУДЕНТ Номзачкн, ФИОстуд, Темадиплома);

КОНСУЛЬТАЦИИ (ТабНомпреп, Номзач_кн, Дата, Время, Аудитория);

АУДИТОРИЯ (Аудитория, Вместимость).

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

Нормальная форма Бойса-Кодда НФБК

Детерминант – это любой атрибут, от которого полностью
функционально зависит некоторый другой атрибут.
Другими словами, детерминантом функциональной зависимости
называется ее левая (определяющая) часть

Следует отметить, что определение для ЗНФ было дано Коддом для
ситуаций с упрощающим картину допущением того, что отношение имеет
только один потенциальный ключ, который, естественно, и является
первичным ключом. Естественно, что не все отношения могут быть
уложены в данные довольно жесткие рамки. Более обобщающими
являются случаи, когда в наличии имеются следующие условия:

  • отношение имеет два (или более) потенциальных ключа;
  • два потенциальных ключа являются составными;
  • два потенциальных ключа перекрываются, т. е. имеют,
    по крайней мере, один общий атрибут.

Схема отношения R находится в НФБК относительно множества
F зависимостей тогда и только тогда, когда она находится в 3НФ и детерминанты являются
потенциальными ключами.

Добавить комментарий

Ваш адрес email не будет опубликован.