Классика баз данных - статьи


         

Представление простых типов


Соответствие базовых типов языка EXPRESS типам данных в SQL [17] достаточно прозрачно. В таблицу 1 сведены базовые типы EXPRESS и возможные способы их представления в некоторых популярных коммерческих и свободно распространяемых реляционных СУБД.

Таблица 1. Соответствие базовых типов EXPRESS и SQL в реляционных СУБД

ЕXPRESSMySQLPostgreSQL Oracle
INTEGER INTEGERINTEGERINTEGER
REALREAL,

DOUBLE PRECISION

FLOAT8,

DOUBLE PRECISION

NUMBER,

DOUBLE PRECISION

REAL(n)FLOAT(n)NUMERIC(n)NUMBER(n)
NUMBERREAL,

DOUBLE PRECISION

FLOAT8,

DOUBLE PRECISION

NUMBER,

DOUBLE PRECISION

BOOLEANCHAR(1),

TINYINT

CHAR(1),

SMALLINT

CHAR(1),

INTEGER

LOGICALCHAR(1),

TINYINT

CHAR(1),

SMALLINT

CHAR(1),

INTEGER

ENUMERATIONVARCHAR(128),

INTEGER

VARCHAR(128),

INTEGER

VARCHAR2(128),

INTEGER

STRINGTEXT (up to 64K),

LONGTEXT (up to 4Gb)

TEXT (about 1Gb)VARCHAR2(4000),

LONG (up to 2Gb)

STRING(n)VARCHAR(n)VARCHAR(n)VARCHAR2(n)
STRING(n) FIXEDCHAR(n)CHAR(n)CHAR(n)
BINARYBLOB (up to 64K),

LONGBLOB (up to 4Gb)

BYTEALONG RAW (up to 2Gb)
BINARY(n)VARCHAR(n) BINARY VARBIT(n)RAW(n)
BINARY(n) FIXEDCHAR(n) BINARYBIT(n)RAW(n)
ENTITY (reference)VARCHAR(128),

FOREIGN KEY

VARCHAR(128),

FOREIGN KEY

VARCHAR2(128),

FOREIGN KEY


Помимо указанных вариантов представления точности числовых значений и ограничений длины строковых и двоичных переменных, важные отличия затрагивают способы представления атрибутов типа BOOLEAN, LOGICAL и ENUMERATION. С точки зрения семантики языка EXPRESS значения этих типов упорядочены, и для них определены операции сравнения. Поэтому, если предполагается реализация запросов с использованием подобных операций, более предпочтительным выглядит представление переменных этих типов как целых чисел. В этом случае функция интерпретации значений в терминах исходной прикладной модели возлагается на промежуточный программный слой, возможно, с использованием словарей метаданных. Значения, представленные в виде символьных строк, интерпретируются непосредственно клиентскими приложениями. Средствами СУБД может контролироваться также и корректность данных, для чего должны быть наложены соответствующие ограничения на область допустимых значений.



Содержание  Назад  Вперед