Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по бд.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.79 Mб
Скачать

Значения null

Как вы уже знаете, значение NULL означает пропущенное значение или поле в строке данных, которому не было присвоено значения. Значение NULL используется в SQL почти повсюду – при создании таблиц, условий поиска в запросах и даже в буквальных строках.

Для значения NULL можно использовать следующие две формы ссылки на него:

  • NULL (ключевое слово NULL);

  • ' ' (два знака одиночной кавычки и ничего между ними).

Следующая строка не представляет значения NULL, а представляет строку, содержащую символы N‑U‑L‑L:

'NULL'.

Значения типа boolean

Значения типа BOOLEAN (логические значения) могут принимать значения TRUE (истина), FALSE (ложь) или NULL. Значения типа BOOLEAN используются для сравнения данных. Например, если в запросе заданы несколько критериев, каждое из заданных условий оценивается и им присваиваются значения TRUE, FALSE или NULL. Соответствующие данные включаются в ответ на запрос только тогда, когда для всех условий возвращается логическое значение TRUE. Если же среди возвращенных значений будут либо FALSE, либо NULL, данные в ответ на запрос могут не включаться.

Рассмотрим следующий пример:

WHERE NAME = 'SMITH'

Такая строка вполне может быть одним из условий в запросе. Тогда условие оценивается для каждой строки данных той таблицы, которой адресован запрос, и если оказывается, что значением NAME является SMITH, условие получает значение TRUE, и запрос возвращает ассоциированные с соответствующей записью данные.

Пользовательские типы данных

Пользовательский тип данныхэто тип данных, определяемый пользователем. Пользовательские типы данных дают возможность строить свои типы данных на основе уже имеющихся. Для создания такого типа данных используется оператор CREATE TYPE. Например,

CREATE TYPE PERSON AS OBJECT

(NAME VARCHAR2(30), SSN VARCHAR2(9));

Ссылаться на определенный таким образом пользовательский тип данных можно так:

CREATE TABLE EMP_PAY (EMPLOYEE PERSON, SALARY NUMBER(10, 2), HIRE_DATE DATE)

Обратите внимание на то, что для первого столбца с именем EMPLOYEE задан тип данных PERSON, являющийся пользовательским типом данных, созданным в первом примере.

Некоторые из приведенных в тексте этого урока типов данных в разных реализациях SQL могут иметь различные имена. Несмотря на различия в именах, лежащий в основе создания типов данных подход всегда одинаков. Большинство из указанных типов данных, если не все они, поддерживаются большинством реляционных баз данных.

Типы данных InterBase

InterBase поддерживает несколько типов данных SQL. В дополнение к стандартным типам данных SQL, InterBase также поддерживает такой тип данных, как большие бинарные объекты (BLOB), и массивы типов данных (в том числе для BLOB). Ниже перечислены типы данных доступные в SQL инструкциях InterBase:

  • BLOB

  • CHAR

  • DATE

  • DECIMAL

  • DOUBLE PRECISION

  • FLOAT

  • INTEGER

  • NUMERIC

  • SMALLINT

  • VARCHAR

BLOB

Синтаксис: BLOB

Размер: Переменный

Диапазон/Точность: Нет

Описание: Большой двоичный объект. Сохраняет данные большого объема, такие как графика, текст и цифровой звук. Основная структура модуля: сегмент. Cубтип данных BLOB описывается в их контексте.

CHAR

Синтаксис: CHAR(n)

Размер: n символов

Диапазон/Точность: от 1 до 32767 байтов. Размер символа кодировки определяет максимальное число символов, которые разместятся в 32K.

Описание: Фиксированной длины CHAR или строка текста. Альтернативное ключевое слово: CHARACTER

DATE

Синтаксис: DATA

Размер: 64 бита

Диапазон/Точность: от 1 янв 100 до 11 янв 5941

Описание: Так же включает информацию о времени для версий до 6.

TIME

Синтаксис: TIME

Размер: 64 бита

Диапазон/Точность: от 0 до 23.59.9999

Описание: Время (только для версий от 6).

TIMESTAMP

Синтаксис: TIMESTAMP

Размер: 64 бита

Диапазон/Точность: от 1 янв 100 до 11 янв 5941

Описание: Так же включает информацию о времени для версий от 6.

DECIMAL

Синтаксис: DECIMAL (precision, scale)

Размер: Переменный

Диапазон/Точность: precision = от 1 до 15. Определяет, что сохраняется, по крайней мере precision цифр числа. scale = от 1 до 15. Определяет число знаков после запятой. Должно быть меньше или равно precision.

Описание: Для примера, DECIMAL(10,3) сохраняет числа точно в следующем формате: ppppppp.sss

DOUBLE PRECISION

Синтаксис: DOUBLE PRECISION

Размер: 64 бита

Диапазон/Точность: от 1.7E-308 до 1.7E308

Описание: Для научных вычислений: 15 цифр точности.

Обратите внимание: Текущий размер типа DOUBLE зависит от платформы. Большинство платформ поддерживает размер в 64 бита.

FLOAT

Синтаксис: FLOAT

Размер: 32 бита

Диапазон/Точность: от 3.4E-38 до 3.4E38

Описание: Одиночная точность: 7 цифр точности.

INTEGER

Синтаксис: INTEGER

Размер: 32 бита

Диапазон/Точность: от -2 147 483 648 до 2 147 483 648

Описание: Длинное целое со знаком (long, longword).

NUMERIC

Синтаксис: NUMERIC (precision, scale)

Диапазон/Точность: precision = от 1 до 15. Определяет, что сохраняется, по крайней мере precision цифр числа. scale = от 1 до 15. Определяет число знаков после запятой. Должно быть меньше или равно precision.

Описание: Для примера, NUMERIC(10, 3) сохраняет числа точно в следующем формате: ppppppp.sss

SMALLINT

Синтаксис: SMALLINT

Размер: 16 бит

Диапазон/Точность: от -32768 до 32767

Описание: Короткое целое со знаком. (shot, word).

VARCHAR

Синтаксис: VARCHAR (n)

Размер: n символов

Диапазон/Точность: от 1 до 32767 байтов. Размер символа кодировки определяет максимальное число символов, которые разместятся в 32K.

Описание: переменной длины CHAR или строка текста. Альтернативные ключевые слова: VARYING CHAR, VARYING CHARACTER.