CREATE TABLE sales.orders
( id INTEGER PRIMARY KEY,
customerid INTEGER NOT NULL REFERENCES customer,
orderdate DATE DEFAULT SYSDATE NOT NULL,
shipdate DATE DEFAULT SYSDATE,
paiddate DATE DEFAULT SYSDATE,
status CHAR(1) DEFAULT 'F' CHECK (status IN ('F', 'B')) )
При наименовании таблицы вы можете определить содержащую новую таблицу схему. Для этого перед именем таблицы нужно просто указать имя схемы и точку. В данном примере создается таблица ORDERS в схеме SALES. Если имя схемы опущено, то Oracle7 предполагает, что вы создаете таблицу в своей схеме.
Примечание
Для использования команды CREATETABLE вы должны иметь системные полномочия CREATETABLE (для создания таблиц в своей схеме) или CREATEANYTABLE (для создания таблиц в своей или другой схеме).
Имя таблицы может быть любым литералом длиной до 30 символов (или байт), однако начинаться оно должно с буквы. Кроме того, имя не должно вступать в конфликт с зарезервированными словами Oracle. Например, большинство таблиц в данной книге имеют единственное число (например, ITEM, а не ITEMS), однако таблица заказов называется ORDERS, так как ORDER — это зарезервированное слово Oracle7 (оно используется в операторе SQL ORDER BY).
Если это необходимо, в качестве имени таблицы (или любого другого объекта базы данных) можно использовать и зарезервированное слово Oracle, но при этом в операторе CREATE TABLE оно должно заключаться в двойные кавычки:
CREATE TABLE "order"
Однако большинство программистов избегают применения для имен объектов зарезервированных слов Oracle, так как это вызывает трудности при работе с SQL — все ссылки на такую таблицу должны содержать ее имя в кавычках SELECT * FROM "order" INSERT INTO "order"...
Отсюда видно, что зарезервированные слова в именах таблиц и других объектов лучше не использовать. Наконец, нужно убедиться, что имя таблицы уникально среди имен объектов данной схемы. Например, в схеме SALES не может быть двух таблиц ORDERS.
Как показывают эти примеры, команда CREATE TABLE предлагает несколько возможностей настройки структуры новой таблицы. Разработчика приложения здесь касаются в основном вопросы спецификации столбцов и задания ограничений ссылочной целостности. Подробнее об этих двух важных аспектах команды CREATE TABLE рассказывается в следующем разделе.
Спецификация столбцов и типов данных
Первое, что нужно принимать во внимание при создании новой таблицы — это ее столбцы. Столбцы определяют структуру строк содержащихся в таблице данных. Как можно задать различные части спецификации столбца, показывает приведенный в предыдущем разделе пример оператора CREATE TABLE.
Чтобы задать столбец таблицы в команде CREATE TABLE, укажите список разделенных запятыми спецификаций. Спецификация каждого столбца может состоять из нескольких частей. Здесь как минимум требуется задать имя столбца и тип его данных. Именем столбца может быть литерал дайной до 30 символов (или байт). Имя должно начинаться с алфавитного символа и не совпадать с зарезервированными словами Oracle. Типом данных столбца может быть любой тип данных Oracle, включая CHAR, VARCHAR2. NUMBER, DATE, LONG, RAW, LONG RAW и ROWID. (Подробная информация о типах данных Oracle приведена в таблице 2.1 г.тавы2.)
Совет
Для удобства вы можете также задавать тип данных столбца, используя большинство типов данных ANSI, IBMBD2 или IBMSQL/DS. В приведенном выше примере тип данных для столбцов ID и CUSTOMERID задавался как INTEGER. Если вы выберите задание типа данных столбца, используя не тип Oracle, то Oracle7 автоматически преобразует эту спецификацию типа в эквивалентную спецификацию типа данных Oracle. В этом примере Oracle7 автоматически конвертирует тип ANSIINTEGER в спецификацию типа данных ORACLENUMBER(38).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.