
- •Работа с таблицами в системе управления базами данных oracle
- •Типы данных Oracle
- •Строки символов
- •Числовые типы
- •Двоичные данные
- •Дата и время
- •Преобразование типов данных
- •Правила сравнения типов данных
- •Значения Null
- •Псевдостолбцы
- •Объекты базы данных
- •Создание таблиц
- •Ограничения для таблиц и столбцов
- •Alter table
- •Удаление таблицы
- •Ввод данных в таблицы
- •Удаление таблицы
- •Представление
- •Индексы
- •Create sequence
- •Create synonym
- •Индексы
- •Работа с индексами
- •Явные и неявные индексы
- •Изменение индекса
- •Удаление индексов
- •Битовые индексы
- •Кластеры
- •Создание кластеров
- •Удаление кластеров
Работа с таблицами в системе управления базами данных oracle
Типы данных Oracle
СУБД Oracleподдерживает различные типы данных: числовые, символьные, двоичные, время и дата.
Строки символов
Тип CHARACTERиспользуется для хранения строк фиксированной длины. Для хранения строк резервируется определенный объем памяти. При присваивании короткая строка дополняется пробелами.
Если длина строки не указана явно, она полагается равной 1. Максимальное значение параметра длина — 255 символов.
Пример:
strl CHAR(10)
str2 CHARACTER
Тип VARCHARиспользуется для хранения строк переменной длины. Для хранения строк резервируется реально необходимый объем памяти.
Синтаксис:
VARCHAR[(длина)],
Если длина строки не указана явно, она полагается равной 1. Максимальное значение параметра длина — 2000 символов (в стандарте SQL-92 до 2048 символов).
Пример
varstr1 VARCHAR(10)
varstr2 CHARACTER VARYING(5)
Тип VARCHAR2также используется для хранения строк переменной длины (аналогичноVARCHAR). Для хранения строк резервируется реально необходимое пространство.
Синтаксис: VARCHAR2 (длина).
Длина строки должна быть указана явно. Минимальное значение параметра длина — 1 символ, максимальное значение параметра длина — 2000 символов.
Пример:
stroka VARCHAR2(10)
Tип LONGиспользуется для хранения больших строк переменной длины. Для хранения строк резервируется реально необходимое пространство. Использование переменных типаLONGимеет следующие ограничения:
таблица не может содержать более одного столбца с типом данных LONG;
для переменных типа LONGне разрешено построение индекса;
хранимые функции не могут возвращать значения типа LONG;
столбцы типа LONGне могут включаться в ограничения целостности (кроме ограниченияNULLилиNOTNULL).
Числовые типы
Тип NUMBERиспользуется для представления чисел с заданной точностью.
Синтаксис: NUMBER[(точность [, масштаб])].
Если значение параметра точность не указано явно, оно полагается равным 38. Значение параметра масштаб по умолчанию предполагается равным 0. Значение параметра точность может изменяться от 1 до 38; значение параметра масштаб может изменяться от -84 до 128. Использование отрицательных значений масштаба означает сдвиг десятичной точки в сторону старших разрядов. Например, определение NUMBER ( 7 , -3 ) означает округление до тысяч.
Пример:
varcounterNUMBER
Типы DECIMALиNUMERICполностью эквивалентны типу NUMBER.
Синтаксис:
DECIMAL [(точность [, масштаб])],
DEC [(точность [, масштаб])],
NUMERIC [(точность [, масштаб])].
Пример:
vardecl DEC
vardec2 DEC(5)
vardec3 DECIMAL(8,3)
varnum NUMERIC
Двоичные данные
TипRAWиспользуется для хранения битовых строк переменной длины. Отличие типаRAWот типовCHAR,VARCHAR2 состоит в том, что для типов символьных строкOracle(точнееSQL*Net) производит автоматическое преобразование данных при их передаче между клиентом и сервером. УтилитыImportиExportтакже производят автоматическое преобразование символьных строк при логической разгрузке и загрузке баз данных в соответствии с настройками средств поддержки национальных языков.
Синтаксис:
RAW [(длина)].
Параметр "длина" задается в байтах. Максимальное значение параметра длина — 255 байт.
Пример
bitarray1 RAW(10)
Tim LONG RAWиспользуется для хранения больших битовых строк переменной длины.
Синтаксис: LONGRAW[(длина)]
Параметр длина измеряется в байтах. Если длина строки не указана явно, она полагается равной 2 мегабайтам. Максимальное значение параметра длина — 2 гигабайта символов. Для переменных типа LONG RAW невозможно построение индекса.
Пример:
verylongstr1 LONG RAW(1000000)