Конспект лекций по дисциплине «Сетевые базы данных», страница 7

В определениях столбцов таблиц Oracle могут использоваться следующие простые типы данных SQL:

·  NUMBER

·  CHAR

·  VARCHAR2

·  DATE

Перечисленные типы не исчерпывают всех типов данных, предлагаемых Oracle для работы с базами данных. Однако при изучении материала данного курса будут использоваться именно эти типы, что будет вполне достаточно. Для более глубокого знакомства с возможностями Oracle по хранению и обработке данных следует обратиться к рекомендованной литературе.

2.1. Числовые типы

Для хранения чисел в базах данных Oracle используется тип данных NUMBER. Тип данных NUMBER хранит числа в формате с фиксированной и плавающей точками. В таких столбцах могут храниться числа практически любой величины. При этом гарантируется их переносимость между различными операционными системами, на которых работает Oracle. Максимальная точность – до 38 знаков. В столбцах типа NUMBER могут храниться следующие значения:

·  положительные числа в интервале от 1 х 10–130 до 9.99...9 х 10125 (до 38 значащих цифр);

·  отрицательные числа от –1 х 10–130 до –9.99...9 х 10125 (до 38 значащих цифр);

·  ноль

Для столбца NUMBER можно, по желанию, задать точность (общее число знаков) и масштаб (число цифр после десятичной точки):

имя_столбца  NUMBER  (точность, масштаб)

Если точность не задана, данные хранятся так, как они вводятся. Если не задан масштаб, он принимается равным 0. Oracle гарантирует переносимость чисел с точностью до 38 цифр. Можно задавать масштаб и не задавать точность:

имя_столбца  NUMBER  (*, масштаб).

В таблице 1 показаны примеры хранения данных с использованием различных значений масштаба.

Входные данные

Спецификация

Хранение

7,456,123.89

NUMBER

7 456 123.89

7,456,123.89

NUMBER(9)

7 456 123

7,456,123.89

NUMBER(9,2)

7 456 123.89

7,456,123.89

NUMBER(9,1)

7 456 123.9

7,456,123.89

NUMBER(6)

(Неверно, превышена точность)

7,456,123.89

NUMBER(7,-2)

7 456 100

2.2. Символьные типы данных

Oracle два типа данных для хранения символьных строк  – CHAR и VARCHAR2. В столбце такого типа можно хранить любые символы. Символьные данные хранятся как строки, каждое значение байта которых соответствует символу по соответствующей таблице кодировки (обычно называемой символьным набором или кодовой страницей). Примером символьного набора является 7-битовый ASCII код (American Standard Code for Information Interchange). Oracle поддерживает как однобайтовые так и многобайтовые схемы кодирования.

В столбцах типа данных CHAR хранятся символьные строки фиксированной длины. Когда создается таблица со столбцом типа CHAR, для этого столбца задается длина (в байтах, а не в символах) между 1 и 2000 (по умолчанию 1). Oracle для этого типа данных гарантирует: