Ограничения целостности баз данных
Ограничения целостности баз данных — это специальные средства в базах данных, главное назначение которых — не допустить попадания в базу ошибочных данных, например — тридцатый день в феврале или восьмой день недели.
Категории ограничений[править]
Все ограничения целостности можно разделить на четыре категории:
- Ограничение на значение столбцов
- Ссылочная целостность
- Доменная целостность
- Целостность сущностей
Ограничение на значение столбцов[править]
Первичный ключ (primary key)[править]
Используется для обеспечения уникальности данных в столбцах и, в основном, для обеспечения ссылок на другие таблицы посредством связывания их внешними ключами.
Внешний ключ (foreign key)[править]
Применяется вместе с определённым раннее первичным ключом или же ограничением уникальности (unique) в связанной таблице. Условие на значение внешнего ключа одной таблицы ставит в соответствие один или несколько столбцов другой таблицы.
Ограничение уникальности (unique)[править]
Назначается чтобы запретить повторение значений в столбце таблицы. Для столбца, на котором определено ограничение первичного ключа, не может быть определено ограничение уникальности, так как уникальный индекс данного столбца уже создан.
Проверочное ограничение (check)[править]
Устанавливает, какие значения может хранить столбец. Это ограничение, например, можно использовать для столбца, хранящего номера квартир в многоквартирном доме.
Ссылочная целостность[править]
Ссылочная целостность обеспечивается системой первичных и внешних ключей. Этими средствами можно гарантировать, что у нас не будет ссылок на несуществующие объекты таблицы.
Доменная целостность[править]
Отвечает за то, чтобы в соответствующих полях базы данных были соответствующие значения. Например, номер телефона, как правило, обозначается цифрами, а имя или фамилия — буквами. В базах данных такая целостность зачастую обеспечивается запретом пустых значений (NOT NULL), триггерами, ключами а так же хранимыми процедурами.
Целостность сущностей[править]
Заключается в том, что любое отношение должно обладать первичным ключом или проверкой уникальности. Иными словами, главная задача целостности сущностей — сделать так, чтобы данные об одном объекте (сущности) не попали в базу данных дважды, так как при несоблюдении данного ограничения в базе данных может храниться противоречивая информация об одном объекте. Поддержание целостности сущностей осуществляется системой управления базой данных (СУБД).
Литература[править]
- «Системы баз данных. Полный курс» — Гектор Гарсиа-Молина, Джеффри Ульман, Дженнифер Уидом
- «Введение в системы баз данных» — Крис Дж. Дейт