Важным шагом в планировании базы данных является выбор наилучшего способа реализации целостности данных. Целостность данных означает согласованность и точность данных, которые хранятся в базе данных. В этом уроке Вы узнаете о различных типах целостности данных в реляционных базах данных и вариантах ее реализации, предоставленных SQL Server 2005.
Обеспечение целостности данных гарантирует качество данных в базе данных. Существуют различные типы целостности данных, которую Вы должны запланировать:
■ целостность домена (или столбца)
■ целостность сущности
■ ссылочная целостность
Целостность домена(или столбца) определяет набор допустимых значений для столбца и решает, позволить ли null значения. Целостность домена часто обеспечивается с помощью проверки правильности введенных данных и может быть реализовано с помощью ограничений типа данных, формата, а также диапазона возможных значений.
Целостность сущности(или таблицы) требует, чтобы у всех строк в таблице был уникальный идентификатор, известный как PRIMARY KEY. Может ли значение первичного ключа быть изменено и может ли быть удалена целая строка, зависит от уровня целостности, требуемой между PRIMARY KEY и любые другие таблицы.
Ссылочная целостностьгарантирует, что всегда поддерживаются связи между первичными ключами (в таблицах, на которые ссылаются), и внешними ключами (в таблицах, которые ссылаются). Если внешний ключ ссылается на некоторую строку, и при этом не разрешено каскадное действие, то строка в таблице, на которую ссылаются, не может быть удалена, а PRIMARY KEY не может быть изменен. Вы можете определить связи внутри одной и той же таблицы или между отдельными таблицами.
В следующей таблице содержится краткий обзор механизмов, предоставленные SQL Server 2005 для обеспечения целостности данных.
Механизм
Тип Целостности
Описание
Data types
Домен
Типы данных поддерживают фундаментальные ограничения на данные, которые могут храниться в каждом столбце. Назначение типов данных для каждого столбца в таблице первый шаг в обеспечении целостности данных. Однако, одних только типов данных не достаточно, чтобы обеспечить целостность данных. Например, столбец, объявленный как тип int, гарантирует, что могут быть введены только числовые целые значения, но не может ограничить значения диапазоном от 0 до 1000.
Правила и умолчания
Домен, Сущность
Правила определяют приемлемые значения, которые может содержать столбец, а умолчание определяет значение столбца, если это значение не указано. Важно, что правила и умолчания - независимые объекты, которые могут быть связаны с одним или более столбцов или пользовательским типом данных, при этом можно определить однажды правила и умолчания, а затем, неоднократно их использовать. Неудобство использования правил и умолчаний состоят в том, что они не соответствуют American National Standards Institute (ANSI). Вы должны использовать ограничения вместо правил и умолчаний.
Ограничения
Домен, Сущность, Ссылка
Ограничения позволяют Вам определять для SQL Server 2005 Database Engine автоматический способ обеспечения целостности БД. Ограничения определяют ограничения на значения, позволенные в столбцах, и они являются стандартным механизмом обеспечения целостности. Использование ограничений предпочтительнее использования триггеров, правил и умолчаний. Оптимизатор запросов также использует определения ограничений, чтобы строить высокопроизводительные планы выполнения запросов.
Триггер
Домен, Сущность, Ссылки
Триггеры ‑ специальный вид хранимой процедуры, который выполняется, когда на сервере базы данных происходит событие языка манипулирования данных (DML). События DML включают операторы ОБНОВЛЕНИЯ, ВСТАВКИ или УДАЛЕНИЯ, выполненные на таблице или представлении. Триггеры используются для обеспечения бизнес правил при изменении данных.
XML схемы
Домен (XML)
XML схемы определяют пространство имен, структуру и приемлемое содержание документов XML. С помощью применения XML схемы к столбцу таблицы, определенной с типом данных xml, Вы можете ограничить структуру и содержание XML данных, сохраненных в этом столбце.