Соответствие базовых типов языка EXPRESS типам данных в SQL [17] достаточно прозрачно. В таблицу 1 сведены базовые типы EXPRESS и возможные способы их представления в некоторых популярных коммерческих и свободно распространяемых реляционных СУБД.
Таблица 1. Соответствие базовых типов EXPRESS и SQL в реляционных СУБД
ЕXPRESS | MySQL | PostgreSQL | Oracle |
INTEGER | INTEGER | INTEGER | INTEGER |
REAL | REAL, DOUBLE PRECISION | FLOAT8, DOUBLE PRECISION | NUMBER, DOUBLE PRECISION |
REAL(n) | FLOAT(n) | NUMERIC(n) | NUMBER(n) |
NUMBER | REAL, DOUBLE PRECISION | FLOAT8, DOUBLE PRECISION | NUMBER, DOUBLE PRECISION |
BOOLEAN | CHAR(1), TINYINT | CHAR(1), SMALLINT | CHAR(1), INTEGER |
LOGICAL | CHAR(1), TINYINT | CHAR(1), SMALLINT | CHAR(1), INTEGER |
ENUMERATION | VARCHAR(128), INTEGER | VARCHAR(128), INTEGER | VARCHAR2(128), INTEGER |
STRING | TEXT (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) FIXED | CHAR(n) | CHAR(n) | CHAR(n) |
BINARY | BLOB (up to 64K), LONGBLOB (up to 4Gb) | BYTEA | LONG RAW (up to 2Gb) |
BINARY(n) | VARCHAR(n) BINARY | VARBIT(n) | RAW(n) |
BINARY(n) FIXED | CHAR(n) BINARY | BIT(n) | RAW(n) |
ENTITY (reference) | VARCHAR(128), FOREIGN KEY | VARCHAR(128), FOREIGN KEY | VARCHAR2(128), FOREIGN KEY |
Помимо указанных вариантов представления точности числовых значений и ограничений длины строковых и двоичных переменных, важные отличия затрагивают способы представления атрибутов типа BOOLEAN, LOGICAL и ENUMERATION. С точки зрения семантики языка EXPRESS значения этих типов упорядочены, и для них определены операции сравнения. Поэтому, если предполагается реализация запросов с использованием подобных операций, более предпочтительным выглядит представление переменных этих типов как целых чисел. В этом случае функция интерпретации значений в терминах исходной прикладной модели возлагается на промежуточный программный слой, возможно, с использованием словарей метаданных. Значения, представленные в виде символьных строк, интерпретируются непосредственно клиентскими приложениями. Средствами СУБД может контролироваться также и корректность данных, для чего должны быть наложены соответствующие ограничения на область допустимых значений.