Описанная целостность является частью объявления базы данных, и объявляется с помощью ограничений, которые вы можете назначить колонкам и таблицам напрямую.
Обеспечивается ссылочная целостность с помощью ограничений, значений по умолчанию и ролей.
Предшествующая целостность данных – здесь вы пишите скрипт, которые определяет критерии, которым должны соответствовать данные и воздействуете на критерию Вы должны ограничить использование этого метода для упрощения бизнес логики и ошибок. Пример - используйте этот метод, когда вам нужно обеспечить каскадное удаление. Следующие факты относятся к предшествующей целостности:
Эта целостность может обеспечиваться на клиенте и сервере с помощью других языков программирования и утилит;
Обеспечивайте целостности с помощью триггеров и процедур.
Ограничение – это основной метод обеспечения целостности данных. В этой секции описывается, как определить, какой тип ограничения использовать, какой тип данных и для какого ограничения использовать, и как определить ограничения.
Ограничение – метод ANSI стандарта обеспечения целостности данных. Каждый тип целостности данных – доменный, табличный и ссылочный обеспечиваются отдельным типом ограничений. Ограничения обеспечивают правильность данных введённых в колонку, и какие отношение обеспечиваются между таблицами. Следующая таблица описывает различные типы ограничений:
Тип целостности |
Тип ограничения |
Описание |
Доменная |
DEFAULT |
Указывает значение, которое будет занесено в колонку, если не указано другого |
CHECK |
Указывает значения данных, которые могут быть приняты в колонку |
|
REFERENTIAL |
Указывает, какие значения могут быть обновлены, основываясь на значениях другой таблицы |
|
Таблицы |
PRIMARY KEY |
Уникальный идентификатор каждой строки – гарантирует, что пользователи не введут дублирующее значение, и этот индекс создаётся для увеличения производительности. Нулевые значения не разрешены |
UNIQUE |
Обеспечивает альтернативную уникальность (не первичного ключа) и гарантирует, что индекс создан для повышения производительности. Нулевые значения разрешены. |
|
Ссылочная |
FOREIGHN KEY |
Объявляет колонку или комбинацию колонок со значениями, которые приравниваются первичному ключу этой же или другой таблицы |
CHECK |
Определяет значения данных, которые доступны для колонки, основываясь на значения другой колонки из другой таблицы |
Для создания ограничений используются операторы CREATE TABLE и ALTER TABLE. Вы можете добавить ограничения на таблицу с уже существующими данными, и вы можете поместить ограничения на одну или несколько колонок:
Если ограничение назначается отдельной колонке, оно называется ограничения уровня колонки;
Если ограничение ссылается на несколько колонок, оно называется ограничением уровня таблицы, даже если оно ссылается не на все колонки таблицы.
Пример
Следующий пример создаёт таблицу, объявляющую ограничения обоих типов – уровня колонки и уровня таблицы:
Рассматривайте следующие факты по внедрению и изменению ограничений:
Вы можете создавать, изменять и удалять ограничения без удаления и воссоздания таблицы;
Вы должны создавать логику проверки на ошибки в вашем приложении и транзакциях, для проверки, когда нарушено ограничение;
Сервер SQL проверяет существующие данные, когда вы добавляете ограничение к таблице.
Вы должны указывать имя ограничения, когда вы создаёте его, потому что SQL Server предоставляет сложные имена, сгенерированные системой. Имена должны быть уникальными для объекта базы данных.
Для помощи с ограничением выполните процедуры sp_helpconstraint или sp_help, или используйте просмотрщики, такие как check_constrainy, referential_constrainy и table_constrainy.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.