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

3.4.3. Создание таблицы

Создание таблицы выполняется при помощи команды CREATE TABLE. Данная ко­манда имеет довольно сложный синтаксис:

CREAТЕ TABLE

[ database_name.[owner] | owner.] table_name

({<column_definition>

|column_name AS computed_column_expression

|< table_constraint >})

[ON { filegroup | DEFAULT }]

[TEXTIMAGE_ON { filegroup | DEFAULT } ]

Рассмотрим последовательно все ее параметры.

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

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

- table_name — имя создаваемой таблицы. При выборе имени для таблицы необхо­димо следовать стандартным правилам формирования идентификаторов объек­тов. Комбинация имени таблицы и ее владельца (owner.table_name) должна быть уникальной в пределах базы данных. Если таблица создается не в текущей базе данных, необходимо включить в описание имени таблицы ссылку на требуе­мую базу данных. Длина имени таблицы не должна превышать 128 символов. Если в начале имени указываются символы # или ##, то будут созданы соответ­ственно локальная и глобальная временные таблицы. Длина имен временных таблиц, включая символы # и ##, не должна превышать 115 символов.

Временные таблицы предназначены для временного хранения информации. Они сохраняются не в текущей базе данных, а в системной базе данных tempdb.

Названия локальных временных таблиц начинается с символа # и существуют до тех пор, пока существует соединение с SQL Server, в котором эти таблицы были созданы, и автоматически уничтожаются при его закрытии. При следующем открытии соединения их нужно создавать заново

Название глобальной временной таблицы начинается с символов ##. Эта таблица существует до тех пор, пока не будет явно удалена с помощью команды Drop Table, либо пока не будет закрыто соединение, в контексте которого она была создана.

<column_definition> – с помощью этой конструкции определяются свойства столбца (тип данных, значение по умолчанию, столбец – счетчик, ограничения целостности и т.д.).

- column_name — название столбца таблицы. Названия столбцов должны соот­ветствовать правилам для идентификаторов и быть уникальными в пределах таблицы.

- computed_column_expression — выражение, задающее значение для вычисляемого столбца. Вычисляемые столбцы являются виртуальными столбцами, то есть физически такие столбцы в таблице не хранятся. Они вычисляются с исполь­зованием значений столбцов той же самой таблицы. В выражении для вычис­ляемого столбца могут участвовать имена обычных столбцов, константы, функции, связанные одним или несколькими операторами. Подзапросы в та­ком выражении участвовать не могут.

Примечание. Вычисляемый столбец определяется следующим образом: имя_столбца AS выражение.

<table_constraint> - эта конструкция определяет ограничения целостности на уровне таблицы (столбец или список столбцов, на которые необходимы какие – либо ограничения целостности; метод упорядочивания данных в индексе; ключевое слово для создания индекса, внешний ключ и т.д.)

-ON (filegroup | DEFAULT} — обозначает группу файлов, в которой предполага­ется хранить таблицу. Данная файловая группа уже должна существовать для базы данных. Если указан идентификатор DEFAULT или описанный параметр не определяется вообще, таблица будет сохранена в файловой группе по умол­чанию. Помимо собственно таблицы параметр ON {filegroup | DEFAULT} может быть указан и для ограничений целостности PRIMARY KEY и UNIQUE.

- TEXTIMAGE_ON — с помощью этих ключевых слов можно указать, что столбцы с типами данных text, ntext и image будут сохранены в специально определен­ной для них файловой группе. Эта возможность предусмотрена, поскольку такие столбцы могут достигать довольно больших размеров. Иначе при от­сутствии этих ключевых слов в команде вышеназванные столбцы будут со­хранены в той же самой группе файлов, что и остальные столбцы таблицы. Если же этих столбцов в таблице не существует, ключевые слова TEXTIMAGE_ON не используются.

Примечание. Тип данных text обеспечивает хранение блоков текста длиной до 231-1 (2 147 483 647) символов. Тип данных ntext служит для хранение текста в формате Unicode длиной до 230-1 (1 073 741 823) символов. Тип данных image используется для хранения длинных битовых полей длиной до 231-1.

Соседние файлы в предмете Базы данных