Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / L23 / Лекции 2_3.doc
Скачиваний:
44
Добавлен:
16.04.2013
Размер:
119.3 Кб
Скачать

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

CREATE TABLEtable-name (column-name type [default-expression] [constraint] [,column-name type [default-expression] [constraint]] [,…])

Стандартные типы данных

  • CHAR(n) – символьное поле длиной до 2000 символов

  • DATE – дата в пределах от 1-1-4712г до н.э. до 31-12-4712г н.э.

  • NUMBER(n,m) – числовое поле длиной до 38 позиций

  • VARCHAR2(n) – символьное поле переменной длины, до 4000 символов

Специальные типы данных

  • CLOB – однобайтовое символьное поле длиной до 4GB

  • NLOB – двухбайтовое символьное поле длиной до 4GB

  • BLOB – двоичное поле длиной до 4GB

  • BFILE – хранимое во внешнем файле двоичное поле длиной до 4GB

  • LONG – символьное поле переменной длины, до 2GB (устаревший тип данных)

  • RAW (и LONG RAW) – неструктурированное двоичное поле длиной до 2000 байт (устаревший тип данных)

Соответствие между типами данных Oracle и типами данных ANSI/ISO.

Тип данных ANSI/ISO...

... преобразуется в тип данных Oracle

CHARACTER(n)

CHAR(n)

CHAR(n)

CHARACTER VARYING(n)

CHAR VARYING(n)

VARCHAR2(n)

NATIONAL CHARACTER(n)

NATIONAL CHAR (n)

NCHAR(n)

NCHAR(n)

NATIONAL CHARACTER VARYING(n)

NATIONAL CHAR VARYING(n)

NCHAR VARYING(n)

NVARCHAR2(n)

NUMERIC(p,s)

DECIMAL(p,s)

NUMBER(p,s)

INTEGER

INT

SMALLINT

NUMBER(38)

FLOAT

DOUBLE PRECISION

REAL

NUMBER

Примечание. American National Standard Institute (ANSI) — Американский национальный институт стандартов. International Organization of Standards (ISO) — Международная организация по стандартизации.

Примечание. В 10-й версии введены соответствующие стандарту IEEE754 типы данных – BINARY_FLOAT и BINARY_DOUBLE.

Примечание. В процедурах PL/SQL могут использоваться совместимые с ANSI типы данных: DEC(p,s), DECIMAL(p,s), INT, INTEGER, REAL, FLOAT(p), DOUBLE PRECISION.

Кроме упомянутых выше скалярных типов, может быть задан составной (агрегатный) тип, например, структура, запись или коллекция. Кроме того существует и такой тип как ссылка.

Значение по умолчанию (default expression) указывает значение столбца в случае, если при вводе строки (оператором INSERT) соответствующее поле не было задано. Если значение по умолчанию не задавалось, то при вводе, пропущенному полю присваивается NULL.

Ограничения (constraint): NOT NULL, UNIQUE, CHECK

Модификация таблиц

ALTER TABLE table-name ADD (column-name type [default-expression] [constraint] [,column-name type [default-expression] [constraint]] [,…]);

ALTER TABLEtable-nameMODIFY(column-name type [default-expression] [constraint] [,column-name type [default-expression] [constraint]] [,…]);

ALTER TABLEtable-nameDROPcolumn-name;

Создание индексов

CREATE [UNIQUE]INDEXindex-nameON TABLEtable-name (column-name [,column-name] [,…])

Кроме того, индексы создаются автоматически, если при создании таблицы указать для столбца ограничение “PRIMARY KEY”.

Индексы используются автоматически, если во фразе “WHERE” указан индексированный столбец.

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

CREATE[OR REPLACE] [FORCE|NOFORCE]VIEWview-nameASsql-запрос[WITH CHECK OPTION] [WITH READ ONLY]

Представление – это SQL-оператор, хранящийся в словаре данных.

Типы представлений:

  • Сложные – имеют в своём теле фразы “GROUP BY” или функции, либо связанные с несколькими таблицами

  • Простые – ничего такого нет.

Только к простым могут применяться операторы DML (INSERT, UPDATE, DELETE)

Соседние файлы в папке L23