Инструкция CREATE TABLE
Создает новую таблицу.
--------------------------------------------------------------------------------
Примечание. Ядро базы данных Microsoft Jet не поддерживает использование инструкции CREATE TABLE или любой другой инструкции языка определения данных (DDL) с базами данных, несовместимыми со стандартом Microsoft Jet. Применяйте вместо них методы Create объектов доступа к данным (DAO).
--------------------------------------------------------------------------------
Синтаксис
CREATE [TEMPORARY] TABLE таблица (поле_1 тип [(размер)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [индекс_1] [, поле_2 тип [(размер)] [NOT NULL] [индекс_2] [, ...]] [, CONSTRAINT составнойИндекс [, ...]])
Ниже перечислены аргументы инструкции CREATE TABLE:
Элемент Описание
таблица Имя создаваемой таблицы.
поле_1, поле_2 Имена одного или нескольких полей, создаваемых в новой таблице. Таблица должна содержать хотя бы одно поле.
тип Тип данных поля в новой таблице.
размер Размер поля в знаках (только для текстовых и двоичных полей).
индекс_1, индекс_2 Предложение CONSTRAINT, предназначенное для создания простого индекса. Для получения более подробных сведений смотрите описание предложения CONSTRAINT.
составнойИндекс Предложение CONSTRAINT, предназначенное для создания составного индекса. Для получения более подробных сведений смотрите описание предложения CONSTRAINT.
Дополнительные сведения
Инструкция CREATE TABLE используется для описания новой таблицы, ее полей и индексов. Если для поля добавлено ограничение NOT NULL, то при добавлении новых записей это поле должно содержать допустимые данные.
Предложение CONSTRAINT устанавливает различные ограничения на поле и может быть использовано для определения ключа. Кроме того, для создания ключа или дополнительного индекса для существующей таблицы можно использовать инструкцию CREATE INDEX.
Допускается использование ограничения NOT NULL для одиночного поля, а также внутри именованного предложения CONSTRAINT, которое применяется к одиночному полю или к именованному предложению CONSTRAINT, предназначенному для создания составного индекса. Однако ограничение NOT NULL можно наложить на поле только один раз. При попытке применить это ограничение несколько раз возникает ошибка выполнения.
Создаваемая временная (TEMPORARY) таблица будет доступна только в том сеансе, где эта таблица была создана. По завершении данного сеанса она автоматически удаляется. Временные таблицы могут быть доступны для нескольких пользователей.
Использование атрибута WITH COMPRESSION допускается только для типов данных CHARACTER и MEMO (он же TEXT) и их синонимов.
Атрибут WITH COMPRESSION был добавлен к столбцам CHARACTER вследствие перехода к формату представления знаков Юникод. Каждый знак в формате Юникод всегда кодируется с помощью двух байтов. Для существующих баз данных Microsoft® Jet, содержащих в основном символьные данные, это может означать увеличение размера файла базы данных примерно в два раза после преобразования в формат Microsoft Jet версии 4.0. Тем не менее, для многих наборов символов, ранее обозначавшихся как однобайтовые наборы символов (SBCS), представление в формате Unicode (SBCS) может быть без труда сжато до одного байта. Если столбец CHARACTER был определен с этим атрибутом, то при сохранении в нем данных осуществляется их автоматическое сжатие, а при извлечении данных - обратная операция.
Столбцы MEMO также могут быть определены для хранения данных в сжатом формате. Однако при этом действует одно ограничение. Сжатию подвергаются только те столбцы типа MEMO, которые в сжатом виде имеют размер не более 4096 байтов. Все остальные столбцы MEMO не сжимаются. Это означает, что для данной таблицы и данного столбца MEMO этой таблицы одни данные могут быть сжаты, а другие - нет.