Интегрированность данных – возможность представления базы данных как объединение нескольких отдельных файлов данных, полностью или частично исключающее избыточность хранения информации.
Разделяемость данных – возможность использования отдельных элементов, хранимых в базе данных несколькими различными пользователями. Имеется в виду, что каждый их пользователей сможет получить доступ к одному и тому же элементу данных в одно и то же время, возможно, для достижения различных целей.
Независимость данных. При использовании данных изменение одних не приводит к изменению других.
Целостность данных. При выполнении пользователем операций над данными поддерживается согласованность хранящихся данных.
Целостность данных
Обеспечение целостности данных гарантирует качество данных в таблице. Например, если служащему присвоен идентификатор 123, база данных не должна позволять другим служащим иметь такое же значение идентификатора. Если существует столбец employee_rating, в котором значения должны находиться в диапазоне от 1 до 5, база данных не должна сохранять в нем значения, лежащие вне этого диапазона. Если в таблице есть столбец dept_id, в котором хранятся номера отделов для служащих, то база данных должна воспринимать только те значения, которые допустимы в качестве номеров отделов компании.
При планировании таблиц имеются два важных шага: определить допустимые значения для столбца и решить, каким образом обеспечить целостность данных в этом столбце. Целостность данных подразделяется на следующие категории.
-
Сущностная целостность
-
Доменная целостность
-
Ссылочная целостность
-
Пользовательская целостность
Сущностная целостность
Сущностная целостность определяет строку как уникальную сущность в конкретной таблице. Она обеспечивает целостность столбцов идентификаторов или первичного ключа таблицы с помощью индексов и ограничений UNIQUE или PRIMARY KEY.
Доменная целостность
Доменная целостность — это достоверность записей в конкретном столбце. Она включает ограничения типа данных, ограничения формата при помощи ограничений CHECK и правил, а также ограничения диапазона возможных значений при помощи ограничений FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и правил.
Ссылочная целостность
Ссылочная целостность сохраняет определенные связи между таблицами при добавлении или удалении строк. В SQL Server ссылочная целостность основана на связи первичных и внешних ключей (либо внешних и уникальных ключей) и обеспечивается с помощью ограничений FOREIGN KEY и CHECK. Ссылочная целостность гарантирует согласованность значений ключей во всех таблицах. Этот вид целостности требует отсутствия ссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базе данных при изменении значения ключа.
Пользовательская целостность
Пользовательская целостность позволяет определять бизнес-правила, не входящие ни в одну из категорий целостности. Поддержку пользовательской целостности обеспечивают все остальные категории целостности: любые типы ограничений уровня столбца и уровня таблицы в инструкции CREATE TABLE, хранимых процедурах и триггерах.