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

Типы данных

В стандарте ANSI/ISO (SQL1) определены типы данных, которые можно использовать для представления информации в реляционной БД. Эти типы образуют лишь минимальный набор и поддерживаются во всех коммерческих СУБД:

1) строки символов постоянной длины;

2) целые числа;

3) масштабируемые числа. В столбцах этого типа хранятся числа, имеющие дробную часть и которые необходимо вычислять точно, например денежные суммы и проценты;

4) числа с плавающей запятой.

В стандарт SQL2 вошли еще несколько типов данных:

1) строки символов переменной длины;

2) дата и время;

3) поток байтов для хранения графических и видеоизображений, программных кодов и других неструктурированных данных;

4) строки национальных символов.

В большинстве коммерческих СУБД помимо типов данных, определенных в стандартах, имеется множество дополнительных типов данных. Например, в системе Delphi реализован так называемый локальный SQL для работы с таблицами, доступ к которым обеспечивают СУБД Paradox и dBase. В этой реализации, в частности, предусмотрены типы данных, перечисленные в табл. 3.1.

Константы

В стандарте ANSI/ISO (SQL1) определен формат числовых и строковых констант, или литералов, которые представляют конкретные значения данных.

Целые и десятичные константы, называемые точными числовыми литералами, в операторах SQL представляются в виде обычных десятичных чисел со знаком или без знака:

21 –375 2000 0.0 –4.579

Таблица 1

Соответствие типов данных

Тип SQL

Соответствует

Примечания

Paradox

dBase

SMALLINT

INTEGER

DECIMAL(x, y)

NUMERIC(x, y)

FLOAT(x, y)

CHAR(n)

VARCHAR(n)

DATE

BOOLEAN

BLOB(n, m)

TIME

TIMESTAMP

MONEY

AUTOINC

BYTES(n)

Short

Long Integer

BCD

Number

Number

Alpha

Alpha

Date

Logical

Binary

Graphic

Time

Timestamp

Money

Autoincrement

Bytes

Number(6, 0)

Number(11, 0)

-

Number(x, y)

Float(x, y)

Character

Character

Date

Logical

Binary

-

-

Float(20, 4)

-

-

Булевы данные (TRUE/ FALSE)

Двоичные данные большого размера

Дата и время

Денежные величины

Автоинкрементный тип

Двоичные данные

Примечание: x – точность (значащие цифры); y – масштаб (дробная часть); n – длина в байтах (символах); m – подтип BLOB–поля

Константы с плавающей запятой, называемые приблизительными числовыми литералами, задаются с помощью символа Е, означающего умножение на 10 в степени:

1.5Е3  1,5*103 –314е – 2  –3,14 Строковые константы заключаются в апострофы (одинарные кавычки):

‘ИВАНОВ’ ‘Зеленоград, 801-101’

Сам апостроф в составе строковой константы представляется двумя идущими подряд апострофами: ‘ОБ’’ЕКТ’  ОБ’ЕКТ

Календарные даты и время представляются в виде строковых констант. Форматы этих констант в различных СУБД отличаются друг от друга. Кроме того, способы записи времени и даты зависят от страны. В системе Delphi утилита конфигурации BDE позволяет задать необходимый формат этих констант:

‘5/22/1999’ ’10:35:15’