Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
57
Добавлен:
14.05.2015
Размер:
1.51 Mб
Скачать

ТемаIv. Правила и создание значения

1. Инструменты контроля целостности данных

В системе SQL-сервер имеется три стандартных инст­румента, с помощью которых осуществляется контроль целост­ности вводимых данных:

  1. правила;

  2. ограничения;

  3. стандартные значения.

С учетом правил и ограничений создается перечень зна­чений, кото­рые могут вводиться в требуемое поле, при этом от­личие между ними заключается в том, что ограничения могут оп­ределяться в процессе создания таблиц, а правило является от­дельным объектом, который может определяться после заверше­ния процесса создания. При этом для требуемого поля может быть определено только одно правило, тогда как ограничений может быть несколь­ко. Стандартные значения используются для автоматической подстановки в поле при отсутствии там какого-либо другого зна­чения. Другими словами, данное значение используется по умол­чанию для требуемого поля Использование ограничений нами было paccмотрено, поэтому перейдем к описанию возможностей правил и стандартных значений.

2. Создание правил и стандартных значений

Правило представляет собой набор инструкций сервера, предназначенный для контроля вводимых в поля таблицы значе­ний. Для создания правила следует выбрать соответствующую группу Rules в списке объектов базы данных, после чего выпол­нить команду New Rule меню Действие.

Для примера создадим правило MARK_VALUES, которое будет определять вводимые оценки по предметам в диапазоне от 1 до 5. Для создания такого правила в окне Rule Properties в поле Name следует ввести имя правила MARK_VALUES, а в поле Text условия правила: @MARK Between 1 And 5, т.е. условное выражение создаваемого правила и оператор, определяющий диапазон вводимых значений.

Закрытие диалогового окна приведет к сохранению соз­данного правила, после чего его имя отобразится в списке объек­тов Rules БД. Выберите его в этом списке, а затем выполните ко­манду Свойства меню Действие. В этом случае откроется окно, аналогичное диалогу создания правил, только при этом будут доступны кнопки Bind Columns и Bind UDTs…, используемые для привязки правил соответственно к полям таблиц и соз­данным пользовательским типам данных. Если нажата кнопка Bind Columns, с помощью выпадающего списка Table осущест­вляется выбор таблицы БД, для поля которой необходимо уста­новить созданное правило, после чего в списке Unbound columns отобра­зится перечень её полей. Выбрав здесь необходимое поле, сле­дует воспользоваться кнопкой Add, которая назначит данному полю созданное правило.

Процесс использования стандартных значе­ний в SQL Server рассмотрим на примере. Создадим стандартное значение TEK­DATE, которое автоматически будет подставлять текущую дату и время в поля, для которых будет определено это значение.

Для создания стандартного значения выберите группу Defaults в списке объектов БД, после чего выполните команду New Default меню Действие. Данное действие приведёт к откры­тию диалогового окна создания стандартного значения, в котором в поле Name следует ввести имя стандартного значения TEK­DATE, а в поле Value-выражение GET­DATE(), возвращающее значение текущего времени и даты.

На следующем этапе необходимо определить поля, для которых будет установлено созданное стандартное значение. Для этого выберите его в списке объектов Default, после чего с по­мощью команды Свойства меню Действие выведите на экран диалоговое окно свойств, в котором с помощью кнопки Bind_Columns отобразите диалог привязки созданного стандартного значения к полям базы данных. Используя выпадающий список Table для выбора таблицы, после чего в списке Unbound col­umns выберите необходимое поле и нажмите кнопку Add для уста­новки созданного правила для данного поля.

Проверьте корректность работы созданного стандарт­ного значения, опуская ввод в поле каких-либо значе­ний при добавлении записей в эту таблицу.

Стандартные значения и правила можно переименовать ( команда Переименовать контекстного меню), изменить их прикрепление к столбцам и пользовательским типам ( кнопки Bind Columns и Bind UDTs), просматривать зависимости (ко­манда Все задачи/Display Dependencies контекстного меню), удалять ( команда Удалить контекстного меню).

Все перечисленные действия можно выполнять и в Transact - SQL:

1) Создание стандартного значения:

CREATE DEFAULT имя_ст_значения AS выражение;

2) Привязка стандартного значения к столбцу:

Sp_bindefault имя_ст_значения, ‛имя_таблицы.имя_столбца‛;

3) Удаление стандартного значения:

DROP DEFAULT имя_ст_значения;

4) Создание правила:

CREATE RULE имя_правила AS условие_определяющее_правило.

Условие, определяющее правило, строится по тем же правилам, что и условия в предложении WHERE. Правило не может ссылаться на столбцы и другие объекты БД. Встроенные функции, входящие в условие, также не должны на них ссылаться. Условие может включать одну переменную, имя которой начинается с @.

2) Привязка правила к столбцу:

sp_bindrule имя_правила, ‛имя_таблицы.имя_столбца‛

3) Удаление правила:

DROP RULE имя_пр1,имя_пр2,….