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

         

Создание объектов


Объекты базы данных создаются программным путем с помощью оператора CREATE. Точный синтаксис оператора CREATE различен для каждого объекта, однако объекты, которые вы можете создавать, а также базовый синтаксис оператора CREATE для каждого объекта, вы можете найти в таблице 22.1.

Таблица 22.1. Операторы CREATE.

Синтаксис оператора CREATEСоздаваемый объект
CREATE DATABASE <имя>Создает базу данных
CREATE DEFAULT <имя> AS < выражение_константы >Создает значение по умолчанию
CREATE FUNCTION <имя> RETURNS <возвращаемое_значение> AS <операторы_tsql>Создает пользовательскую функцию (См. урок 30, "Пользовательские функции")
CREATE INDEX <имя> ON <таблица_или_представление> (<индексируемые_столбцы>)Создает индекс в таблице или представление
CREATE PROCEDURE <имя> AS < операторы_tsql>Создает хранимую процедуру (См. урок 28, "Хранимые процедуры")
CREATE RULE <имя> AS <условное_выражение>Создает роль базы данных
CREATE SCHEMA AUTHORIZATION <владелец> <определения_объектов>Создает таблицы, представления и разрешения как один объект
CREATE STATISTICS <имя> ON < таблица_или_представление> (<столбцы>)Создает статистические данные, используемые оптимизатором запросов
CREATE TABLE <имя> (<определение_таблицы>)Создает таблицу
CREATE TRIGGER <имя> {FOR | AFTER | INSTEAD OF} < действие_dml> AS <операторы_tsql>Создает триггер (См. уроку 29, "Триггеры")
CREATE VIEW <имя> AS < оператор_выборки>Создает представление

Из операторов CREATE, рассмотренных в таблице 22.1, только оператор CREATE TABLE является достаточно сложным. Это вызвано тем, что определение таблицы составляет несколько различных элементов. Вы должны определить столбцы, а каждый столбец должен иметь имя и тип данных. Вы можете задать для столбцов возможность использования нулевых (NULL) значений идентификационной строке или в GUID, значение по умолчанию, любые ограничения, применимые к столбцу, а также несколько других свойств, которые мы не будем здесь рассматривать. Упрощенная версия синтаксиса, для определения столбцов имеет следующий вид:


<имя_столбца> <тип_данных> [NULL | NOT NULL] [ [DEFAULT <значение_по_умолчанию>] | [IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLLCATION]]]] [ROWGUIDCOL] [<ограничение_для_столбца>[, <ограничение_для_столбца>...]]

Учтите, что указывание значений по умолчанию и спецификации идентичности является взаимоисключающим. Так, вы можете задавать значения по умолчанию для столбца или для идентификационного столбца, но никак не для обоих.

Описание для <ограничение_для_столбца> представлено ниже:

[CONSTRAINT <имя_ограничения] [ [PRIMARY KEY | UNIQUE] [CLUSTERED | NONCLUSTERED] | [[FOREIGN KEY] REFERENCES <ссылочная_таблица> (имя_столбца)] | [CHECK [NOT FOR REPLICATION] (<логическое выражение>)] ]

Вы можете задавать более одного выражения <ограничение_для_столбца> для столбца, но при этом вы должны задать тип каждого ограничения (PRIMARY KEY/UNIQUE, FOREIGN KEY или CHECK).

Все это выглядят несколько пугающе, но если вы начнете с основных определений (например, MyColumn varchar 20) и будете просто добавлять необходимые фразы, то увидите, что все не так уж сложно. Как и в приведенных ниже примерах, вам почти никогда не придется использовать более двух или трех фраз в одном определении столбца:

MyColumn varchar(20) MyColumn varchar(20) NOT NULL MyColumn varchar(20) PRIMARY KEY CLUSTERED MyColumn varchar(20) IDENTITY (1, 1) PRIMARY KEY CLUSTERED MyColumn varchar(20) NOT NULL FOREIGN KEY REFERENCES Oils (OilName)



Создание объектов

увеличить изображение

  • Нажмите клавишу F5, чтобы обновить содержимое экрана. В списке появится SimpleTable.

    Создание объектов

    увеличить изображение



  • Совет. Если окно Query (Запрос) отобразит сообщение о том, что объект с именем "SimpleTable" уже существует, то вам не следует щелкать на Object Browser перед нажатием клавиши F5.

    Создайте таблицу с ограничением внешнего ключа.

    1. В окне запроса выберите вкладку Editor (Редактор) и в панели инструментов анализатора запросов Query Analyzer нажмите кнопку Clear Window (Очистить окно)
      Создание объектов
      для очистки содержимого панели редактирования Editor Pane.
    2. В панели редактирования введите следующий оператор:

      CREATE TABLE RelatedTable ( RelatedID smallint IDENTITY (1,1) PRIMARY KEY CLUSTERED, SimpleID smallint REFERENCES SimpleTable (SimpleID), RelatedDescription varchar(20) )

      Создание объектов


    3. Чтобы выполнить оператор, в панели инструментов анализатора запросов Query Analyzer нажмите на кнопку Execute Query (Выполнить запрос).
      Создание объектов
      Query Analyzer создаст таблицу.
    4. Чтобы выбрать Object Browser, щелкните на любом месте в его панели.
    5. Нажмите клавишу F5, чтобы обновить содержимое экрана. Object Browser отобразит в папке User Tables новую таблицу RelatedTable.

      Создание объектов

      увеличить изображение



    Создайте представление

    1. В окне запроса выберите вкладку Editor (Редактор) и в панели инструментов анализатора запросов Query Analyzer нажмите кнопку Clear Window (Очистить окно)
      Создание объектов
      для очистки содержимого панели редактирования Editor Pane.
    2. В панели редактирования введите следующий оператор:

      CREATE VIEW SimpleView AS

      SELECT RelatedID, SimpleDescription, RelatedDescription FROM RelatedTable INNER JOIN SimpleTable ON RelatedTable.SimpleID = SimpleTable.SimpleID

      Создание объектов


    3. Для выполнения оператора, в панели инструментов анализатора запросов Query Analyzer нажмите на кнопку Execute Query (Выполнить запрос).
      Создание объектов
      Query Analyzer создаст представление.
    4. В Object Browser раскройте папку View для базы данных Aromatherapy. (Если папка View уже раскрыта, щелкните на любом месте в панели Object Browser для ее выбора.)

      Создание объектов

      увеличить изображение

    5. Нажмите клавишу F5, чтобы обновить содержимое экрана. Object Browser отобразит в папке View новое представление SimpleView.



      Создание объектов

      увеличить изображение



    Создайте индекс

    1. В окне запроса выберите вкладку Editor (Редактор) и в панели инструментов анализатора запросов Query Analyzer нажмите кнопку Clear Window (Очистить окно)
      Создание объектов
      для очистки содержимого панели редактирования Editor Pane.
    2. В панели редактирования введите следующий оператор:

      CREATE INDEX SimpleIndex ON SimpleTable (SimpleDescription)

      Создание объектов


    3. Для выполнения оператора в панели инструментов анализатора запросов Query Analyzer нажмите на кнопку Execute Query (Выполнить запрос).
      Создание объектов
      Query Analyzer создаст индекс.
    4. В таблице SimpleTable раскройте папку Indexes и убедитесь, что индекс SimpleIndex добавлен.

      Создание объектов

      увеличить изображение




    Содержание раздела