《XML与资料库》PPT课件.ppt

上传人:小飞机 文档编号:5454537 上传时间:2023-07-08 格式:PPT 页数:37 大小:286.50KB
返回 下载 相关 举报
《XML与资料库》PPT课件.ppt_第1页
第1页 / 共37页
《XML与资料库》PPT课件.ppt_第2页
第2页 / 共37页
《XML与资料库》PPT课件.ppt_第3页
第3页 / 共37页
《XML与资料库》PPT课件.ppt_第4页
第4页 / 共37页
《XML与资料库》PPT课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《《XML与资料库》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《XML与资料库》PPT课件.ppt(37页珍藏版)》请在三一办公上搜索。

1、Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-1,第十四章 XML與資料庫,目的XML的語法DTDSchemaXML文件處理資料庫管理系統對XML的支援XML轉入XML轉出,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-2,目的,XML的前身是HTML都是標籤語言HTML的標籤大體上是為了呈現(Presentation)的目的,而不是用來標示內容黃三益教的資料庫 黃三益教的資料庫Compaq N610C laptop Spec:Pentium

2、4-M 1.8 G CPU,256 DDR,30G HDD,8X DVDPrice:NT$70,000 Compaq N610C laptop Spec:Pentium 4-M 1.8 G CPU,256 DDR,30G HDD,8X DVD Price:NT$70,000,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-3,目的(Cont.),XML的目的是標示內容,可以加入自訂的適當標籤 Compaq N610C laptop Pentium 4-M 1.8 G 256 DDR 30G 8X NT$70,000這些標

3、籤無法事先定義,而必須隨著應用範圍的不同做不同的制訂XML(可擴充的標示語言)就是為滿足這樣的需求而誕生已經變成B-C(Business to Customer)和B-B(Business to Business)電子商務的標準,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-4,XML的語法,元素和屬性 XML文件的資料組織方式是階層式的每一個資料敘述稱為一個元素(Element)一個元素包含一個包含啟始(start)標籤、內容和一個結束(end)標籤(參考範例XML),Copyright 黃三益 2003 資料庫核心

4、理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-5,XML的語法(Cont.),一個元素可以有一些附屬屬性和屬性值,這些屬性和屬性值是設定在啟始標籤裡 Compaq N610C laptop Pentium 4-M 1.8 G 256 DDR 30G 8X NT$70,000,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-6,XML的語法(Cont.),保留字元五個保留字:範例:”Ai 5&Ai+1 Ai> 5& Ai+1< 10,Copyright 黃三益 2003 資料庫核心

5、理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-7,XML的語法(Cont.),也可用將其圈起來 getSalary()30000,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-8,練習13-1,試著解釋以下XML片段的意義 423.21 8744 如何當個稱職的職場新鮮人張大頭李大炮400Ans:圖書館有一本書,書名是”如何當個稱職的職場新鮮人”,索書號423.21 8744,作者是張大頭和李大炮,由想像出版社於民國93年在台北發行,定價為400。,Copyright 黃三益 2003 資料

6、庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-9,命名空間,不同領域的名稱相同的標籤卻可能有不同的意義,XML因此有命名空間(namespace)的概念考慮下例的XML文件裡兩個命名空間:college和kindergarten 張三,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-10,DTD,最早被使用的XML文件結構定義方式 主要是描述元素的內容和屬性 XML文件的相對應DTD可以宣告在該XML文件裡,稱為內嵌式的DTDThis is a test!,Copyright 黃三益 2

7、003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-11,DTD(Cont.),也可將DTD的宣告置於另一個檔案,然後在XML文件裡匯入該DTD檔案。這種方式稱為外部宣告 XML文件This is a test!DTD檔案(存成test.dtd),Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-12,DTD(Cont.),一個XML元素的內容可以包含數個子元素,而這些子元素間的關係可有以下數種:順序 多選一 0-1次 0-多次 1-多次,Copyright 黃三益 2003 資料庫

8、核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-13,DTD(Cont.),元素內容的設定方式內容值為空:用EMPTY表示oven元素沒有內容(但可以有屬性值)內容值為字串:用以下方式設定:內容值可能為字串或子元素 內容值不做任何規定:用ANY,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-14,DTD(Cont.),DTD的屬性設定DTD裡定義了以下的型態 字串:用CDATA 表示ID:用ID 表示。ID型態的資料不可以包含空白,斷行,Tab等區隔符號IDREF:用IDREF 表示。ID

9、REF型態的資料值必須出現在ID裡選列(enumerated):設定資料的數個可能值,用”|”分隔,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-15,理工圖書館 理工大道一號 文法商圖書館 文管大道一號 如何當個稱職的職場新鮮人 如何管理資料庫 JAVA十天速成手冊,滿足XML語法的XML文件稱為合格(Well Formed)滿足其對應DTD定義的XML文件稱為有效(Valid),Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-16,練習14-

10、2,請寫出練習14-1的DTD Ans:,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-17,練習14-3,以下XML文件不是一個有效的文件,為什麼?理工圖書館 理工大道一號,文法商圖書館 文管大道一號 總圖書館 如何當個稱職的職場新鮮人 如何管理資料庫 JAVA十天速成手冊,沒有 address元素,沒有定義branchID屬性,b3沒有定義,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-18,W3C Schema,W3C所提出解決DTD的兩

11、大缺點:有限的資料值型態非XML語法XML Schema就是為解決以上問題而由W3C所提出的XML資料定義方式,一般認為XML Schema會逐步取代DTD成為XML資料定義的新標準。一個Schema檔的開頭是啟始標籤,結束時是結束標籤,並在其中宣告一些元素 在Schema啟始標籤裡可以描述該Schema定義的命名空間 元素的宣告可以利用,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-19,W3C Schema,常用的簡單型態包括boolean:0(false)或 1(true)byte:一個字元string:字串da

12、te:日期型態time:時間型態integer:整數positiveInteger:正整數id:識別一個元素或屬性idref:一個對id的參考,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-20,W3C Schema(Cont.),XML Schema也允許你自行建立複合型態 複合型態的宣告語法是在啟始標籤和結束標籤中間列出其所包含的元素和屬性 常見的元素的組成方式有以下三種:all:表示元素的出現次序不限,但每個元素不可出現超過一次sequence:表示元素要按次序出現choice:表示可選擇性的出現一些元素,Cop

13、yright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-21,W3C Schema(Cont.),元素也可以用啟始標籤和結束標籤,並在中間設定其(複合)型態的方式來宣告 屬性是用標籤來宣告,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-22,W3C Schema(Cont.),預設命名空間,本Schema的命名空間,本Schema的目標命名空間,Library包括數個branch和數個book,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2

14、007黃三益2007資料庫的核心理論與實務第三版,14-23,W3C Schema(Cont.),定義branch元素,定義bookType型態,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-24,有效的XML文件,理工圖書館 理工大道一號 文法商圖書館 文管大道一號 總圖書館 大學路一號 如何當個稱職的職場新鮮人 如何管理資料庫 JAVA十天速成手冊,預設命名空間,Schema位置,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-25,W3C

15、Schema(Cont.),在許多應用裡,為了簡化起見,轉成的XML檔裡只有元素而沒有屬性。考慮以下的另一個W3C Schema檔案(檔案名稱為library-schema2.xsd),Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-26,W3C Schema(Cont.),Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-27,Valid XML using W3C-Schema,b1 理工圖書館 理工大道一號 b2 文法商圖書館 文管大道一號 如

16、何當個稱職的職場新鮮人 b2 400 如何管理資料庫 b2 500 JAVA十天速成手冊 b1,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-28,練習14-4,請寫出練習14-1的schema Ans:,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-29,練習14-4(Cont.),Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-30,XML文件的處理,多種模式,各提供

17、適當的API來存取XML檔案資料DOM(Document Object Model)一個XML檔案由剖析器(Parser)讀入後,在電腦記憶體裡形成一個樹狀結構 SAX(Simple API for XML)SAX並不試圖將整個XML檔案載入,而只提供一些API來抓取XML裡的部分資料 XPath提供了一種簡單的查詢方式 XQuery類似XPath,不過語法較為複雜,可以做較複雜的條件搜尋 XSL(Extensible Stylesheet Language)設定XML文件的格式(Style),以便轉成另一個XML檔案、HML檔案、或其他格式的檔案,Copyright 黃三益 2003 資料庫

18、核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-31,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-32,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-33,XQuery,XQuery是建置在XPath之上以提供更強大的搜尋功能範例 FOR$r IN doc(library.xml)/branchbranchIDLET$b:=doc(library.xml)/bookinBranch=$rWHERE count($

19、b)100000RETURN$r,count($b),Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-34,資料庫管理系統對XML的支援,XML的專屬DBMS 仍很少見絕大多數DBMS所提供的功能僅限於XML文件的轉入和轉出 以Oracle為例,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-35,XML轉入DBMS的資料表,最簡單的方式是將一個XML文件內容當成一個欄位值 產生一個資料表來儲存所有XML文件CREATE TABLE xml_doc

20、(docname VARCHAR2(100)PRIMARY KEY,doc CLOB,insertdate DATE DEFAULT SYSDATE);利用輔助程式(insertXML,是一支PL/SQL程式)將XML文件新增成該資料表的一筆記錄 利用輔助程式來檢查該XML文件,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-36,XML轉入DBMS的資料表(Cont.),第二種方式是將一個XML文件建成一個資料表,並將裡頭的標籤視為欄位 產生一個資料表來儲存一個XML文件。CREATE TABLE empleados(

21、empid NUMBER PRIMARY KEY,empname VARCHAR2(30),empjob VARCHAR2(30),empsal NUMBER);利用輔助程式(insertXML,是一支PL/SQL程式)將XML文件匯入該資料表,Copyright 黃三益 2003 資料庫核心理論與實務黃三益2007黃三益2007資料庫的核心理論與實務第三版,14-37,DBMS的資料表轉出XML文件,先準備成一個巢狀結構的資料表以便匯出create or replace type nested_type as object(c1 number(5),c2 varchar2(30);create or replace type nested_type_table as table of nested_type;create table nested_sample(field1 number(5),field2 nested_type_table)nested table field2 store as nested_table;呼叫輔助程式(XmlReadFromDb,是一支java程式)來讀取該資料表並輸出成一XML檔,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号