Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2374 / 243 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Урок 8:

Создание проверочных ограничений

< Урок 7 || Урок 8: 1234 || Урок 9 >
Аннотация: Обеспечение целостности данных – важный аспект разработки информационных систем. Проверочные ограничения обеспечивают целостность данных. Теоретический материал данной лекции хорошо подтвержден практическими примерами. Небольшое применение T-SQL в сочетании с многочисленными примерами работы в Enterprise Manager. Много материала по вопросам управления проверочных ограничений.

Вы научитесь:

  • создавать проверочное ограничение;
  • изменять текст проверочного ограничения;
  • переименовывать проверочное ограничение;
  • удалять проверочное ограничение.

Понятие о проверочных ограничениях

Одним из наиболее важных аспектов в разработке базы данных является обеспечение целостности данных (data integrity). Правила целостности данных гарантируют, что данные, содержащиеся в базе данных, являются если не корректными, то по меньшей мере правдоподобными. Имеется несколько уровней целостности данных. В "Создание отношений" мы рассмотрели целостность отношений, которая обеспечивает, создание и корректное обслуживание взаимосвязи между таблицами.

Проверочные ограничения, с которыми вы познакомитесь, используются для введения двух дополнительных форм целостности базы данных: целостность домена и целостность сущности. В реляционной терминологии домен (domain) представляет собой область значений, которые может содержать столбец. Тип данных столбца является одним из атрибутов домена, но определения типа данных достаточно не всегда. Например, столбец с типом данных smallint может содержать целочисленные значения от -32768 до 32767, что вполне приемлемо для столбца, содержащего год окончания работником компании учебного заведения. Однако реальный диапазон значений для столбца YearDegreeAwarded более строгий – скажем, между 1900 и текущим годом. Вам следует воспользоваться проверочным ограничением, чтобы в качестве значения столбца не был введен 1543 или 2075 год.

Ограничения целостности сущности обеспечивают целостность сущности самой по себе. Наиболее важным в ограничении целостности сущности является то, что каждая сущность должна быть уникально идентифицируемой. Это ограничение реализуется путем задания первичного ключа для таблицы. Целостность сущности может также обеспечиваться условными вычислениями для нескольких столбцов в таблице, и этот тип ограничения чаще всего реализуется с помощью проверочных ограничений. Например, если таблица содержит столбцы страны Country и штата State, вы можете использовать проверочное ограничение для указания, что значение "AZ" в столбце State (что соответствует обозначению штата Аризона) корректно только в том случае, если в столбце Country содержится значение "USA" ("США").

Проверочные ограничения задаются в виде Булевых выражений. Булево выражение принимает значение либо TRUE (Истина), либо FALSE (Ложь). Булевы выражения мы рассмотрим в "Сортировка и выборка строк" . В этом уроке мы используем выражение:

LEN (<столбец>) >= 4

Здесь LEN представляет собой функцию Transact-SQL, которая возвращает количество символов в строке, поэтому выражение LEN (<столбец>) >= 4 будет принимать значение TRUE, если <столбец> содержит четыре или более символов, и FALSE, если он содержит менее четырех символов.

Создание проверочных ограничений

Подобно индексам и отношениям, вы можете создавать проверочные ограничения с помощью диалогового окна Properties (Свойства) конструктора таблиц Table Designer.

Создайте проверочное ограничение

  1. Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

  2. Нажмите кнопку Constraints (Ограничения).Microsoft SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц, отобразив страницу свойств Check Constraints (Проверочные ограничения).

  3. Нажмите New (Создать). SQL Server предлагает в качестве имени ограничения CK_Oils. В этом упражнении мы примем это имя.

  4. Введите LEN(OilName) >= 4 в качестве условия ограничения.

Совет. Если вы создаете новое проверочное ограничение и не хотите, чтобы оно применялось для уже существующих данных, вы можете указать SQL Server игнорировать существующие данные, сбросив флажок Check Existing Data On Creation (Проверять при создании существующие данные) для ограничения.

  1. Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства) конструктора таблиц.
  2. Нажмите кнопку Save (Сохранить).SQL Server проверит, отвечают ли все строки в таблице проверочному ограничению, а затем сохранит ограничение.
< Урок 7 || Урок 8: 1234 || Урок 9 >
Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков