Вы научитесь:
создавать умолчания;
связывать умолчание со столбцом;
снимать действие умолчания;
создавать правила;
связывать правило со столбцом;
создавать пользовательские типы данных;
назначать столбцу пользовательский тип данных.
Понятие об умолчаниях
Функция умолчаний аналогична свойству умолчания, которое вы задаете при создании столбца в конструкторе таблиц Table Designer, – т.е., они представляют собой значения, которые автоматически присваиваются Microsoft SQL Server, если пользователь не задал значение при создании строки. Однако умолчания являются объектами на уровне базы данных, которые могут быть применены к нескольким столбцам.
Создание умолчаний
Поскольку умолчания являются независимыми объектами в пределах базы данных, вы должны создать умолчание, прежде чем сможете связать его со столбцом таблицы.
Создайте умолчание
Перейдите к папке Default базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список умолчаний в рабочей панели Details Pane. (В рассматриваемом нами примере базы данных их нет.)
Нажмите кнопку New (Создать).
SQL Server отобразит диалоговое окно Default Properties (Свойства умолчаний).
Введите
Введите
Нажмите ОК. SQL Server создаст умолчание.
Снимите действие умолчания
Если конструктор таблиц Table Designer не остался открытым после выполнения предыдущего упражнения, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц.
Выделите столбец Sample. Конструктор таблиц отобразит свойства для этого столбца.
Выделите dbo.DefaultUnknown в поле значения по умолчанию Default Value и нажмите клавишу Delete, чтобы удалить значение.
Нажмите кнопку Save (Сохранить). SQL Server сохранит изменение в определении столбца.
Понятие о правилах
Правила, как и умолчания, представляют собой объекты на уровне базы данных, которые могут быть применены к столбцам в нескольких таблицах. Правило подобно проверочному ограничению оно также задает, какие значения данных приемлемы для столбца, но имеет более узкое применение. Так, к столбцу может быть применено несколько проверочных ограничений, но только одно правило.
Примечание. Microsoft не одобряет правила и рекомендует использовать вместо них проверочные ограничения. Однако правила по-прежнему находят применение в базах данных SQL Server, поскольку только правило может быть применено к пользовательскому типу данных.
В отличие от проверочных ограничений, правило не может напрямую ссылаться на имя столбца. Вместо этого значение, к которому применяется правило, передается ему через переменную, имеющую форму записи @ИмяПеременной. Подробнее о переменных вы узнаете в уроке 24.
Создание правил
Поскольку правила, как и умолчания, представляют собой независимые объекты базы данных, вы должны создать их, прежде чем сможете их применить к столбцу в таблице.
Создайте правило
Перейдите к папке Rules базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список правил для базы данных. (Для рассматриваемой в примере базы данных список будет пуст.)
Нажмите New (Создать).
SQL Server откроет диалоговое окно Rule Properties (Свойства правила).
Введите
Введите
Совет. Помните, что LEN является функцией Transact-SQL, которая возвращает количество символов в текстовой строке, и что символ @ в начале оператора Transact-SQL указывает на переменную, которая будет передавать значение в операторе. Поэтому в этом случае правило возвратит TRUE только тогда, когда длина столбца больше, чем 3.
Нажмите ОК. SQL Server закроет диалоговое окно Rule Properties (Свойства правила) и создаст правило.
Свяжите правило со столбцом
Откройте диалоговое окно Rule Properties (Свойства правила) для SampleRule, дважды щелкнув на имени правила в рабочей панели Details Pane. SQL Server отобразит диалоговое окно Rule Properties (Свойства правила).
Щелкните на столбце Bind columns. SQL Server отобразит диалоговое окно Bind Rule To Columns (Связывание правила со столбцами).
Выберите [dbo].[Oils] в поле списка Table. SQL Server отобразит поля, имеющиеся в таблице Oils.
Выделите столбец sample в списке Unbound Columns (несвязанные столбцы), а затем нажмите Add (Добавить).
Нажмите ОК. SQL Server закроет диалоговое окно Bind Rule To Columns (Связывание правила со столбцами).
Еще раз нажмите ОК, чтобы закрыть диалоговое окно Rule Properties (Свойства правила)
Понятие о пользовательских типах данных
Правила и умолчания являются полезным механизмом для обслуживания ограничений в базе данных, но SQL Server предоставляет более мощный механизм через пользовательские типы данных. Пользовательские типы данных задаются на основе любых внутренних типов данных SQL Server и содержат указание длины столбца. Кроме того, правила и умолчания могут быть при необходимости применены и для пользовательских типов данных.
Когда столбец создается на основе пользовательского типа данных, столбец таблицы наследует все свойства, указанные для этого типа. Если определение пользовательского типа данных изменяется, правила для столбца, основанные на этом типе, также будут изменены.
Совет. Если пользовательский тип данных создается в модельной базе данных, все новые базы данных автоматически получат доступ к этому типу.
Создание пользовательских типов данных
Опять-таки, пользовательские типы данных представляют собой независимые объекты базы данных и должны быть определены в базе данных до того, как они могут быть назначены столбцам.
Создайте пользовательский тип данных
Перейдите к папке User Defined Data Types базы данных Aromatherapy. SQL Server отобразит список пользовательских типов данных. (В рассматриваемом нами примере базы данных он будет пуст.)
Нажмите New (Создать)
. SQL Server отобразит диалоговое окно User-Defined Data Type Properties (Свойства пользовательских типов данных).
Введите
Установите в качестве базового тип данных
Выберите dbo.SampleRule в поле списка Rule (Правило).
Примите значения по умолчанию для опций Allow NULLS и Default, затем нажмите ОК. SQL Server создаст пользовательский тип данных.
Назначьте столбцу пользовательский тип данных
Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц.
Выделите столбец Sample и выберите MySample из поля списка Data Type (Тип данных). SQL Server установит тип данных MySample.
Примечание. Пользовательские типы данных располагаются в конце списка типов данных Data Type.
Нажмите кнопку Save (Сохранить). SQL Server сохранит таблицу с новым определением.
Краткое содержание
| Чтобы ... |
Сделайте следующее |
| Создать умолчание |
Перейдите к папке Defaults базы данных, нажмите New (Создать) и введите имя умолчания и значение. |
| Связать умолчание со столбцом |
Откройте конструктор таблиц Table Designer для таблицы и выберите умолчание из списка Default Value (Значение по умолчанию). |
| Убрать действие умолчания |
Откройте конструктор таблиц Table Designer для таблицы, выделите связанный столбец и удалите значение в поле Default Value (Значение по умолчанию). |
| Создать правило |
Перейдите к папке Rules базы данных, нажмите New (Создать) и установите имя и текст правила. |
| Связать правило со столбцом |
Откройте диалоговое окно Bind Rule To Column (Связывание правила со столбцом), щелкнув на Bind Columns (Связать со столбцами) в диалоговом окне Rule Properties (Свойства правила). Выберите соответствующие поля в списке Unbound Columns (Несвязанные столбцы) и нажмите кнопку Add (Добавить). |
| Создать пользовательский тип данных |
Перейдите к папке User Defined Data Types базы данных, нажмите New (Создать) и установите свойства нового пользовательского типа данных. |
| Назначить столбец пользовательскому типу данных |
Откройте конструктор таблиц Table Designer и выберите пользовательский тип данных из списка Data Type. |
Вы научитесь:
создавать умолчания;
связывать умолчание со столбцом;
снимать действие умолчания;
создавать правила;
связывать правило со столбцом;
создавать пользовательские типы данных;
назначать столбцу пользовательский тип данных.
Понятие об умолчаниях
Функция умолчаний аналогична свойству умолчания, которое вы задаете при создании столбца в конструкторе таблиц Table Designer, – т.е., они представляют собой значения, которые автоматически присваиваются Microsoft SQL Server, если пользователь не задал значение при создании строки. Однако умолчания являются объектами на уровне базы данных, которые могут быть применены к нескольким столбцам.
Создание умолчаний
Поскольку умолчания являются независимыми объектами в пределах базы данных, вы должны создать умолчание, прежде чем сможете связать его со столбцом таблицы.
Создайте умолчание
Перейдите к папке Default базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список умолчаний в рабочей панели Details Pane. (В рассматриваемом нами примере базы данных их нет.)
Нажмите кнопку New (Создать).
SQL Server отобразит диалоговое окно Default Properties (Свойства умолчаний).
Введите
Введите
Нажмите ОК. SQL Server создаст умолчание.
Свяжите умолчание со столбцом
Перейдите к папке
Добавьте в таблицу новый столбец с именем Sample. Примите тип данных по умолчанию и длину, предложенную SQL Server.
Щелкните на поле значения по умолчанию Default Value для столбца, а затем выберите из списка dbo.DefaultUnknown.
Нажмите кнопку Save (Сохранить).
SQL Server сохранит таблицу.
Снимите действие умолчания
Если конструктор таблиц Table Designer не остался открытым после выполнения предыдущего упражнения, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц.
Выделите столбец Sample. Конструктор таблиц отобразит свойства для этого столбца.
Выделите dbo.DefaultUnknown в поле значения по умолчанию Default Value и нажмите клавишу Delete, чтобы удалить значение.
Нажмите кнопку Save (Сохранить). SQL Server сохранит изменение в определении столбца.
Понятие о правилах
Правила, как и умолчания, представляют собой объекты на уровне базы данных, которые могут быть применены к столбцам в нескольких таблицах. Правило подобно проверочному ограничению оно также задает, какие значения данных приемлемы для столбца, но имеет более узкое применение. Так, к столбцу может быть применено несколько проверочных ограничений, но только одно правило.
Примечание. Microsoft не одобряет правила и рекомендует использовать вместо них проверочные ограничения. Однако правила по-прежнему находят применение в базах данных SQL Server, поскольку только правило может быть применено к пользовательскому типу данных.
В отличие от проверочных ограничений, правило не может напрямую ссылаться на имя столбца. Вместо этого значение, к которому применяется правило, передается ему через переменную, имеющую форму записи @ИмяПеременной. Подробнее о переменных вы узнаете в уроке 24.
Создание правил
Поскольку правила, как и умолчания, представляют собой независимые объекты базы данных, вы должны создать их, прежде чем сможете их применить к столбцу в таблице.
Создайте правило
Перейдите к папке Rules базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список правил для базы данных. (Для рассматриваемой в примере базы данных список будет пуст.)
Нажмите New (Создать).
SQL Server откроет диалоговое окно Rule Properties (Свойства правила).
Введите
Введите
Совет. Помните, что LEN является функцией Transact-SQL, которая возвращает количество символов в текстовой строке, и что символ @ в начале оператора Transact-SQL указывает на переменную, которая будет передавать значение в операторе. Поэтому в этом случае правило возвратит TRUE только тогда, когда длина столбца больше, чем 3.
Нажмите ОК. SQL Server закроет диалоговое окно Rule Properties (Свойства правила) и создаст правило.
Свяжите правило со столбцом
Откройте диалоговое окно Rule Properties (Свойства правила) для SampleRule, дважды щелкнув на имени правила в рабочей панели Details Pane. SQL Server отобразит диалоговое окно Rule Properties (Свойства правила).
Щелкните на столбце Bind columns. SQL Server отобразит диалоговое окно Bind Rule To Columns (Связывание правила со столбцами).
Выберите [dbo].[Oils] в поле списка Table. SQL Server отобразит поля, имеющиеся в таблице Oils.
Выделите столбец sample в списке Unbound Columns (несвязанные столбцы), а затем нажмите Add (Добавить).
Нажмите ОК. SQL Server закроет диалоговое окно Bind Rule To Columns (Связывание правила со столбцами).
Еще раз нажмите ОК, чтобы закрыть диалоговое окно Rule Properties (Свойства правила)
Понятие о пользовательских типах данных
Правила и умолчания являются полезным механизмом для обслуживания ограничений в базе данных, но SQL Server предоставляет более мощный механизм через пользовательские типы данных. Пользовательские типы данных задаются на основе любых внутренних типов данных SQL Server и содержат указание длины столбца. Кроме того, правила и умолчания могут быть при необходимости применены и для пользовательских типов данных.
Когда столбец создается на основе пользовательского типа данных, столбец таблицы наследует все свойства, указанные для этого типа. Если определение пользовательского типа данных изменяется, правила для столбца, основанные на этом типе, также будут изменены.
Совет. Если пользовательский тип данных создается в модельной базе данных, все новые базы данных автоматически получат доступ к этому типу.
Создание пользовательских типов данных
Опять-таки, пользовательские типы данных представляют собой независимые объекты базы данных и должны быть определены в базе данных до того, как они могут быть назначены столбцам.
Создайте пользовательский тип данных
Перейдите к папке User Defined Data Types базы данных Aromatherapy. SQL Server отобразит список пользовательских типов данных. (В рассматриваемом нами примере базы данных он будет пуст.)
Нажмите New (Создать)
. SQL Server отобразит диалоговое окно User-Defined Data Type Properties (Свойства пользовательских типов данных).
Введите
Установите в качестве базового тип данных
Выберите dbo.SampleRule в поле списка Rule (Правило).
Примите значения по умолчанию для опций Allow NULLS и Default, затем нажмите ОК. SQL Server создаст пользовательский тип данных.
Назначьте столбцу пользовательский тип данных
Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой мыши на имени в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц.
Выделите столбец Sample и выберите MySample из поля списка Data Type (Тип данных). SQL Server установит тип данных MySample.
Примечание. Пользовательские типы данных располагаются в конце списка типов данных Data Type.
Нажмите кнопку Save (Сохранить). SQL Server сохранит таблицу с новым определением.
Краткое содержание
| Чтобы ... |
Сделайте следующее |
| Создать умолчание |
Перейдите к папке Defaults базы данных, нажмите New (Создать) и введите имя умолчания и значение. |
| Связать умолчание со столбцом |
Откройте конструктор таблиц Table Designer для таблицы и выберите умолчание из списка Default Value (Значение по умолчанию). |
| Убрать действие умолчания |
Откройте конструктор таблиц Table Designer для таблицы, выделите связанный столбец и удалите значение в поле Default Value (Значение по умолчанию). |
| Создать правило |
Перейдите к папке Rules базы данных, нажмите New (Создать) и установите имя и текст правила. |
| Связать правило со столбцом |
Откройте диалоговое окно Bind Rule To Column (Связывание правила со столбцом), щелкнув на Bind Columns (Связать со столбцами) в диалоговом окне Rule Properties (Свойства правила). Выберите соответствующие поля в списке Unbound Columns (Несвязанные столбцы) и нажмите кнопку Add (Добавить). |
| Создать пользовательский тип данных |
Перейдите к папке User Defined Data Types базы данных, нажмите New (Создать) и установите свойства нового пользовательского типа данных. |
| Назначить столбец пользовательскому типу данных |
Откройте конструктор таблиц Table Designer и выберите пользовательский тип данных из списка Data Type. |