?? 0902-0100.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0902-0100 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 9.2.1 XML與關系數據庫</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋體"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下為主體內容 -->
<div align="center">
<center>
<TABLE border=0 width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=45 rowSpan=2></TD>
<TD vAlign=center width="834">
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=38 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="834" ><!-- 正文內容 -->
<DIV class=pt10><B>9.2.1 XML與關系數據庫</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>上一節我們講到了XML的數據存取機制,從一個較高的層面上分析了數據存取的多種方式。作為其中的一種,數據庫數據存取機制似乎倍受青睞,但我們并未對此作比較深入的探討,這一節里讓我們對XML與數據庫的關系進行一些詳細的分析。</P>
<P>我們知道,數據庫提供了對于大批量數據的有效存儲管理和快速信息檢索、查詢的功能。從體系結構上看,數據庫技術的發展歷經了網絡型數據庫、層次型數據庫、關系數據庫、面向對象數據庫。雖然面向對象數據庫融入了面向對象技術,但是到目前為止,在各個領域使用最廣的還是關系數據庫。關系數據庫管理系統(RDBMS)采用二維表格作為存儲數據的模型,如下圖所示,表格由行和列組成,一般情況下,列被稱作"字段"用于表示組成數據有效信息的屬性,而行則用于指示一條完整的數據記錄。由于數據間的相關性可以通過表與表之間關鍵字(外鍵)來關聯,由此產生了"關系"類型數據庫的由來。</P>
<P align=center><IMG height=159
alt="TU000000-0902-0100-01.gif (1151 bytes)"
src="image/TU000000-0902-0100-01.gif" width=275></P>
<P align=left>關系數據庫有自己的查詢語言——結構化查詢語言(Structured Query Language,
SQL)。SQL最初由IBM提出,后經不斷發展,已于1986年成為業界標準并被廣泛采用。SQL
是非過程性的。當SQL語句傳送到數據庫服務器后,服務器返回滿足條件的結果或結果集(視具體查詢項目而定)。一般情況下,大多數支持SQL的服務器系統均采用客戶/服務器架構,現在又發展到更為先進的分布式處理架構。這樣一來,SQL服務器既可以接收客戶應用程序發送的查詢請求,也可以接收其他服務器的查詢請求,這些服務器可能是其他SQL服務器,也可以是XML服務器。</P>
<P
align=left>與XML文件不同,數據庫將不再扮演簡單的數據容器。數據庫可以相當靈活,因為可以存儲在數據庫中的不僅僅是單調而枯燥的數據,還有適合于應用需要的規則和模式。針對XML數據,一般有兩種存儲方式:一是將其按結構層次拆分開來分別存于不同字段,二是將XML文檔原封不動地存入數據庫。實際應用中,后者的應用環境將受到一定限制,因為關系數據庫不能很好地處理大容量的結構化的信息和文本數據。當然,也可以將結構化置標文本分解成盡可能小的部分,然后轉換成數據庫中的字段來存貯,但是這樣在數據庫的檢索、索引方面會增加許多額外的工作。至于前一種方式,因為關系型數據庫并不能很好地支持層次、順序、包含等在結構化置標語言中十分本質的關系,所以在開發中也仍有很多問題要解決。<BR></P></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -