On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Приложение В: Соответствие Типов Данных

Таблицы, содержащиеся в этом приложении, показывают, каким образом ERwin преобразовывает типы данных из одной СУБД в другую.

Колонки соответствуют СУБД, которые подерживает ERwin; системы SQL и ориентированные на РС сгруппированы отдельно друг от друга и организованы по алфавиту внутри каждой группы.

Строки соответствуют типам данных, которые подедржиает каждая СУБД. Разновидности одного типа данных с разными номерами (напр., 'Text #1', 'Text #2' и т.д.) обозначают незначительные вариации для разных систем. В тех случаях, когда имеется несколько типов данных с похожими именами, звездочка (*) служит для обозначения того типа, который ERwin использует по умолчанию при преобразовании типа данных.

Если после имени типа данных стоят скобки, это означает, что требуется задать параметры масштаба, размера, точности и т.д. Там, где типу данных, в который производится преобразование, требуются параметры, а исходному типу данных они не требуются, ERwin присваивает параметру значение, равное по умолчанию 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 (продолжение)

Логический тип данных

SQL Server

SQLBase

Sybase

Watcom

Large Raw Data (Oracle 'LONG RAW')

LVAR()

LONG RAW*

CHARACTER()

LIST OF BYTE VARYING

Label (Oracle 'MLSLABEL')

ZSTRING()

MLSLABEL*

CHARACTER()

VARCHAR()

Raw Label (Oracle 'RAW MLSLABEL')

LVAR()

RAW MLSLABEL*

CHARACTER()

LIST OF BYTE VARYING

Large Object (Access 'OLE Object')

LVAR()

LONG RAW

CHARACTER()

LIST OF BYTE VARYING

Long integer #1

int

INTEGER*

int

INTEGER*

Long integer #2

int*

INTEGER

int*

INT*

Long integer #3

int

INTEGER

int

INTEGER

Boolean

bit

SMALLINT

bit

BINARY(1)

Bit

bit*

SMALLINT

bit*

BINARY(1)

Byte

tinyint*

SMALLINT

tinyint*

SMALLINT

Short integer #1

smallint*

SMALLINT*

smallint*

SMALLINT*

Short integer #2

smallint

SMALLINT

smallint

SMALLINT

Quad Word (RDB 'QUADWORD')

float

NUMBER()

float

FLOAT

Big Integer (RDB 'BIGINT')

float

NUMBER()*

float

FLOAT

Decimal

float

DECIMAL()*

decimal()*

DECIMAL()*

Number #1

float

DECIMAL()

decimal()

DECIMAL()

Number #2

float

DECIMAL()

numeric()*

NUMERIC()*

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