Ограничивающие условия целостности

Ограничивающие условия целостности определяют правила, выполнение которых должна проверять СУБД ЛИНТЕР для поддержки логически целостного состояния БД.

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

В СУБД ЛИНТЕР можно задавать следующие ограничения целостности:

  • NOT NULL – столбец не допускает NULL-значений;

  • AUTOINC – столбец допускает только целочисленные значения, большие всех значений, находящихся в этом столбце (за исключением случая AUTOINC с диапазонами). Если при добавлении строки в таблицу, имеющую столбец с данным ограничением целостности, значение этого столбца не указывается, то по умолчанию оно будет равно последнему занесенному значению плюс 1. При исчерпании диапазона нарастающих значений столбца циклический переход на начальное значение не выполняется, а фиксируется ошибка добавления строки в таблицу;

  • PRIMARY KEY – помечает столбец или комбинацию столбцов в качестве первичного ключа таблицы. В таком столбце NULL-значения не допускаются. Каждое вводимое в столбец значение должно быть уникальным для одностолбцового первичного ключа и, возможно, повторяющимся в столбце, но создающим уникальную комбинацию в многостолбцовом первичном ключе. Ввод совпадающих значений первичных ключей запрещен;

  • UNIQUE – помечает столбец или комбинацию столбцов в качестве уникального ключа таблицы. Данное ограничение гарантирует уникальность значений столбца, но допускает NULL-значения;

  • DEFAULT – определяет значение по умолчанию, которое автоматически вставляется СУБД, если при вводе данных значение столбца не задано;

  • CHECK – определяет диапазон допустимых значений столбца и/или строк таблицы, задавая условия, которым должны удовлетворять эти значения;

  • FOREIGN KEY – определяет столбец как внешний ключ, т.е. указывает на то, что значения данного столбца соответствуют значениям первичного или уникального ключа той же самой или иной таблицы БД;

  • REFERENCES – связывает вместе первичные и внешние ключи. Значение внешнего ключа должно либо полностью совпадать с некоторым значением соответствующего первичного ключа, либо быть NULL-значением.