Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД SQL.docx
Скачиваний:
4
Добавлен:
27.08.2019
Размер:
2.1 Mб
Скачать

Правила внешних ключей

Под целостностью реляционной БД (в дальнейшем РБД) следует понимать выполнение одного из двух правил:

  1. Каскадное удаление

  2. Ограниченное удаление

Каскадное удаление: при удалении строки из таблицы Т1 удаляются также все строки из таблицы Т2, соответствующие строке из Т1 по внешнему ключу.

Ограниченное удаление: при попытке удаления строки из таблицы Т1 проверяется наличие в таблице Т2 строк, соответствующих строке из Т1 по внешнему ключу. Если такие строки в таблицах Т2 имеются, то удаление отвергается.

Пример каскадного удаления (Рис. 13).

Пусть из таблицы «Факультеты», удаляется строка с кодом факультета 3 (pk). Это при­водит к удалению из таблицы «Студенты» всех записей, у которых внешний ключ равен 3(fk).

Рис. 13

Аналогично формулируются правила обновления данных в таблицах РБД.

57

Нормализация таблиц

Нормализация таблиц - это набор правил по составлению таблиц в целях устране­ния избыточности данных и приведения таблицы к третьей нормальной форме (ЗНФ). При практической разработке БД рассматривают 3 основные формы: ЩФ, 2НФ, ЗНФ.

Первая нормальная форма (1НФ)

Первая нормальная форма требует, чтобы каждое поле таблицы БД отвечало сле­дующим требованиям:

  • неделимость,

  • не содержало повторяющихся групп.

Рис. 15


Неделимость - означает, что содержимое поля не должно делиться на более мелкие зна­чения (например, Рис. 14, Рис. 15).

Повторяющимися называются поля, содержащие одинаковые по смыслу значения. На­пример, таблица - «Экзаменационная ведомость» (Рис. 16).

Рис. 16

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

предметов.

Вторая нормальная форма (2НФ)

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

Пример приведения ко второй НФ таблицы Университет (Рис. 17).

Факультет

Рис. 18

Внимание

Если таблица находиться в 1НФ, и первичным ключом является одно поле, то таблица

уже находиться во 2НФ.

59

Третья нормальная форма (ЗНФ)

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

Пример: Имеется таблица склад, в которой учитывается вид товара, количество каждого товара, цена единицы товара, и стоимость каждого вида товара как произведения количе­ства на цену единицы товара (Рис. 19).

Поле «Стоимость» является лишним информационным звеном в таблице, так как зависит от поля «Колич.» и может быть всегда рассчитано. Поэтому устраним зависимость, при­ведя таблицу к ЗНФ (Рис. 20).

Рис. 19


Рис. 20


Склад

Нормализация базы данных выгодна со многих точек зрения. Далее перечислены некото­рые из основных преимуществ, которые она дает:

  • Лучшая общая организация базы данных;

  • Сокращение избыточности информации;

  • Непротиворечивость информации внутри базы данных;

  • Более гибкий проект базы данных.