Программирование в Microsoft SQL Server 2000

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

Разбить на страницы
Показывать лекцию целиком

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

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

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

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

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

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

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

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

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

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

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

  • Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).Microsoft SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц, отобразив страницу свойств Check Constraints (Проверочные ограничения).
  • Нажмите New (Создать). SQL Server предлагает в качестве имени ограничения CK_Oils. В этом упражнении мы примем это имя.
  • Введите
  • Совет. Если вы создаете новое проверочное ограничение и не хотите, чтобы оно применялось для уже существующих данных, вы можете указать SQL Server игнорировать существующие данные, сбросив флажок Check Existing Data On Creation (Проверять при создании существующие данные) для ограничения.

  • Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства) конструктора таблиц.
  • Нажмите кнопку Save (Сохранить).SQL Server проверит, отвечают ли все строки в таблице проверочному ограничению, а затем сохранит ограничение.
  • Управление проверочными ограничениями

    Как часть схемы базы данных, проверочные ограничения при нормальных условиях не требуют особого внимания при сопровождении. Вы один раз определяете их, когда создаете базу данных, и этого вполне достаточно. Однако схема базы данных может быть по какой-либо причине изменена, что потребует изменения проверочных ограничений. Enterprise Manager облегчает обслуживание ограничений.

    Изменение проверочных ограничений

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

    Измените текст ограничения

  • Если вы закрыли конструктор таблиц Table Designer после выполнения предыдущего упражнения, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Check Constraints (Проверочные ограничения).
  • Убедитесь, что ограничение CK_Oils отображено в поле списка Selected Constraint (Выбранное ограничение).
  • Измените текст ограничения на
  • Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства) конструктора таблиц.
  • Нажмите Save (Сохранить). SQL Server проверит все строки в таблице на соответствие новому проверочному ограничению, а затем сохранит ограничение.
  • Обслуживание проверочных ограничений

    Как и другие свойства таблицы, проверочные ограничения обслуживаются через диалоговое окно Properties (Свойства) конструктора таблиц.

    Переименуйте проверочное ограничение

  • Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Check Constraints (Проверочные ограничения).
  • Выделите CK_Oils в поле имени ограничения Constraint Name и измените его на CK_DeleteMe.
  • Нажмите кнопку Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).
  • Нажмите кнопку Save (Сохранить). SQL Server проверит все строки в таблице на соответствие проверочному ограничению и сохранит ограничение.
  • Удалите проверочное ограничение

  • Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Check Constraints (Проверочные ограничения).
  • Убедитесь, что в поле Selected Constraint (Выбранное ограничение) отображено CK_DeleteMe, а затем нажмите кнопку Delete (Удалить). SQL Server удалит ограничение.
  • Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).
  • Нажмите кнопку Save (Сохранить). SQL Server удалит ограничение.
  • Закройте конструктор таблиц Table Designer.
  • Краткое содержание

    Чтобы ...Сделайте следующее
    Создать проверочное ограничение Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, нажмите New (Создать) и введите выражение для проверочного ограничения.
    Изменить текст условия ограничения Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, выделите имя ограничения в поле Constraint Name и измените текст ограничения на новое выражение условия.
    Переименовать проверочное ограничение Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, выделите имя ограничения в поле Constraint Name и введите новое имя.
    Удалить проверочное ограничение Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, выделите проверочное ограничение, которое вы хотите удалить, и нажмите Delete (Удалить).
    Страницы:

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

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

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

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

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

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

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

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

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

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

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

  • Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).Microsoft SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц, отобразив страницу свойств Check Constraints (Проверочные ограничения).
  • Нажмите New (Создать). SQL Server предлагает в качестве имени ограничения CK_Oils. В этом упражнении мы примем это имя.
  • Введите
  • Совет. Если вы создаете новое проверочное ограничение и не хотите, чтобы оно применялось для уже существующих данных, вы можете указать SQL Server игнорировать существующие данные, сбросив флажок Check Existing Data On Creation (Проверять при создании существующие данные) для ограничения.

  • Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства) конструктора таблиц.
  • Нажмите кнопку Save (Сохранить).SQL Server проверит, отвечают ли все строки в таблице проверочному ограничению, а затем сохранит ограничение.
  • Управление проверочными ограничениями

    Как часть схемы базы данных, проверочные ограничения при нормальных условиях не требуют особого внимания при сопровождении. Вы один раз определяете их, когда создаете базу данных, и этого вполне достаточно. Однако схема базы данных может быть по какой-либо причине изменена, что потребует изменения проверочных ограничений. Enterprise Manager облегчает обслуживание ограничений.

    Изменение проверочных ограничений

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

    Измените текст ограничения

  • Если вы закрыли конструктор таблиц Table Designer после выполнения предыдущего упражнения, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Check Constraints (Проверочные ограничения).
  • Убедитесь, что ограничение CK_Oils отображено в поле списка Selected Constraint (Выбранное ограничение).
  • Измените текст ограничения на
  • Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства) конструктора таблиц.
  • Нажмите Save (Сохранить). SQL Server проверит все строки в таблице на соответствие новому проверочному ограничению, а затем сохранит ограничение.
  • Обслуживание проверочных ограничений

    Как и другие свойства таблицы, проверочные ограничения обслуживаются через диалоговое окно Properties (Свойства) конструктора таблиц.

    Переименуйте проверочное ограничение

  • Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Check Constraints (Проверочные ограничения).
  • Выделите CK_Oils в поле имени ограничения Constraint Name и измените его на CK_DeleteMe.
  • Нажмите кнопку Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).
  • Нажмите кнопку Save (Сохранить). SQL Server проверит все строки в таблице на соответствие проверочному ограничению и сохранит ограничение.
  • Удалите проверочное ограничение

  • Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
  • Нажмите кнопку Constraints (Ограничения).SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Check Constraints (Проверочные ограничения).
  • Убедитесь, что в поле Selected Constraint (Выбранное ограничение) отображено CK_DeleteMe, а затем нажмите кнопку Delete (Удалить). SQL Server удалит ограничение.
  • Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).
  • Нажмите кнопку Save (Сохранить). SQL Server удалит ограничение.
  • Закройте конструктор таблиц Table Designer.
  • Краткое содержание

    Чтобы ...Сделайте следующее
    Создать проверочное ограничение Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, нажмите New (Создать) и введите выражение для проверочного ограничения.
    Изменить текст условия ограничения Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, выделите имя ограничения в поле Constraint Name и измените текст ограничения на новое выражение условия.
    Переименовать проверочное ограничение Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, выделите имя ограничения в поле Constraint Name и введите новое имя.
    Удалить проверочное ограничение Откройте конструктор таблиц Table Designer для таблицы, нажмите кнопку Constraints (Ограничения), чтобы открыть диалоговое окно Properties (Свойства) конструктора таблиц, выделите проверочное ограничение, которое вы хотите удалить, и нажмите Delete (Удалить).
    Вернуться к учебному плану