Оператор CREATE TABLE и ограничения декларативной целостности

Оценить
(0 голоса)

Одним из наиболее важных свойств является то, что СУБД должна, предоставлять способы поддержания целостности данных. Эти ограничения, которые используют проверку изменения и добавления данных, называются ограничениями целостности. Задача поддержания ограничений целостности может быть выполнена пользователем в программах приложения или системой управления базами данных. Наиболее важными преимуществами обработки ограничений целостности самой СУБД являются следующие:

♦ повышается надежность данных;

♦ уменьшается время на программирование;

♦ становится проще поддержка.

Использование СУБД для поддержания ограничений целостности повышает надежность данных, потому что здесь не существует возможности, что программист забудет о необходимости следить за ограничениями целостности. Если ограничение целостности обрабатывается в программе приложения, то все программы, связанные с этим ограничением, должны включать соответствующий код. Если код опущен в одной из программ приложения, то согласованность данных подвергается риску.

Ограничение целостности, не обрабатываемое СУБД, должно быть определено в каждой программе приложения, которая использует данные, включенные в это ограничение. В противоположность этому то же самое ограничение целостности должно быть объявлено только один раз, если оно обрабатывается СУБД. В дополнение к этому, ограничения, поддерживаемые приложением, обычно более сложны в кодировании, чем ограничения, поддерживаемые базой данных.

Если ограничение целостности обрабатывается СУБД, то изменение структуры ограничения (если такое потребуется) должно быть выполнено только один раз - в СУБД. Это же изменение структуры в программах приложения требует изменения каждой программы, которая содержит соответствующий код.

Существуют две группы ограничений целостности, обрабатываемых СУБД:

♦ декларативные ограничения целостности;

♦ процедурные ограничения целостности, которые обрабатываются триггерами (определение триггеров).

Декларативные ограничения объявляются с использованием операторов DDL create table и alter table. Они могут быть ограничениями на уровне столбца и ограничениями на уровне таблицы. Ограничения на уровне столбца вместе с типом данных и другими свойствами столбца помещаются в объявление столбца, в то время как ограничения на уровне таблицы всегда размещаются в конце операторов create table или alter table после объявления всех столбцов.

Каждое декларативное ограничение имеет имя. Имя ограничения может быть задано явно с использованием опции constraint в операторе create table или alter table. Если опция constraint отсутствует, Database Engine присваивает неявное имя этому ограничению.

Все декларативные ограничения могут быть разделены на несколько групп:

♦ предложение default;

♦ предложение unique;

♦ предложение primary key;

♦ предложение check;

♦ предложение foreign key и ссылочную целостность.

Определение значения по умолчанию с использованием предложения default было рассмотрено ранее В этом разделе (см. также пример 5.6). Все остальные ограничения подробно описываются в следующих разделаах.


Предложение UNIQUE
Предложение PRIMARY KEY
Предложение CHECK
Предложение FOREIGN KEY
Ссылочная целостность

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


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.