- •Лабораторная робота 1
- •Ключевые слова и параметры
- •Типы данных Oracle
- •Семантика сравнения строковых данных
- •Использование типа данных number
- •Использование типа данных date
- •Date 'yyyy-mm-dd' Где:
- •Арифметические действия с датами
- •Типы данных ansi/iso
- •Изменение таблиц
- •Удаление таблиц
- •Задание
- •Создание таблицы
- •Изменение таблицы
- •Удаление таблицы
- •Контрольные вопросы
- •Приложение а. Правила именования объектов базы данных
Ключевые слова и параметры
schema
Схема, которая будет содержать таблицу. Если вы опустили schema, Oracle создаст таблицу в вашей собственной схеме.
table
Имя создаваемой таблицы.
column
Специфицирует имя столбца таблицы.
Если вы также указали AS subquery, то можете опустить column и datatype.
datatype
Тип данных столбца. Типы данных, поддерживаемые в Oracle приведены в разделе «Типы данных Oracle».
Вы можете определить столбец с типом данных ROWID, однако Oracle не гарантирует, что принимаемые значения будут соответствовать допустимым значениям этого типа. datatype может быть опущен:
- если вы указали фразу AS subquery. (Если вы создаете таблицу с индексами и указываете фразу AS subquery, то вы обязаны опустить тип данных.)
- если соответствующий столбец входит в состав внешнего ключа в референциальном ограничении целостности. (Oracle автоматически присвоит столбцу тип данных, имеющийся у столбца, на который производится ссылка в референциальном ограничении целостности.)
DEFAULT expr
Определяет значение, которое должно быть присвоено столбцу в том случае, когда в последующих предложениях INSERT значение столбца не будет указываться. Тип данного для выражения expr должен совпадать с типом данных столбца. Столбец также должен быть достаточно длинным, что разместить значение выражения.
column_constraint
Определяет ограничение целостности в качестве составной части определения столбца. Ограничения целостности будут изучены в лабораторной работе 2.
table_constraint
Определяет ограничение целостности в качестве составной части определения таблицы. Ограничения целостности будут изучены в лабораторной работе 2.
AS subquery
Вставляет строки, возвращаемые подзапросом, в создаваемую таблицу.
Ограничения:
Количество столбцов в таблице должно быть равно количеству столбцов, возвращаемых подзапросом.
Определения столбцов могут содержать только имена столбцов, значения по умолчанию и ограничения целостности, но не могут содержать тип данных.
Вы не можете определить референциальное ограничение целостности (см. Лаб. 2) в предложении CREATE TABLE, которое содержит фразу AS subquery. В этом случае вы должны создать таблицу без таких ограничений и затем добавть их позже с помощью предложения ALTER TABLE.
Типы данных Oracle
Тип данных связывает фиксированный набор свойств со значениями, которые могут использоваться в столбце таблицы или в качестве аргумена процедуры или функции. Эти свойства заставляют Oracle трактовать значения одного типа данных по другому по отношению к значениям другого типа. Например, Oracle может складывать значения типа NUMBER, но не может это делать для типа RAW.
В таблице ниже приводятся некоторые из типов данных Oracle, которые имеют широкое использование и могут быть полезными при определении таблиц в лабораторной работе.
Тип данных |
Описание |
Длина столбца и значение по умолчанию o |
CHAR (size) |
Строковые данные фиксированной длины в size байт |
Длина фиксирована для всех строк таблицы (с учетом дописываемых справа пробелов). Максимально допустимый размер - 2000 байт. Размер по умолчанию – 1 байт. |
VARCHAR2 (size) |
Variable-length character data |
Variable for each row, up to 4000 bytes per row. A maximum size must be specified. |
NUMBER (p,s) |
Числовое данное переменной длины. Максимальное значение точности p и/или масштаба равно 38 |
Длина переменная для каждой стоки. Для такого столбца максимально необходимое пространство равно 21 байт |
DATE |
Данное фиксированной длины, содержащее дату и время в диапазоне от Jan. 1, 4712 B.C.E. до Dec. 31, 4712 C.E. |
Длина фиксирована и равна 7 байт для каждой стоки в таблице. Формат по умолчанию (например, DD-MON-YY) определяется параметром NLS_DATE_FORMAT |
BLOB |
Неструктурированные бинарные данные |
До 232 - 1 байт или 4 гигабайт |
RAW (size) |
Бинарные данные переменной длины |
Каждая строка имеет переменную длину, не превышающую 2000 байт. Максимальные размер size должен быть указан. Используется для совместимости с предыдущими версиями Oracle. |
LONG |
Строковые данные переменной длины |
до 2GB |
LONG RAW |
Бинарные данные переменной длины |
Каждая строка имеет переменную длину, не превышающую 231 - 1 байт или 2 гигабайта. Используется для совместимости с предыдущими версиями Oracle. |
ROWID |
Бинарные данные, представляющие адрес строки. |
Фиксированной длины в 10 байт (расширенный ROWID) или 6 байт (ограниченный ROWID) для каждой строки таблицы |
Семантика сравнения строковых данных
Oracle сравнивает значения типа CHAR с использованием семантику сравнения с дополнением пробелами. Если два значения имеют различную длину, то Oracle дополняет пробелами более короткое значение пробелами до размера более длинного значения, и затем сравнивает их посимвольно до первого отличающегося символа. То значение, которое имеет отличающийся символ большим по величине, рассматривается как большим значением. Если два значения отличаются только количеством пробелов в конце, то они рассматриваются равными.
Oracle сравнивает значения типа VARCHAR2 используя семантику сравнения без дополнения пробелами. Два значения рассматриваются равными, если они равны по длине и содержат одинаковые символы. Oracle сравнивает значения посимвольно до первого отличающегося символа. То значение, которое имеет отличающийся символ большим по величине, рассматривается как большим значением.