Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд / Лекция 11 - Стандартные значения, правила, пользовательские типы данных.docx
Скачиваний:
25
Добавлен:
14.05.2015
Размер:
133.83 Кб
Скачать

Удаление стандартных значений

Удаление правил выполняется командойDropDefault. Синтаксис команды приведен ниже:

DROP DEFAULT { default }

где default – удаляемое стандартное значение.

Команда удаляет одно или более определяемых пользователем стандартных значений из текущей базы данных.

DROP DEFAULT Adress_default

Правила

Правило– это некоторое ограничение, налагаемое на диапазон значений данных. Правила можно применять только к столбцам таблицы. Обычно правила определяются конкретной логикой приложения, из которой следует, какие данные можно ввести в тот или иной столбец, а какие нельзя. Правила исполняют те же функции, что и ограничениеCHECK.

Создание и прикрепление правил

Создание объектов, называемых правилами выполняется командой CreateRule. Синтаксис команды приведен ниже:

CREATE RULE rule AS condition_expression,

где rule – имя нового правила. Имя правила должно соответствовать правилам для идентификаторов. Определение имени владельца правила необязательно;

condition_expression – условие, определяющее правило. Правилом может быть любое выражение, которое имеет силу в предложении WHERE и может включать такие элементы как арифметические операторы, относительные операторы, и предикаты.

Правило не может ссылаться на столбцы или другие объекты базы данных. Встроенные функции, которые не ссылаются на объекты базы данных, могут быть включены.

Condition_expression включает одну переменную. (@) предшествует каждой местной переменной. Выражение обращается к значению, которое введено с инструкцией UPDATE ИЛИ INSERT. Любое имя или символ могут использоваться, чтобы представить значение при создании правила, но первым знаком должен быть символ.

Когда правило привязано к столбцу или определяемому пользователем типу данных, оно определяет приемлемые значения, которые могут быть вставлены в столбец.

Правила исполняют некоторые из тех же самых функций, что и ограничения проверки данных.

Столбец или определяемый пользователем тип данных могут иметь только одно правило. Однако, столбец может иметь, и правило и одно или большее количество ограничений проверки.

Пример 1. Создание правила на диапазон значений

CREATE RULE range_rule AS

@range >= 1000 AND @range < 20000

/* Привязка к столбцу таблицы */

sp_bindrule range_rule,’tbl_chitateli.num_billet’

Пример 2. Создание правила на список значений

CREATE RULE list_rule AS

@list IN ('1389', '0736', '0877')

/* Привязка к столбцу таблицы*/

sp_bindrule list_rule,’tbl_chitateli.home’

Пример 3. Создание правила по шаблону

CREATE RULE pattern_rule AS

@value LIKE '_ _-%[0-9]'

/* Привязка к столбцу таблицы */

sp_bindrule pattern _rule,’tbl_chitateli.phone’

Удаление правил

Удаление правил выполняется командойDropRule. Синтаксис команды приведен ниже:

DROP RULE {rule} [,...n],

где rule– удаляемое правило. Названия правила должно соответствовать правилам для идентификаторов. Определение имени владельца правила необязательно;

n– метка, указывающая, что может быть определено несколько правил.

Команда удаляет одно или более определяемых пользователем правил из текущей базы данных.

DROP RULE range_rule, list_rule, pattern_rule

ПОЛЬЗОВАТЕЛЬСКИЕ ТИПЫ ДАННЫХ SQL SERVER (USER-DEFINED TYPES, UDF), НАЗНАЧЕНИЕ

В SQL Server предусмотрена также концепция пользовательских типов данных (user-defined types, UDF). Их можно создавать как на графическом экране - из контейнера User Defined Data Types в Enterprise Manager, так и скриптом (sp_addtype). Пользовательские типы данных - это просто возможность использовать ограничения целостности много раз в рамках одной и той же базы данных (поскольку все пользовательские типы создаются на основе встроенных). Классический пример применение пользовательского типа данных - почтовый индекс.

 В SQL Server существует возможность создавать собственные типы данных. Это позволяет дать набору настроек одно имя и использовать его в дальнейшем. Все собственные типы данных будут базироваться на базовых. В SQL Server собственные типы данных называются домены. Создавая собственный тип необходимо обратить внимание на то, в какой базе данных вы находитесь в момент создания. К примеру, создав собственный тип в базе данных Test1, использовать его вы можете только в ней. Если же вам требуется тип данных, который можно использовать во всех базах данных, которые будут созданы в будущем необходимо собственный тип данных определить один раз в базе данных model, т.к. все создаваемые базы данных являются копией базы данных model. Но в тех базах, которые в текущий момент уже созданы, новые типы данных существовать не будут.