[Home] [By Thread] [By Date] [Recent Entries]


Just for discussion, here are two *hypothetical* 
database systems with a listing of corresponding 
datatypes.  (no they are real but let's not get 
into the vendors).   Both of these can issue and 
accept XML.   Without a way to spec datatypes, 
just how good are my chances that the db will 
handle the data not as I see fit, but such that 
regardless of the db, I or anyone that uses the 
XML, will get the same results.

Doesn't this become an issue for anyone who 
tries to spec a common XML document type 
for say, ebXML?  Are elements and attribute 
names sufficient?  Today, we have to write 
a lot of code to handle this.  I don't think 
that is a good solution for interop.

len

***************************************************************************

Fixed Length String	

System 1:  CHAR(n)- limit 2KB	
System 2:  CHAR(n), CHARACTER(n)- limit 255 (6.5)- limit 8KB (7.0)

Variable Length String	

System 1:  VARCHAR2(n), VARCHAR(n)- limit 4KB in a column- limit 32KB in a variable- VARCHAR is obsolete
System 2:  VARCHAR(n), CHAR VARYING(n), CHARACTER VARYING(n)- limit 255 (6.5)- limit 8KB (7.0)

Integer	                

System 1:  INTEGER, INTEGER(n), SMALLINT	
System 2:  INTEGER (4 bytes), INT (4 bytes), SMALLINT (2 bytes), TINYINT (1 byte), BIT (1 bit)

Fixed Point	        

System 1:  NUMBER, NUMBER(n), NUMBER(n,d),FLOAT, FLOAT(n), FLOAT(n,d)	
System 2:  NUMERIC, NUMERIC(n), NUMERIC(n,d),DECIMAL, DECIMAL(n), DECIMAL(n,d),DEC, DEC(n), DEC(n,d),MONEY, SMALLMONEY

Floating Point	        

System 1:  DECIMAL	
System 2:  FLOAT, FLOAT(n), DOUBLE PRECISION, REAL, 

Date	                

System 1:  DATE	
System 2:  DATETIME, SMALLDATETIME, TIMESTAMP- TIMESTAMP auto-updated

Binary	                

System 1:  RAW(n)- limit 255 bytes	
System 2:  BINARY(n), VARBINARY(n), BINARY VARYING(n)- limit 255 (6.5)- limit 8KB (7.0)

Large String	        

System 1:  LONG, LONG VARCHAR- limit 2GB- limit one per table rowCLOB- limit 4GB	
System 2:  TEXT- limit 2GB

Large Binary	        

System 1:  LONG RAW- limit 2GB- limit one per table rowBLOB- limit 4GB	
System 2:  IMAGE- limit 2GB

Multi-byte chars	

System 1:  NCHAR(n)NVARCHAR(n)NCLOB- same limits as CHAR, VARCHAR, CLOB	
System 2:  NCHAR(n), NATIONAL CHAR(n), NATIONAL CHARACTER(n)NVARCHAR(n), NATIONAL CHAR VARYING(n), NATIONAL CHARACTER VARYING(n)NTEXT, NATIONAL TEXT- same limits as CHAR, VARCHAR, TEXT
 
Row Identifier	        

System 1:  implicit ROWID column	
System 2:  (use an IDENTITY column)

Secure OS Label	       

System 1:  MLSLABEL, RAW MLSLABEL	
System 2:  <not supported>

128-bit Unique Number(UUID, GUID) 	

System 1:  <not supported>	
System 2:  UNIQUEIDENTIFIER (version 7.0 only)


From: Jonathan Robie [mailto:jonathan.robie@d...]

I don't know how to design a language that will avoid any possible 
philosophical or aesthetic objections on XML-Dev. I'm an engineer, not a 
deity. But if you give me a concrete problem to solve, I think we have a 
Working Group that might be able to solve it.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member