Ïðèëîæåíèå Â: Ñîîòâåòñòâèå Òèïîâ Äàííûõ
Òàáëèöû, ñîäåðæàùèåñÿ â ýòîì ïðèëîæåíèè, ïîêàçûâàþò, êàêèì îáðàçîì 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 (ïðîäîëæåíèå)
Ëîãè÷åñêèé òèï äàííûõ | 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()* | |
Money | money* | DECIMAL() | money* | DECIMAL() | |
Short Money | small money* | DECIMAL() | small money* | DECIMAL() | |
Small Float (Ingres “smallfloat”) | real | REAL | real | REAL | |
Real | real* | REAL* | real* | REAL* | |
Float #1 | float* | FLOAT* | float* | FLOAT* | |
Float #2 | float | FLOAT | float | FLOAT | |
Long Float (Sybase “double precision”) | float | DOUBLE PRECISION* | double precision* | DOUBLE* | |
Interval | float | DOUBLE PRECISION | float | DOUBLE | |
Id | int | INTEGER | int | INTEGER | |
Character #1 | char() | CHAR() | char() | CHAR() | |
Character #2 | char() | CHAR() | char() | CHAR() | |
Character #3 | char()* | CHAR()* | char()* | CHAR()* | |
Variable Char. #1 | varchar()* | VARCHAR()* | varchar()* | VARCHAR()* | |
Variable Char. #2 | varchar() | VARCHAR() | varchar() | VARCHAR() | |
Text #1 | text | LONG VARCHAR* | text | LONG VARCHAR* | |
Text #2 | text | LONG VARCHAR | text | LONG VARCHAR | |
Text #3 | text | LONG VARCHAR | text | LONG VARCHAR | |
Text #4 | text* | LONG VARCHAR | text* | LONG VARCHAR | |
Text #5 | text | LONG VARCHAR | text | LONG VARCHAR | |
Date | datetime | DATE* | datetime | DATE* | |
Time | datetime | TIME* | datetime | TIME* | |
Time Stamp | timestamp* | TIMESTAMP* | timestamp* | TIMESTAMP* | |
Date/Time | datetime* | DATETIME* | datetime* | DATE | |
Small Date/Time | smalldatetime* | DATETIME | smalldatetime* | DATE | |
ANSI Date (RDB “DATE ANSI”) | datetime | DATE | datetime | DATE | |
VMS Date (RDB “DATE VMS”) | datetime | DATETIME | datetime | DATE | |
Large Binary (Sybase “Image”) | image* | LONG VARCHAR | image* | LONG BINARY | |
Binary (SQL Server “binary”) | binary()* | VARCHAR() | binary()* | BINARY() | |
Large Picture (DB2 “LONG VARGRAPHIC”) | image | LONG VARCHAR | image | LONG BINARY | |
Raw (Oracle “RAW”) | varbinary()* | VARCHAR() | varbinary()* | BINARY()* | |
Large Raw Data (Oracle “LONG RAW”) | image | LONG VARCHAR | image | LONG BINARY* | |
Label (Oracle “MLSLABEL”) | varchar() | VARCHAR() | varchar() | VARCHAR() | |
Raw Label (Oracle “RAW MLSLABEL”) | binary() | VARCHAR() | binary() | BINARY() | |
Large Object (Access “OLE Object”) | image | LONG VARCHAR | image | LONG BINARY |
Ñîîòâåòñòâèå òèïîâ äàííûõ äëÿ ÑÓÁÄ, îðèåíòèðîâàííûõ íà ÐÑ
Ëîãè÷åñêèé òèï äàííûõ | Access 1.0 | Access 2.0 | dBase/ | FoxPro | Paradox |
Long integer #1 | Long Integer | Long Integer* | Numeric() | Numeric() | Number |
Long integer #2 | Long Integer | Long Integer | Numeric() | Numeric() | Number |
Long integer #3 | Long Integer* | Long Integer | Numeric() | Numeric() | Number |
Boolean | Yes/No | Yes/No | Logical* | Logical* | Binary(1) |
Bit | Yes/No* | Yes/No* | Logical | Logical | Binary(1)* |
Byte | Byte | Byte | Numeric() | Numeric() | Short Number |
Short integer #1 | Integer* | Integer* | Numeric() | Numeric() | Short Number* |
Short integer #2 | Integer* | Integer | Numeric() | Numeric() | Short Number |
Quad Word (RDB “QUADWORD”) | Double | Double | Numeric() | Numeric() | Number |
Big Integer (RDB “BIGINT”) | Double | Double | Numeric() | Numeric() | Number |
Decimal | Double | Double | Numeric() | Numeric() | Number |
Number #1 | Double | Double | Numeric() | Numeric() | Number |
Number #2 | Double | Double | Numeric()* | Numeric()* | Number* |
Money | Currency* | Currency* | Numeric() | Numeric() | Currency* |
Short Money | Currency | Currency | Numeric() | Numeric() | Currency |
Small Float (Ingres “smallfloat”) | Single | Single | Numeric() | Float() | Number |
Real | Single | Single | Numeric() | Float() | Number |
Float #1 | Double* | Double* | Numeric() | Float()* | Number |
Float #2 | Double | Double | Numeric() | Float() | Number |
Long Float (Sybase “double precision”) | Double* | Double* | Numeric() | Numeric() | Number |
Interval | Double | Double | Numeric() | Numeric() | Number |
Id | Long Integer | Counter* | Numeric() | Numeric() | Number |
Character #1 | Text() | Text() | Character() | Character() | Alphanumeric() |
Character #2 | Text() | Text() | Character()* | Character()* | Alphanumeric() |
Character #3 | Text()* | Text()* | Character() | Character() | Alphanumeric()* |
Variable Char. #1 | Text() | Text() | Character() | Character() | Memo() |
Variable Char. #2 | Text() | Text() | Character() | Character() | Memo() |
Text #1 | Memo | Memo | Memo | Memo | Memo() |
Text #2 | Memo | Memo | Character() | Character() | |
Text #3 | Memo | Memo | Memo | Memo | Memo() |
Text #4 | Memo* | Memo* | Memo* | Memo* | Memo()* |
Text #5 | Memo | Memo | Memo | Memo | Formatted Memo* |
Date | Date/Time | Date/Time | Date* | Date* | Date* |
Time | Date/Time | Date/Time | Date | Date | Date |
Time Stamp | Date/Time | Date/Time | Date | Date | Date |
Date/Time | Date/Time* | Date/Time* | Date | Date | Date |
Small Date/Time | Date/Time | Date/Time | Date | Date | Date |
ANSI Date (RDB “DATE ANSI”) | Date/Time | Date/Time | Date | Date | Date |
VMS Date (RDB “DATE VMS”) | Date/Time | Date/Time | Date | Date | Date |
Large Binary (Sybase “Image”) | OLE Object | OLE Object | Memo | Memo | Graphic() |
Binary (SQL Server “binary”) | OLE Object | OLE Object | Memo | Memo | Graphic()* |
Large Picture (DB2 “LONG VARGRAPHIC”) | OLE Object | OLE Object | Memo | Memo | Graphic() |
Raw (Oracle “RAW”) | OLE Object | OLE Object | Memo | Memo | Binary* |
Large Raw Data (Oracle “LONG RAW”) | OLE Object | OLE Object | Memo | Memo | Graphic() |
Label (Oracle “MLSLABEL”) | Memo | Memo | Memo | Memo | Memo() |
Raw Label (Oracle “RAW MLSLABEL”) | OLE Object | OLE Object | Memo | Memo | Short |
Large Object (Access “OLE Object”) | OLE Object* | OLE Object* | Memo | Memo | OLE* |