Процедура создания таблицы является более стандартизованной. Базовый синтаксис следующий:
CREATE TABLE table_name
( field1 datatype [ NOT NULL ],
field2 datatype [ NOT NULL ],
field3 datatype [ NOT NULL ]...
)
Имя таблицы. Конкретные системы накладывают определенные ограничения на использование имен таблиц.
Имя поля. Как правило, имена полей (столбцов) формируются по тем же правилам, что и имена таблиц.
Типы данных. Каждая система имеет свои типы данных. Приведем в качестве примера типы данных Oracle.
Data Type
Comments
CHAR
Буквенно-числовые данные длиной от 1 до 255 символов.
DATE
Дата, включая такие компоненты как год, месяц, день, час, минута, секунда.
LONG
Строка символьных данных переменной длины вплоть до 2 гигабайт.
LONG RAW
Двоичные данные длинной до 2 гигабайт.
NUMBER
Числовой 0, положительные или отрицательные числа с фиксированной или плавающей точкой.
RAW
Двоичные данные длиной до 255 байт.
ROWID
Шестнадцатеричная строка, представляющая уникальный адрес строки в таблице.
VARCHAR2
Буквенно-числовые данные длиной от 1 до 2000 символов.
Значения NULL. Некоторые из полей, например, ключевые, обязательно должны присутствовать. Для указания этого используется конструкция NOT NULL.
Уникальные значения. Некоторые системы позволяют указывать, что определяемое поле должно содержать уникальные, то есть не повторяющиеся, значения. Это особенно важно для ключевых полей. Другие системы, например, Oracle и SQL Server, позволяют декларировать уникальные (UNIQUE) индексы. Наконец, некоторые системы, включая Oracle, имеют тип данных, значения которого автоматически присваивается создаваемым строкам, таким образом, чтобы эти значения были уникальными в пределах таблицы на все время ее существования. В Oracle таким типом является ROWID. Кроме того, Oracle имеет фразу UNIQUE для указания списка полей, которые совместно должны представлять уникальное значение в таблице.
1) Создать таблицу FACULTY (используем типы Oracle)
CREATE TABLE FACULTY
( #F ROWID,
Name CHAR(50) NOT NULL,
Dean CHAR(25),
Building NUMBER,
Fund NUMBER
)
Создание таблицы из существующей. Наиболее общим методом создания таблиц является использование команды CREATE TABLE. Однако, некоторые системы предоставляют альтернативный способ определения таблиц с использованием формата и данных существующей таблицы. Этот метод полезен для выборки данных из таблицы для временного хранения и модификации. В Oracle синтаксис этой команды следующий:
CREATE TABLE NEW_TABLE(FIELD1, FIELD2, FIELD3)
AS (SELECT FIELD1, FIELD2, FIELD3
FROM OLD_TABLE <WHERE...>
Этот синтаксис позволяет создать новую таблицу с типами данных полей из существующей. Также возможно переименование полей.