Таблицы, содержащиеся в этом приложении, показывают, каким образом
ER
win
преобразовывает типы данных из одной СУБД в другую.
Колонки соответствуют СУБД, которые подерживает ER
win; системы SQL и ориентированные на
РС сгруппированы отдельно друг от друга и организованы по алфавиту внутри каждой
группы.
Строки соответствуют типам данных, которые подедржиает каждая СУБД.
Разновидности одного типа данных с разными номерами (напр., 'Text #1', 'Text #2'
и т.д.) обозначают незначительные вариации для разных систем. В тех случаях,
когда имеется несколько типов данных с похожими именами, звездочка (*) служит
для обозначения того типа, который ER
win использует по умолчанию при
преобразовании типа данных.
Если после имени типа данных стоят скобки, это означает, что требуется задать
параметры масштаба, размера, точности и т.д. Там, где типу данных, в который
производится преобразование, требуются параметры, а исходному типу данных они не
требуются, ER
win присваивает параметру значение, равное по умолчанию 100.
См. также Гл.13, Задание информации, ориентированной на
СУБД.
Соответствие типов данных для СУБД SQL
Логический тип данных
AS/400
DB/2
Informix
Ingres
Long integer #1
INTEGER*
INTEGER*
integer*
integer*
Long integer #2
INTEGER
INTEGER
int*
integer
Long integer #3
INTEGER
INTEGER
int
integer4*
Boolean
SMALLINT
SMALLINT
byte
integer1
Bit
SMALLINT
SMALLINT
byte
integer1
Byte
SMALLINT
SMALLINT
byte*
integer1*
Short integer #1
SMALLINT*
SMALLINT*
smallint*
smallint*
Short integer #2
SMALLINT
SMALLINT
smallint
integer2*
Quad Word (RDB 'QUADWORD')
FLOAT
FLOAT
numeric()
float8
Big Integer (RDB 'BIGINT')
FLOAT
FLOAT
numeric()
float8
Decimal
DECIMAL()*
DECIMAL()*
decimal()*
float
Number #1
DECIMAL()
DECIMAL()
dec()*
float
Number #2
DECIMAL()
DECIMAL()
numeric()*
float
Money
DECIMAL()
DECIMAL()
money()*
money*
Short Money
DECIMAL()
DECIMAL()
money()
money
Small Float (Ingres 'smallfloat')
REAL
REAL
smallfloat*
float4
Real
REAL*
REAL*
real*
float4*
Float #1
FLOAT*
FLOAT*
double precision*
float8*
Float #2
FLOAT
FLOAT
interval*
float8
Long Float (Sybase 'double precision')
DOUBLE PRECISION
FLOAT
double precision*
float8*
Interval
FLOAT
FLOAT
interval()*
float8
Id
INTEGER
INTEGER
serial*
integer
Character #1
CHAR()
CHAR()
char()
c()*
Character #2
CHARACTER()*
CHARACTER()*
character()*
char()
Character #3
CHAR()*
CHAR()*
char()*
char()*
Variable Char. #1
VARCHAR()*
VARCHAR()*
varchar()*
varchar()*
Variable Char. #2
VARCHAR()
VARCHAR()
varchar()
varchar()
Text #1
VARCHAR()
LONG VARCHAR*
text
varchar()
Text #2
VARCHAR()
LONG VARCHAR
text
varchar()
Text #3
VARCHAR()
LONG VARCHAR
text
varchar()
Text #4
VARCHAR()
LONG VARCHAR
text*
text()*
Text #5
VARCHAR()
LONG VARCHAR
text in table*
text()
Date
DATE*
DATE*
date*
date*
Time
TIME*
TIME*
datetime
date
Time Stamp
TIMESTAMP*
TIMESTAMP*
datetime
date
Date/Time
DATE
DATE
datetime*
date
Small Date/Time
TIMESTAMP
DATE
datetime
date
Соответствие типов данных для СУБД SQL
(продолжение)
Логический тип данных
Netware SQL
Oracle
Progress
Rdb
ANSI Date (RDB 'DATE ANSI')
DATE
DATE
date
date
VMS Date (RDB 'DATE VMS')
DATE
DATE
datetime
date
Large Binary (Sybase 'Image')
VARGRAPHIC()
LONG VARGRAPHIC
byte in table
text()
Binary (SQL Server 'binary')
GRAPHIC()*
GRAPHIC()*
byte in table
text()
Large Picture (DB2 'LONG VARGRAPHIC')
VARGRAPHIC()*
LONG VARGRAPHIC*
byte in table
text()
Raw (Oracle 'RAW')
VARGRAPHIC()
VARGRAPHIC()*
byte in table*
text()
Large Raw Data (Oracle 'LONG RAW')
VARGRAPHIC()
LONG VARGRAPHIC
byte in table
text()
Label (Oracle 'MLSLABEL')
VARCHAR()
VARCHAR()
varchar()*
varchar()
Raw Label (Oracle 'RAW MLSLABEL')
GRAPHIC()
GRAPHIC()
byte in table
varchar()
Large Object (Access 'OLE Object')
VARGRAPHIC()
LONG VARGRAPHIC
byte in table
text()
Long integer #1
INT
INTEGER*
INTEGER*
INTEGER*
Long integer #2
INT*
INTEGER
INTEGER
INTEGER
Long integer #3
INT(4)*
INTEGER
INTEGER
INTEGER
Boolean
LOGICAL*
SMALLINT
LOGICAL
TINYINT
Bit
BIT*
SMALLINT
LOGICAL*
TINYINT
Byte
INT(1)*
SMALLINT
SMALLINT
TINYINT*
Short integer #1
INT(2)*
SMALLINT*
SMALLINT*
SMALLINT*
Short integer #2
INT(2)
SMALLINT
SMALLINT
SMALLINT*
Quad Word (RDB 'QUADWORD')
INT(8)
FLOAT
FLOAT
QUADWORD*
Big Integer (RDB 'BIGINT')
INT(8)*
FLOAT
FLOAT
BIGINT*
Decimal
DECIMAL()*
DECIMAL()*
DECIMAL()*
DECIMAL()*
Number #1
DECIMAL()
NUMBER()
NUMERIC()
DECIMAL()
Number #2
NUMERIC()*
NUMBER()*
NUMERIC()*
NUMERIC()*
Money
MONEY()*
NUMBER()
NUMERIC()
DECIMAL()
Short Money
MONEY()
NUMBER()
NUMERIC()
DECIMAL()
Small Float (Ingres 'smallfloat')
FLOAT(4)
REAL
REAL
REAL
Real
FLOAT(4)*
REAL*
REAL*
REAL*
Float #1
FLOAT()*
FLOAT*
FLOAT*
FLOAT*
Float #2
BFLOAT()*
FLOAT
FLOAT
FLOAT
Long Float (Sybase 'double precision')
FLOAT(8)
DOUBLE PRECISION*
NUMERIC()
DOUBLE PRECISION*
Interval
FLOAT(8)*
NUMBER()
NUMERIC()
INTERVAL()*
Id
AUTOINC(4)*,0,*
ROWID*
INTEGER
INTEGER
Character #1
CHARACTER()
CHAR()
CHAR()
CHAR()
Character #2
CHARACTER()*
CHARACTER()*
CHARACTER()*
CHAR()
Character #3
CHARACTER()
CHAR()*
CHAR()*
CHAR()
Variable Char. #1
ZSTRING()*
VARCHAR2()*
CHARACTER()
VARCHAR()*
Variable Char. #2
ZSTRING()
VARCHAR()*
CHARACTER()
VARCHAR()
Text #1
LVAR()*
LONG VARCHAR*
CHARACTER()
LONG VARCHAR*
Text #2
LSTRING()*
LONG VARCHAR
CHARACTER()
LONG VARCHAR
Text #3
LVAR()
LONG*
CHARACTER()
LONG VARCHAR
Text #4
NOTE()*
LONG VARCHAR
CHARACTER()
LONG VARCHAR
Text #5
NOTE()
LONG VARCHAR
CHARACTER()
LONG VARCHAR
Date
DATE()*
DATE*
DATE*
DATE*
Time
TIME()*
DATE
DATE
TIME()*
Time Stamp
DATE()
DATE
DATE
TIMESTAMP()*
Date/Time
DATE()
DATE
DATE
DATE
Small Date/Time
DATE()
DATE
DATE
DATE
ANSI Date (RDB 'DATE ANSI')
DATE()
DATE
DATE
DATE ANSI*
VMS Date (RDB 'DATE VMS')
TIME()
DATE
DATE
DATE VMS*
Large Binary (Sybase 'Image')
LVAR()
LONG RAW
CHARACTER()
LIST OF BYTE VARYING
Binary (SQL Server 'binary')
LVAR()
RAW()
CHARACTER()
LIST OF BYTE VARYING
Large Picture (DB2 'LONG VARGRAPHIC')
LVAR()
LONG RAW
CHARACTER()
LIST OF BYTE VARYING
Raw (Oracle 'RAW')
LVAR()
RAW()*
CHARACTER()
LIST OF BYTE VARYING*
Соответствие типов данных для СУБД SQL (продолжение)