- •Операторы сравнения значений
- •Insert into table-name[column-name[,column-name [,…]]
- •Создание таблиц
- •Модификация таблиц
- •Создание индексов
- •Создание представления
- •Создание последовательности
- •Создание данных, определяемых пользователем
- •Insert into employee values (100,
- •Создание синонима
- •Создание ограничений
- •Табличные пространства (области).
- •Табличныеобласти
- •Контрольные вопросы
Создание таблиц
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)