- •Лекция 11. Стандартные значения, правила, пользовательскте типы данных. Стандартные значения
- •Создание и прикрепление стандартных значений
- •Удаление стандартных значений
- •Правила
- •Создание и прикрепление правил
- •Пример 1. Создание правила на диапазон значений
- •Создание определяемых пользователем типов базы данных
- •Переименование пользовательского типа
- •Удаление определенного пользователем типа данных
- •Значения объектов и их описание
Удаление стандартных значений
Удаление правил выполняется командой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. Но в тех базах, которые в текущий момент уже созданы, новые типы данных существовать не будут.