《动态Web数据库技术基于JSP和XML技术实现xml与数据库》由会员分享,可在线阅读,更多相关《动态Web数据库技术基于JSP和XML技术实现xml与数据库(65页珍藏版)》请在金锄头文库上搜索。
1、朽旺吻剂形惟词吧劈井牟钎呛诊兹蒋膜乡铅癣汗薛遣雏芍循令勤斥拘绿灸动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库王红第9章 XML与数据库 烈侯沾蝴言职者抨柳娩糙卓钥该份铲涨教豁番弗摘豆嗡视然辅杨砒在罪铣动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库主要内容第9章 XML与数据库9.1 借助XML文档实现数据库之间数据互换 9.2 文档结构与数据库结构的映射 9.3 SQL Server对XML的支持 9.4 XML数据库 9.5 小 结 第迁矢烟盗
2、痈疽燎洱盖瘸锑虏属汤脐邮轧娶寄堂专湛怪胡酵胡晰遇韧躯戊动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/20242当存在大量数据需要处理分析的话,最好是把这些数据放到数据库中几乎所有大型应用系统都是和数据库相关联的,所以如果XML需要在这些领域大展宏图的话,必须要和数据库相联系 谩寡绩密兔蘑梭掇歧誊彪宛且月宰道烘劝胺底秉棚祈缔胃备懂垛号针懂贪动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202439.1 9.1 借助借助XMLXML
3、文档实现数据库文档实现数据库之间数据互换之间数据互换 XML提供了一种连接关系数据库和面向对象数据库以及其他数据库管理系统之间的纽带 关系数据库和面向对象数据库首先需要将数据从数据库中提取出来,经过转换或直接以XML数据形式发布到网上(局域网或Internet网),然后相互交换数据,经应用层系统处理后在转存入库 开发一个访问数据库的XML应用系统需要同时借助XML编程接口和数据库编程接口,前者用于对XML文档的解析、定位和查询,后者则是用于访问数据库 贡往骸衫犬千乎昏竟寝朋冬趋盂涣刘好桥泊胯蠕桑农撩床吏纽擅佰玖础焙动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术
4、基于JSP和XML技术实现xml与数据库7/20/20244XML和数据库 XML 文档是一个数据集合优点自我描述性可移植性以树结构描述数据提供部分数据库的功能缺点数据存取慢缺少数据库的功能溪诀人携暑朔篙铜诈社皑霹竖粹鲤翔炔活掷蛛侗猩阂畏段畔舰秀迫惯姜皖动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/20245XML和数据库 nXML 文档在数据量较小和用户较少的环境中可以当作数据库使用n本地 XML 数据库n专门设计用于存储 XML 文档的数据库冰伞诀顿碉穷华水蛤坯技霖孔涸臣隶傈烤渔臃鉴疚咙镣酮挛祁逆磨乳售酿动
5、态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202469.1.1 9.1.1 将将XMLXML数据插入数据库数据插入数据库 n将 XML 数据插入数据库的步骤:n使用 Class.forName() 方法加载缺省驱动器n使用 DriverManager 对象的 getConnection() 方法建立数据库连接n使用 Connection 对象创建 Statement 对象n将已解析的 XML 文档放在 Document 对象中n使用 getElementsByTagName() 方法检索其元素n使用 Inse
6、rt 语句将数据插入数据库坑谰堂禾缀饶争度店旋邀觅螺酗传轻佬臭片蚊选幕府姓映婶杏叭察咬迫津动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/20247将XML中的数据插入数据库DocumentBuilderFactory DocumentBuilder DocumentNodeListElementNode眺稚鸦遥笔碉鲁拷迅征冕殷绵需横猩受平纺腾矩颐辣煮琳菇们浚报毡漏瘟动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/20248实例下面
7、例xml2db.java,将candidate.xml文档中的数据存储到一个ACCESS数据库people中表的结构如图9-1所示 摄讹扫刺爬启研戮贴姐滦止河含劣豆研豌艾沽灵萎严酚融卵桅迎亡签瑶啊动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/20249实例import java.sql.*;import javax.xml.parsers.*;import org.w3c.dom.*;public class xml2db static Connection con; static String nm, add
8、, tel, fax, email, sql;public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver ); con = DriverManager.getConnection(jdbc:odbc:people, , ); Statement stmt = con.createStatement();题恤减税绎表巩窍乱墨沼敬投渴谣授嗣捡徽泊霉颁邦打瘪易螟奖劫订母碱动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/
9、20/202410实例(续) DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc=builder.parse(candidate.xml); NodeList nl =doc.getElementsByTagName(PERSON); for (int i=0;inl.getLength();i+) Element node=(Element) nl.item(i); St
10、ring nm = node.getElementsByTagName(“NAME).item(0). getFirstChild().getNodeValue(); sql = insert into people values(+nm+, +add+, +tel+,+fax+, +email+); int ret = stmt.executeUpdate(sql); stmt.close(); con.close(); catch(Exception e)e.printStackTrace(); 运行结果如图运行结果如图9-2所示所示 肪部伍钾她亨晚黎俱娘耻瞄荣肢暖乃舞忠硫晤简嘘系岿庙同卤
11、栽屑瘫谐灿动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202411图9-2 xml2db.java运行结果 飞刁彦个陆冗能扶囱傀锭寸杯尼利朔殖咆烁笨墅床监摄栏住呀色寂意秆男动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024129.1.2 9.1.2 由数据库中数据生成由数据库中数据生成XMLXML文档文档 n从数据库检索数据生成XML的步骤:n将文件头和根元素写入文件n使用 Class.forName() 方法加载缺省驱动
12、程序n使用 DriverManager 对象的 getConnection() 方法建立数据库连接n使用 Connection 对象创建 Statement 对象n使用 Statement 对象的 executeQuery 方法执行查询n从数据库提取数据并将其插入文件中n将结束元素写入文件蚂渣氧轿蔗诺袖制涪慑榔自讶汰敦矮泻浸蝗池酶逢摄酞骄朱瓶处蚜等烦搅动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202413用数据库中的数据生成XML文档DocumentBuilderFactory DocumentBuilde
13、r DocumentNode饲涝奎搓预贡赋债粟酗瘸莆逗耳秽阑燥捶槐塘覆右躇衍例椭啃臀银楷携酶动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202414实例下面举例Sdudents.java,将一个ACCESS数据库students中数据存储到students.xml文档中表的内容如图9-3所示 饶汤促柜猫酱著亮秒化邹哭湃杭靠喘沦区志褥碍拈质杜窒干沽坯抓厢靳掳动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202415实例impor
14、t java.sql.*;import java.io.*;import javax.xml.parsers.*;import javax.xml.transform.dom.*;import javax.xml.transform.stream.*;import javax.xml.transform.*;import org.w3c.dom.*;import org.xml.sax.*;File fl=new File(students.xml);fl.createNewFile();FileWriter fw=new FileWriter(fl);Class.forName(sun.jd
15、bc.odbc.JdbcOdbcDriver);Connection con=DriverManager.getConnection(jdbc:odbc:aaa,);Statement st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet rs=st.executeQuery(select * from students);爪凤宣镣氧熄阔云宰丘模毛幌溃穆疫傀萎闽排胡茹消拥腕锡屿忘千趴破治动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库
16、技术基于JSP和XML技术实现xml与数据库7/20/202416实例while(rs.next()fw.write();fw.write();String stud_id=rs.getString(Stud_id);fw.write(stud_id);fw.write();fw.write();String stud_name=rs.getString(Stud_name);fw.write(stud_name);fw.write();fw.write(); 运行结果如图9-4所示 欣辱袱锣棕食噪阁烤提菇破搬凋疹粟埂原铸愉槐拷瞬太厌懦求较蔚我淤童动态Web数据库技术基于JSP和XML技术实现
17、xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202417图9-4 Sdudents.java运行结果 状温窖勘吠叼粉酞呼锦脆荧尺征砒篓柿湘穗笔搐归膏兔结浪日苯捷会扑筛动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202418实例n下面举例下面举例db2xml.java,db2xml.java,用用org.apache.crimson.treeorg.apache.crimson.tree包中的包中的XmlDocumentXmlDocument类的类的 write writ
18、e()()方法将一个方法将一个ACCESSACCESS数据库数据库peoplepeople中数据存储到中数据存储到candidate1.xmlcandidate1.xml文档中的文档中的n表的内容如图表的内容如图9-29-2所示所示 n程序运行结果使程序运行结果使candidate1.xmlcandidate1.xml与前面用到的与前面用到的candidate.xmlcandidate.xml完全相同完全相同 矮松界浴背钦篱祭瘸卉囚献红迫康羊撰肃凰隐卒蔗副祈纬搪纯迎将队肺深动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7
19、/20/202419实例import java.sql.*;import javax.xml.parsers.*;import org.apache.crimson.tree.*;import org.w3c.dom.*;import java.io.*;public class db2xml static String nm, add, tel, fax, email, sql; static String url = jdbc:oracle:oci8:oradb; public static void main(String args) Element people, person, na
20、me, address, tel, fax, email; try Class.forName(oracle.jdbc.driver.OracleDriver); Connection con = DriverManager.getConnection(url, scott, tiger); Statement stmt = con.createStatement(); ResultSet results = stmt.executeQuery(SELECT * FROM people); DocumentBuilderFactory dbf = DocumentBuilderFactory.
21、newInstance(); DocumentBuilder builder=dbf.newDocumentBuilder(); Document doc = builder.newDocument(); people = doc.createElement(PEOPLE); 甥号斥蜒蕴壬迹看烈啪诊忧篡棵献纽梯迎怂陪荡戍蛹讹疟思缺混柴惶嘉涂动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202420实例(续) while (results.next() person = doc.createElement(PER
22、SON); people.appendChild(person); name = doc.createElement(NAME); name.appendChild(doc.createTextNode(results.getString(NAME); person.appendChild(name); doc.appendChild(people); (XmlDocument)doc).write(System.out); catch(Exception e) e.printStackTrace(); 照瓦倒劈钻锋耳彭掠奄臃劣僵差法枯铝翱葡撕输缄滓涩教瓣虱玲闯讥搞硝动态Web数据库技术基于J
23、SP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024219.2 文档结构与数据库结构的映射n把数据存储到数据库中的时候,需要抛弃一个文档把数据存储到数据库中的时候,需要抛弃一个文档的很多信息比如它的名称和的很多信息比如它的名称和DTD DTD n同样,当从数据库中提取数据的时候,产生的同样,当从数据库中提取数据的时候,产生的XMLXML文文档通常不包含档通常不包含CDATACDATA或者是实体使用的说明,而且节或者是实体使用的说明,而且节点下元素的排列位置只和数据库中记录的顺序位置点下元素的排列位置只和数据库中记录的顺序位置一致一致
24、n一个一个XMLXML文档存储到数据库中,再由该数据库生成此文档存储到数据库中,再由该数据库生成此XMLXML文档,这前后两个文档格式几乎不可能完全一样文档,这前后两个文档格式几乎不可能完全一样 句平齿舶郊曙诈鲸圭时耐芜冈桨豢邢船较雀太翟鳖甩范桐皇兴俭嘱吃霍誉动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024229.2 文档结构与数据库结构的映射n为了在数据库和为了在数据库和XMLXML文档之间传递数据,必须在数据库数据文档之间传递数据,必须在数据库数据模型和模型和XMLXML数据模型产生映射数据模型产生映
25、射 n关系数据库数据是结构化数据关系数据库数据是结构化数据nXMLXML文档属于半结构化的数据文档属于半结构化的数据n将结构化数据与非结构化数据进行转换的时候,关键问题是将结构化数据与非结构化数据进行转换的时候,关键问题是建立不同结构层次之间的映射关系,及如何保留他们的语义建立不同结构层次之间的映射关系,及如何保留他们的语义约束信息约束信息, ,即如何将关系数据库表达的结构与约束映射为即如何将关系数据库表达的结构与约束映射为XMLXML。n映射可以有两类:模板驱动和模型驱动。映射可以有两类:模板驱动和模型驱动。 茂填悟漫闭柄柳庄粳啦甭诉鲜拟侗泄剩窖矫麦燃栏撩沥憎繁骡汁楼翱介疡动态Web数据库技
26、术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024239.2.1 基于模板驱动的映射n基于模板的映射方法并不事先定义好基于模板的映射方法并不事先定义好XMLXML文档与其他文档与其他数据之间的映射关系,而是在数据之间的映射关系,而是在XMLXML文档中嵌入带参数文档中嵌入带参数的的SQLSQL命令。命令。n这些命令在转换过程中被系统所识别和执行,执行这些命令在转换过程中被系统所识别和执行,执行的结果被替换到指令所在的位置,从而生成目标的结果被替换到指令所在的位置,从而生成目标XMLXML文档文档. .并用数据传输诸如中间件等
27、实体软件进行处理并用数据传输诸如中间件等实体软件进行处理 烷蝗翘玄试奇丈股拔胃宗消渤奔疆硼抡霓尝撂闯啮档伐胸简白营拙狡姥尚动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024249.2 文档结构与数据库结构的映射n比如,考虑下面的模板比如,考虑下面的模板 : : ?xml version=1.0?xml version=1.0?FlightInfoFlightInfoIntroIntroThe following flights have available seats:The following fligh
28、ts have available seats:/Intro/IntroSelectStmtSelectStmtSELECT Airline,FltNumber,Depart,Arrive SELECT Airline,FltNumber,Depart,Arrive FROM FlightsFROM Flights /SelectStmt/SelectStmtConcludeConcludeWe hope one of these meets your needsWe hope one of these meets your needs /Conclude/Conclude/FlightInf
29、o/FlightInfo 颁慌载峻本峨大旭啊苗堰阳饲淑圣弊泞由针刀咕厌俩转南咳滨事遗绦在烬动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024259.2 文档结构与数据库结构的映射n当用数据传输中间件进行处理的时候,每一个当用数据传输中间件进行处理的时候,每一个SELECTSELECT语句都会被它的结语句都会被它的结果所代替,用果所代替,用XMLXML格式化形式表现为:格式化形式表现为:?xml version=1.0?xml version=1.0?FlightInfoFlightInfoIntroIntr
30、oThe following flights have available seats:The following flights have available seats:/Intro/IntroFlightsFlightsRowRowAirlineAirlineACMEACME/Airline/AirlineFltNumberFltNumber123123/FltNumber/FltNumberDepartDepartDec 12, 1998 13:43Dec 12, 1998 13:43/Depart/DepartArriveArriveDec 13, 1998 01:21Dec 13,
31、 1998 01:21/Arrive/Arrive /Row/Row/Flights/FlightsConcludeConcludeWe hope one of these meets your needsWe hope one of these meets your needs/Conclude/Conclude/FlightInfo/FlightInfo 恢躬啄缘夜囊询仑林贡售妻接圃驰价纂礼洋传前砰慨匿宅沉景嫁柏嗡涯蹈动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024269.2 文档结构与数据库结构的映
32、射n基于模板转换的流程图基于模板转换的流程图 : :蒸拧唾驮颅切碴怀梆塞劈喉溺压催捍奔盐妊捉坑佣旗欠贾窿伟厅慑谬挝陵动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024279.2 文档结构与数据库结构的映射n优点:优点:n基于模板驱动的映射可以是相当灵活的基于模板驱动的映射可以是相当灵活的n允许你把结果集放到允许你把结果集放到XMLXML文档的任何位置文档的任何位置n同时可以对同时可以对SELECTSELECT语句设置参数语句设置参数n并且可以使用并且可以使用forfor循环语句和循环语句和ifif条件语句等
33、。条件语句等。遗麻针切壹恰长轰囤衷购硫邱殷炳契传颈巾谎昨低氢迂描携朋咆遮藩珍麦动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024289.2 文档结构与数据库结构的映射n缺点:缺点:n基于模板驱动的映射是一种浅层映射基于模板驱动的映射是一种浅层映射n以以XMLXML内嵌的内嵌的SQLSQL执行的数据结果集为依据,不涉执行的数据结果集为依据,不涉及数据库赖以存在的关系模式及数据库赖以存在的关系模式n舍弃了关系模式的种种约束条件舍弃了关系模式的种种约束条件n只适合于将关系数据库的数据转换为只适合于将关系数据库的数
34、据转换为XMLXML文档文档脸最柄版钠带栖子速课奎良珊儒国垢塞药最株彬丑籍挎砷钞脾姿吴归郊恼动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024299.2.2 基于模型驱动的映射n就是把数据从数据库传送到就是把数据从数据库传送到XMLXML文档是用一个具体的文档是用一个具体的模型实现的。模型实现的。n这样,用户可以将相应的格式直接映射到模型上,这样,用户可以将相应的格式直接映射到模型上,从而数据库中数据以各种形式展示出来。从而数据库中数据以各种形式展示出来。n在在XMLXML文档中,两种模型是很常见的:表格模
35、型和数文档中,两种模型是很常见的:表格模型和数据专用对象模型。据专用对象模型。 锑渣帅柯忌强迭呼止阑肚慷畦逛瘸枪赂亡哮云刻雪坏曼浇掂疾叹贿厉堰同动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024301. 表格模型n把把XMLXML文档表示为一个单一的表格或者是表格的集合,这样文档表示为一个单一的表格或者是表格的集合,这样数据库中数据都展示为固定模式。数据库中数据都展示为固定模式。n一般地,数据库中数据可以用如下的形式表示:一般地,数据库中数据可以用如下的形式表示: databasedatabasetable
36、tablerowrowcolumn1column1./column1/column1column2column2./column2/column2./row/row./table/table./database/database揖郁孤常峻凿腔章脊烤滨展粕拳毗其蹄过街妄斧骄积廷庭蓉蝗雏沮诫望穆动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024311. 表格模型n这里关键字这里关键字“tabletable”在把数据从数据库传递到在把数据从数据库传递到XMLXML文文档的时候,表示一个单一的结果集。档的时候,表示
37、一个单一的结果集。n但是,当结果集合不只一个的时候,或者当但是,当结果集合不只一个的时候,或者当XMLXML文档文档包括多个复杂嵌套的时候,这种传递方式就不能适包括多个复杂嵌套的时候,这种传递方式就不能适应了。应了。 娥稼昔祁邵卵诱滋芋程药速啄郊沙伶疽掏殃租泛涅铺浅替铀伐帅朵嚷苹飞动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024322. 数据专用的对象模型n把一个把一个XMLXML文档表示为由数据对象构成的树,每一个文档表示为由数据对象构成的树,每一个元素类型和对象相对应。元素类型和对象相对应。n主要在面
38、向对象和层次数据库中使用,通过传统的主要在面向对象和层次数据库中使用,通过传统的关系关系- -对象模型也可以映射到关系数据库中对象模型也可以映射到关系数据库中 。蜂睹研湿月贺氰毖协契箭啪衍吉钝拂敞勿嫉酱酬棚汐闷霜湃袒党凤糯氛栈动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024332. 数据专用的对象模型n基于模型的转换方法由于有了数据模型的支持,可以完成关系基于模型的转换方法由于有了数据模型的支持,可以完成关系数据库数据和数据库数据和XMLXML数据之间的双向转换。数据之间的双向转换。n但是模型的引入也使得
39、但是模型的引入也使得XMLXML文档的结构受到了一些限制,一个文档的结构受到了一些限制,一个XMLXML文档必须符合模型所规定的结构,才能将文档必须符合模型所规定的结构,才能将XMLXML文档转换成其文档转换成其他类型的数据,而从其他类型数据转换得到的他类型的数据,而从其他类型数据转换得到的XMLXML文档也具有某文档也具有某种结构特点。种结构特点。n基于模型的转换方法的关键在于设计一个灵活的映射模型,为基于模型的转换方法的关键在于设计一个灵活的映射模型,为了更好的支持其双向映射的特点,这个映射模型必须是易于了更好的支持其双向映射的特点,这个映射模型必须是易于“读读懂懂”的,易于操纵的,能够很
40、好的表达关系数据库的各种约束。的,易于操纵的,能够很好的表达关系数据库的各种约束。n模型驱动的映射是一种深层映射,是模式和模式之间的映射。模型驱动的映射是一种深层映射,是模式和模式之间的映射。 妨男妆纲厦醒零佩调困崇胳照释谁把压噬叁啃御闪纶瓮检不刁干碘剖腻赞动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024342. 数据专用的对象模型n在在XMLXML和数据库之间进行数据转化的时候,需要考虑两个过程:和数据库之间进行数据转化的时候,需要考虑两个过程:一个是从数据库模式中产生一个是从数据库模式中产生DTDDT
41、D,另外一个是根据,另外一个是根据DTDDTD生成数据生成数据库模式库模式. .n从一个从一个DTDDTD中生成一个关系模式的步骤如下:中生成一个关系模式的步骤如下:n(1 1)对每一个元素,产生一个表和一个主键列。)对每一个元素,产生一个表和一个主键列。n(2 2)对每一个有混合内容的元素,产生一个独立的表格,用)对每一个有混合内容的元素,产生一个独立的表格,用来存储来存储PCDATAPCDATA,并通过父表的主键和父表相联。,并通过父表的主键和父表相联。n(3 3)对元素类型中的每一个单一值的属性,对具有只有)对元素类型中的每一个单一值的属性,对具有只有PCDATAPCDATA内容的子元素
42、(该子元素按顺序出现),产生一个单独内容的子元素(该子元素按顺序出现),产生一个单独的列,如果子元素类型或者值是可以选择的话,该列就应该可的列,如果子元素类型或者值是可以选择的话,该列就应该可以允许为以允许为NULLNULL类型。类型。窘时博疮啮懂打嚼胁遏插奎驳荐聋庄炳庄兆链琐畏苔脊镜煽脾芹遭搭系陶动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024352. 数据专用的对象模型n(4 4)对有多个值的属性和可以出现多次的子元素(该子元素)对有多个值的属性和可以出现多次的子元素(该子元素PCDATAPCDATA
43、)的话,需要创建一个单独的表来存储这些值,并通过)的话,需要创建一个单独的表来存储这些值,并通过父表的主键和父表相联。父表的主键和父表相联。n(5 5)对每一个包含元素或者混合内容的子元素来说,通过父)对每一个包含元素或者混合内容的子元素来说,通过父表的主键把父元素和子元素联接起来。表的主键把父元素和子元素联接起来。 n从一个关系数据库模式构建从一个关系数据库模式构建DTDDTD步骤如下:步骤如下:n(1 1)对每一个表,创建一个元素。)对每一个表,创建一个元素。n(2 2)对表中的每一列,创建一个属性或者是一个只有)对表中的每一列,创建一个属性或者是一个只有PCDATAPCDATA内容的子元
44、素。内容的子元素。n(3 3)根据表中的每一主键外键关系,创建该表元素的)根据表中的每一主键外键关系,创建该表元素的子元素。子元素。浴船颖康嘻腐之湖预诺竭取烂垢沦劳反尖詹坎腥瀑腥赎垃澡氏狗廓萄寨桶动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024369.3 SQL Server对XML的支持n在在SQL ServerSQL Server中实现了对中实现了对XMLXML使用使用HTTPHTTP执行简单查询、应执行简单查询、应用用XSLXSL样式单的查询、使用模板查询、使用样式单的查询、使用模板查询、使用XPa
45、thXPath查询。查询。nSQL Server 2000 SQL Server 2000 的的XML XML 功能主要包括如下内容:功能主要包括如下内容:n许用户通过网络查询许用户通过网络查询SQL ServerSQL Server中数据,并以中数据,并以XML XML 格式获得返格式获得返回结果。回结果。n持持XDRXDR(简化的(简化的XML_DATAXML_DATA)架构,并可以使用)架构,并可以使用XPathXPath查询查询XDRXDR架构。架构。n允许查询和写入允许查询和写入XML XML 数据。使用数据。使用SELECT SELECT 语句和语句和FOR XMLFOR XML字
46、句检字句检索索XMLXML数数 据。据。n使用使用XPathXPath查询语言检索查询语言检索XMLXML数据。数据。n增强了增强了Microsoft SQL Server 2000 OLE DBMicrosoft SQL Server 2000 OLE DB提供程序,从而可提供程序,从而可以使用以使用XMLXML文档作为命令文本并以流的形式返回结果集。文档作为命令文本并以流的形式返回结果集。 亨媳餐垮毛镰钙批轮尖寿匙陷型买冬揩庸鸭嚼欧吾虹蔡冕俞创多嵌咳述痕动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024
47、379.3.1 配置IIS服务器支持SQL XMLn在在Windows 2000Windows 2000中,有自带的中,有自带的IIS5.0IIS5.0。n如果是如果是Windows NTWindows NT,则在最新的,则在最新的server packserver pack中包含了新的中包含了新的IISIIS。nIISIIS服务器建立了用户和服务器建立了用户和SQL ServerSQL Server之间的桥梁。用户通过之间的桥梁。用户通过浏览器发出浏览器发出URLURL查询请求,查询请求,IISIIS首先接收到查询结果,然后将首先接收到查询结果,然后将请求通过请求通过OLEDBOLEDB接口
48、传递给接口传递给SQL ServerSQL Server。SQL ServerSQL Server以以XMLXML格格式返回的查询结果再返回到用户的浏览器中。式返回的查询结果再返回到用户的浏览器中。 n在在IISIIS服务器中完成服务器中完成XMLXML格式数据通信需要通过格式数据通信需要通过SQL Server SQL Server 20002000的的XMLXML组件(组件(sqlsapi.dllsqlsapi.dll和和sqlxml.dllsqlxml.dll)来完成。)来完成。 佩骤凶蹭事况础俘烫辛宿镶拽火抿哼势博迈逐泊纯晨蹬藻刑狡敏展湘坏龟动态Web数据库技术基于JSP和XML技术实
49、现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024389.3.1 配置IIS服务器支持SQL XMLn 在使用在使用HTTPHTTP访问访问SQL Server 2000SQL Server 2000数据库之前,必数据库之前,必须根据使用方式创建适当的虚拟目录。须根据使用方式创建适当的虚拟目录。 n必须将必须将IISIIS服务器和虚拟目录的名称指定为服务器和虚拟目录的名称指定为URLURL的一的一部分部分 冲逛知彭凝煌莆绒挣甄搽胶园冻吹起志该橙领庚至储剿尸衅晃探葵须挚碳动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基
50、于JSP和XML技术实现xml与数据库7/20/2024399.3.1 配置IIS服务器支持SQL XMLn根据使用根据使用HTTPHTTP访问访问SQL Server 2000SQL Server 2000数据库的不同方数据库的不同方式,需要创建适当的虚拟目录:式,需要创建适当的虚拟目录: n(1)(1)直接访问数据库对象,例如表。在这种情况直接访问数据库对象,例如表。在这种情况下,需要创建下,需要创建dbobjectdbobject类型的虚拟目录。类型的虚拟目录。n(2)(2)执行模板文件。在这种情况下,需要创建执行模板文件。在这种情况下,需要创建templatetemplate类型的虚拟
51、目录类型的虚拟目录n(3)(3)执行执行XPathXPath查询。在这种情况下,需要创建查询。在这种情况下,需要创建schemaschema类型的虚拟目录类型的虚拟目录 辽姆悍蒲卢屁瑶遏砚毗蜡仆趋赚容因贿葬莫干苹瞻蛰缕绪止香雍窑衫菏灶动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024409.3.1 配置IIS服务器支持SQL XMLn下面举例说明各种查询方式的使用。下面举例说明各种查询方式的使用。n这几种查询方式都是用下面的表:这几种查询方式都是用下面的表: 湛为幕窗过渡哑激橇祖滋庄侄售增塑篆旺柞值其廉变汛
52、月丫瘴伤截祷认豪动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024419.3.2 9.3.2 使用使用HTTPHTTP执行简单查询执行简单查询 使用了简单查询来获得使用了简单查询来获得“书籍书籍”表中的书名:表中的书名:http:/localhost/xmlquery?sql=selectf+书书 名名 +from+书书籍籍+for+xml+auto&root=+书名清单书名清单该该查查询询将将返返回回的的XML文文档档根根元元素素设设置置为为“书书名名清清单单”,并以,并以AUTO方式返回结果。方式返回结
53、果。查询结果如图查询结果如图9-9所示所示 家骡陕避胯富瘪捶刻嗽裁滔募惹嗅权芦蜒寒普即瞻宦劳迈盈箱葫邀仿蛙锈动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202442图9-9 简单查询结果 董续百指援跪劣腐盈睁鲜绘氧司沾嗅慷爱盼买蛰恨闷募庭仑琐糟舀倡赃尖动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024439.3.3 9.3.3 应用应用XSLXSL样式单的查询样式单的查询 可以使用样式单元来定义可以使用样式单元来定义XML
54、XML查询结果在浏览器中的表现形式。查询结果在浏览器中的表现形式。要使用样式单,需要在查询时使用要使用样式单,需要在查询时使用XSLXSL参数指定样式单文件。参数指定样式单文件。下面的查询使用下面的查询使用XSLXSL样式单以表格方式显示查询结果:样式单以表格方式显示查询结果: http:/localhost/xmlquery?sql=select+ +书书名名+from+from+书书籍籍+for+xml+auto&root=+for+xml+auto&root=+图书清单图书清单&xsl=/table.xsl&xsl=/table.xsl其中其中xsl/table.xsl指定了使用的样式单
55、文件指定了使用的样式单文件应用了样式单后的查询结果如图应用了样式单后的查询结果如图9-109-10所示所示 加贸浓绕帅之粉核颗契投资技惶苛蘸秸靳越芜璃盂臻亩熊桃城蜘脾佣席袄动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202444图9-10 应用了样式单后的查询结果 碘宪痪农弱逻铰旁夕设扇辐歉旷猎雍舱梅拄招窜猿战纬每洛姆蹄鸟堡攒失动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024459.3.4 9.3.4 使用模板查询使用模
56、板查询 直直接接在在浏浏览览器器地地址址栏栏中中输输入入过过长长的的SQL查查询询语语句句非非常不便常不便为解决这一问题,为解决这一问题,SQL Server引入了模板的概念。引入了模板的概念。一一个个查查询询模模板板实实际际上上就就是是一一个个包包含含SQL查查询询的的XML或或XPath查查询询的的XML文文档档,然然后后在在URL中中指指定定模模板板文文件的方式来执行查询件的方式来执行查询 安情壹囚喘省凝谆貌廓朝晤译太阴峭逐风厅匠沃扰氢赣益佩刚最灵鸳翘贝动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202
57、4469.3.4 9.3.4 使用模板查询使用模板查询 在查询模板中,可以定义如下内容:在查询模板中,可以定义如下内容:(1 1)指定)指定SQLSQL查询或查询或XPathXPath查询。查询。(2 2)指指定定通通过过执执行行SQLSQL或或XPathXPath查查询询所所返返回回的的XMLXML片片段段的的根根元素,从而使在元素,从而使在URLURL中执行模板的结果是有效的中执行模板的结果是有效的XMLXML文档。文档。(3 3)定义可被传递到)定义可被传递到SQLSQL语句或语句或XPathXPath查询的参数。查询的参数。(4 4)声明命名空间。)声明命名空间。(5 5)指指定定将将
58、应应用用于于所所得得到到文文档档的的可可扩扩展展样样式式语语言言XSLXSL样样式式表。表。(6 6)定义查询模板)定义查询模板 颧赚棚茫鳞掷止盖趾阑系槽暖楼头萄凭凯麓拟惶仲忠踢琅妮共吓懊桥臼怀动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024479.3.4 9.3.4 使用模板查询使用模板查询 使用使用XMLXML文档定义的查询模板具有如下格式:文档定义的查询模板具有如下格式: ROOT xmlns:sql=”urn:schemas-microsoft-com:xml-sql:xsl=XSL FILENA
59、ME . . . . Sql statement(s) Sql statement(s) XPath queryXPath query 允无药臻武准固剩领陕苔荒宁旦森拣烽艘围暇羚友肺涤陶种削买杜刁逐弟动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024489.3.4 9.3.4 使用模板查询使用模板查询 第一步:使用模板执行第一步:使用模板执行SQLSQL简单查询。简单查询。?xml version=xml version=“1.01.0”encoding=encoding=“gb2312gb2312”?图书
60、清单图书清单 xmlns xmlns:sql=sql=“urnurn:schemas-microsoft-comschemas-microsoft-com:xml-sqlxml-sql” sqlsql:queryquery SELECT SELECT 书名,作者,出版社书名,作者,出版社 FROM FROM 书籍书籍 FOR XML AUTO FOR XML AUTO /sql/sql:queryquery/ /图书清单图书清单 慨滴檄郝袄渣惰筏邑咖剁补豁久征举雀搐具巫毁铺靶似俯懊搂螺绸伏析括动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术
61、实现xml与数据库7/20/2024499.3.4 9.3.4 使用模板查询使用模板查询 第二步:在模板执行存储过程。第二步:在模板执行存储过程。在在“书籍书籍”数据库中创建如下的存储过程:数据库中创建如下的存储过程:CREATE PROCEDURE getinfo AS CREATE PROCEDURE getinfo AS Select Select 书名,作者,出版社书名,作者,出版社 from from 书籍书籍 for xml auto for xml auto 准诀僧顺鸯现焚弘迭娥育翟贤障玛心废勉甸桅李胚霍孪绕央椭服缝窗覆苔动态Web数据库技术基于JSP和XML技术实现xml与数据
62、库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024509.3.4 9.3.4 使用模板查询使用模板查询 第三步:在模板中创建参数查询。第三步:在模板中创建参数查询。?xml version=xml version=“1.01.0”encoding=encoding=“gb2312gb2312”? 图书清单图书清单 xmlns xmlns:sql=sql=“urnurn:schemas-microsoft-comschemas-microsoft-com:xml-sqlxml-sql” sqlsql:headerheader sqlsql:param name=pa
63、ram name=姓名姓名郭胜郭胜/sql/sql:paramparam /sql/sql:headerheader sqlsql:queryquery select * select * from from 书籍书籍 where where 作者作者=姓名姓名 for xml auto,elements for xml auto,elements /sql/sql:queryquery / /图书清单图书清单 啄酷丛陕釜璃撂忽八缨眨邵嘉睦守业次梭藐睛蜗戚但配糯舵嫁贷舞拒敖僳动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库
64、7/20/2024519.3.4 9.3.4 使用模板查询使用模板查询 下面的下面的URLURL使用参数的默认值来执行查询:使用参数的默认值来执行查询: http:/localhost/xmlquery/mytemplate/paramquery.xml在浏览器中执行结果如图在浏览器中执行结果如图9-119-11所示所示 旱蛀掀赖愁际窿贸侦兴莲运句存梨彼嚣况底债哮饰洁拈罕潭姆樊谎圈秽辛动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024529.3.5 9.3.5 使用使用XPathXPath查询查询 XPat
65、hXPath查查询询是是使使用用简简化化的的XMLXML数数据据架架构构为为关关系系数数据据创创建的建的XMLXML视图视图 第一步,使用带批注的第一步,使用带批注的XDRXDR创建创建XMLXML视图视图 第第二二步步,使使用用默默认认属属性性映映射射架架构构建建立立与与数数据据的的XPathXPath查询查询 第三步,使用特定属性映射架构的第三步,使用特定属性映射架构的XPathXPath查询查询 第四步,返回第四步,返回CDATACDATA节内容节内容 向尚蓉猜疫市潦粹噶路表照胃溶罪椰淳送阿多戳攫轻笋丽淫缸键冤温灼钧动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数
66、据库技术基于JSP和XML技术实现xml与数据库7/20/2024539.3.4 9.3.4 使用模板查询使用模板查询 第三步:在模板中创建参数查询。第三步:在模板中创建参数查询。?xml version=xml version=“1.01.0”encoding=encoding=“gb2312gb2312”? 图书清单图书清单 xmlns xmlns:sql=sql=“urnurn:schemas-microsoft-comschemas-microsoft-com:xml-sqlxml-sql” sqlsql:headerheader sqlsql:param name=param nam
67、e=姓名姓名郭胜郭胜/sql/sql:paramparam /sql/sql:headerheader sqlsql:queryquery select * select * from from 书籍书籍 where where 作者作者=姓名姓名 for xml auto,elements for xml auto,elements /sql/sql:queryquery / /图书清单图书清单 杏凯洼什缝瘁联支畦恭宾栽颁砒红题智饱颊磋灌纹论彭瘁械方挣蕊担虫漳动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/20
68、24549.4 XML数据库2020世纪世纪6060年代早期称为前关系型数据库系统时期。年代早期称为前关系型数据库系统时期。 19701970年年,E.F.CoddE.F.Codd在在IBMIBM的的San San JoseJose研研究究实实验验室室推推出出了了关关系系数数据模型据模型虽虽然然关关系系型型数数据据库库技技术术已已经经相相当当成成熟熟,但但其其局局限限性性也也显显而而易易见见:它它能能很很好好地地处处理理所所谓谓的的“表表格格型型数数据据”,却却对对各各种种复复杂杂类类型型的数据无能为力。的数据无能为力。2020世世纪纪9090年年代代初初期期开开始始,人人们们研研究究和和开开
69、发发“面面向向对对象象的的数数据据库库系统系统”,数据库发展进入了后关系型数据库系统时期。,数据库发展进入了后关系型数据库系统时期。2020世纪世纪9090年代末期出现了年代末期出现了XMLXML数据库。数据库。数据库管理系统的发展历程如图数据库管理系统的发展历程如图9-159-15所示所示 橙踏缠牺赏崖笛衬峰凶姿泥庐捞哩氏团讥孕尾造其仑瞳午衣粤扣豫器慕浦动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202455图9-15 数据库管理系统发展 挪边蟹茄训疽拍汞潜公抉喝揖践埠然徘哑试哇叮誉杆渐砰闷各裔折舷暂轮动态
70、Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024569.4.1 XML9.4.1 XML和半结构化数据和半结构化数据 现现实实世世界界中中,一一些些数数据据是是完完全全没没有有结结构构的的,如如videovideo、audioaudio、imageimage数据流。数据流。很很多多数数据据既既不不是是完完全全没没有有结结构构,也也不不是是完完全全有有结结构构的的,如如HTMLHTML构构成成的的WebWeb页页、电电子子邮邮件件、LatexLatex文文档档、生生物物数数据据库库( (如如ACeDB)ACeD
71、B)等等。我们把它们称为半结构化数据。等等。我们把它们称为半结构化数据。与与传传统统的的结结构构化化数数据据相相比比,半半结结构构化化数数据据主主要要特特性性是是自自描描述述的的( (即即内内容容与与结结构构都都包包含含在在数数据据中中) ),它它的的结结构构是是不不固固定定、不不规规则、隐含的,并且是易变化的。则、隐含的,并且是易变化的。由由于于WebWeb数数据据、数数据据集集成成、数数据据交交换换都都需需要要利利用用半半结结构构化化数数据据,因因此此要要从从数数据据库库角角度度研研究究半半结结构构化化数数据据的的数数据据模模型型、数数据据模模式式、数据查询、查询优化。数据查询、查询优化。
72、榨挣咬郧例捆院添祝备晃澳嗜胯该朽炼据鬼龟汐馅禄莆您朋窍姨敝顾水伐动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024579.4.1 XML9.4.1 XML和半结构化数据和半结构化数据XMLXML文文档档代代表表了了一一个个重重要要的的并并且且在在不不断断增增长长的的半半结结构构化数据源化数据源它它同同半半结结构构化化数数据据有有许许多多共共同同的的性性质质 ,因因此此半半结结构构化化数数据据己己有有的的理理论论,己己有有的的原原型型系系统统可可以以作作为为XMLXML研研究的基础究的基础 XMLXML与与经
73、经典典的的半半结结构构化化数数据据之之间间也也有有区区别别,使使其其成成为为一种独特的半结构数据类型一种独特的半结构数据类型 舵柔驭瓢细虏饲耘阳购喧躇眶揉顷齿枣铃属扑颗晨边乌曙入曾复舌激刘渠动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024589.4.2 XML9.4.2 XML数据库的崛起数据库的崛起XMLXML本本身身并并不不是是数数据据库库,从从严严格格的的意意义义上上来来说说,XMLXML仅仅仅仅意意味味着着XMLXML文档文档 加加上上一一些些其其他他的的辅辅助助工工具具,我我们们可可以以把把整整
74、个个XMLXML看看成成是是一一个个数数据据库库系系统统,XMLXML文文本本本本身身可可以以看看成成是是数数据据库库中中的的数数据据区区,DTDDTD或或者者SchemasSchemas可可以以看看成成是是数数据据库库模模式式设设计计,XQLXQL可可以以看看成成是是数数据据库库查询语言,查询语言,SAXSAX或或DOMDOM可以看成是数据库处理工具可以看成是数据库处理工具XMLXML数数据据库库就就是是从从数数据据库库的的角角度度来来研研究究以以XMLXML格格式式表表达达的的WebWeb数数据据。它它包包括括XMLXML数数据据的的存存储储、查查询询语语言言、模模式式管管理理、查查询询处
75、处理理等。等。 额蝴直望诫邮议凿础扮都威姆楚且巴歇洞快饰崔芦标掘呜允宇旭澈铃冲快动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024599.4.2 XML9.4.2 XML数据库的崛起数据库的崛起与传统关系数据库相比,与传统关系数据库相比,XMLXML数据库具有以下特点:数据库具有以下特点:(1 1)XMLXML数数据据库库的的数数据据模模型型可可以以是是树树、图图等等层层次次数数据据模模型型,而而传传统统的的关关系系数数据据库库是是以以关关系系数数据据模模型型理论为基础的理论为基础的 (2 2)传传统统数数
76、据据库库语语言言允允许许对对数数据据元元素素的的值值进进行行操操作作,但但不不能能对对元元素素名名称称进进行行操操作作,XMLXML数数据据库库则则提提供了对标签名称的操作,并且包括了对路径的操作供了对标签名称的操作,并且包括了对路径的操作 先设倾季疽裳眼皱佣哈戎驱痪船诀磕恨稼敦亥嘿趁方碧间疡门返艳没浅稚动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024609.4.2 XML9.4.2 XML数据库的崛起数据库的崛起(3 3)XMLXML数数据据库库的的显显示示丰丰富富多多样样,其其多多样样性性由由XSLX
77、SL指指定,而传统关系数据库的显示方式相对简单定,而传统关系数据库的显示方式相对简单 (4 4)传传统统关关系系数数据据库库只只能能采采用用SQLSQL查查询询语语言言,而而XMLXML文文档档查查询询语语言言包包括括XqueryXquery、XpathXpath、XQLXQL、XML-QLXML-QL、QUILTQUILT等等 (5 5)XMLXML数数据据库库的的模模式式主主要要由由DTDDTD、XML XML SchemaSchema确确定定,而传统关系数据库由数据字典决定而传统关系数据库由数据字典决定 倒贡剂萍植獭么宵晦熊秤郁芦涡待篓赊锅柴饵翟泳什蛙已谤烤矩柯坛僻俘动态Web数据库技术
78、基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024619.4.2 XML9.4.2 XML数据库的崛起数据库的崛起但但是是,毕毕竟竟关关系系数数据据库库经经过过了了2020多多年年发发展展,其其技技术术和和市市场场都都非非常常成成熟熟,我我们们无无法法忽忽视视关关系系数数据据库库的的优优势势所在:所在:技术成熟、应用广泛;技术成熟、应用广泛;数数据据管管理理能能力力强强(包包括括存存储储、检检索索、修修改改等等);数据安全程度高;数据安全程度高;事务处理稳定可靠;事务处理稳定可靠;并发访问机制完善等。并发访问机制完善等。洼撅竹
79、陨灭靡芍富慨韶紫丝晦赔蝶卡诀牵絮省亲猎扬枕等猩蕾暗证啪嫉挥动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024629.4.2 XML9.4.2 XML数据库的崛起数据库的崛起XMLXML数据库的主要缺点在于:数据库的主要缺点在于:(1 1) XML XML数据库的检索是基于节点的检索,数据库的检索是基于节点的检索,存放大量甚至海量数据的存放大量甚至海量数据的XMLXML文件会导致检索文件会导致检索速度极低。速度极低。XMLXML的修改也是基于节点的,所以的修改也是基于节点的,所以修改效率也很低。修改效率也很低
80、。 (2 2) XML XML数据库的解析手段有缺陷。在目前的数据库的解析手段有缺陷。在目前的两种解析机制中,两种解析机制中,SAXSAX方式是基于文件的解析,方式是基于文件的解析,速度慢速度慢;DOM;DOM方式是基于内存的方式,资源消耗极方式是基于内存的方式,资源消耗极大。大。 (3 3) XML XML的安全性及并发操作机制是需要重点解决的安全性及并发操作机制是需要重点解决的问题之一。的问题之一。 燎跺撞峦幂啄钞锰替棋迭疏月碴玖伺祸慈硕轩至贞荣淀浓戎试客推熊滇喘动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20
81、/2024639.4.2 XML9.4.2 XML数据库的崛起数据库的崛起XMLXML数数据据库库不不会会代代替替关关系系数数据据库库,这这种种可可能能性性非非常常小小,但它一定能够但它一定能够“占领占领”某些领域。某些领域。XMLXML数数据据库库可可以以解解决决关关系系数数据据库库不不能能解解决决的的问问题题,从从长远来看,长远来看,XMLXML数据库发展潜力不容置疑。数据库发展潜力不容置疑。 遮窗抱贤在响彬毒父够同顽嫩嘶啦泻轨瑶命瓮画圣巫馏瓜荔令款勇扇肯插动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/2024649.5 小 结着着重重讲讲解解了了对对XMLXML数数据据库库的的访访问问技技术术和和异异构构数数据据库库之之间通过转换成间通过转换成XMLXML实现互访实现互访介绍了介绍了SQL SERVERSQL SERVER对对XMLXML数据的支持数据的支持简要介绍了简要介绍了XMLXML数据库数据库闲堑卑懈瞄字箩柱缝摈硒衅愧喘剂察缠构暗穴税苦央境裤关庐竹吮孝贬窄动态Web数据库技术基于JSP和XML技术实现xml与数据库动态Web数据库技术基于JSP和XML技术实现xml与数据库7/20/202465