WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 2 部分: 在应用程序体系结构中使... 阅读

DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 从第 1 部分中的数据对象可以看出,有两个表,DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持(2),每个表至少有两列,清单 1. 表CREATETABLECUSTOMER_TABLE(CUSTOMERIDCHARACTER(12)NOTNULL,CUSTXML

从第 1 部分中的数据对象可以看出,有两个表,每个表至少有两列。


清单 1. 表
CREATE TABLE CUSTOMER_TABLE ( 
CUSTOMERID CHARACTER (12) NOT NULL, 
CUSTXML XML NOT NULL , 
CONSTRAINT CC1183665042494 PRIMARY KEY ( CUSTOMERID) ) 
 
CREATE TABLE PURCHASE_TABLE ( 
CUSTOMERID CHARACTER (12) NOT NULL , 
ITEMXML XML NOT NULL , 
CONSTRAINT CC1183665244645 FOREIGN KEY 
(CUSTOMERID) REFERENCES CUSTOMER_TABLE (CUSTOMERID) 
ON DELETE CASCADE ON UPDATE NO ACTION 
ENFORCED ENABLE QUERY OPTIMIZATION ) 

显然,通过将应用程序的数据对象存储为 XML,关系模式大大简化了。另外,基础结构仍然是关系型的,这使 XML 数据能够利用关系数据库的实用功能,比如触发器、约束和外键关系。

因为从逻辑上看 XML 列与 VARCHAR、CLOB 或 BLOB 列相似,所以 INSERT 语句也是相似的。

insert into CUSTOMER_TABLE values('hardeep', 
'<Customer customerid="hardeep" firstname="hardeep" lastname="singh"/>') 

在 Java™ 程序中执行插入的代码也是相似的:


清单 2. 在 Java 程序中执行插入
String insertsql= "insert into PURCHASE_TABLE values(?,?)"; 
PreparedStatement iStmt=connection.prepareStatement(insertsql); 
File inputfile= new File(filename); //filename is the path of the XML file 
long filesize=inputfile.length(); 
BufferedReader in = new BufferedReader(new FileReader(inputfile)); 
iStmt.setCharacterStream(1,in,(int)filesize); 
int rc= iStmt.executeUpdate(); 

上一页  1 2 3 4 5 6 7  下一页

Tags:DB XML 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接