Transcript Document
Visual Basic 程式設計 講師:戴志華 [email protected] 國立台灣大學電機工程研究所 第十六章 資料庫IV與XML 資料庫設計 找出物件 需要Domain Knowledge Author Publisher Title 3 資料庫設計(cont’d) 找出每個物件的屬性 需要Domain Knowledge Author Name Titles Publisher Name Address Tel Titles Title Title Author(s) Publisher ISBN 4 資料庫設計(cont’d) 替每個物件設定primary key TitleISBN AuthorAu_id PublisherPubId Author *Au_id Name Title(s) Publisher *PubId Name Address Tel Title(s) Title Title Author(s) Publisher *ISBN 5 資料庫設計(cont’d) 找尋物件間的關係(relation) Publisher Author ∞ ∞ ∞ 1 Title 6 資料庫設計(cont’d) 1st normal form: 不可以有多值的屬性一個屬性只能有一個 值 Author *Au_id Name -Title(s) Publisher *PubId Name Address Tel -Title(s) Title Title -Author(s) Publisher *ISBN 7 資料庫設計(cont’d) 2nd normal form 非 Primary key 的欄位需與整個 Primary key 有直接相關性 id name id name dep dep_place dep dep_place 8 資料庫設計(cont’d) 3rd normal form 非 Primary key 的欄位間不應有從屬關係 正規化的另類思考 不必要的分割 人工的分割 9 Why XML? XML: eXtensible Markup Language 什麼是Markup Language? HTML-HyperText Markup Language <h1>熱門網站</h1> <a href=“http://www.kimo.com.tw”>奇摩站</a> <a href=“http://www.yam.com”>蕃薯藤</a> <a href=“http://www.sina.com.tw”>新浪網</a> 10 Why XML? (cont’d) HTML的優點: 廣泛使用 簡單易學 HTML的缺點: 是一種排版語言 缺乏對資料的描述能力 11 Why XML? (cont’d) 12 <TR> <td align=center width=6%>……value="2311"> <TD ALIGN=CENTER width=25%> <A HREF="/q/q_2311.html">2311 日月光</a><BR> </TD> <TD ALIGN=CENTER width="6%">14:30</TD> <TD ALIGN=CENTER width="6%"><b>17.10</b></TD> <TD ALIGN=CENTER width="6%">17.10</TD> <TD ALIGN=CENTER width="6%">-</TD> <TD ALIGN=CENTER width="15%">▲1.10</TD> <TD ALIGN=CENTER width="6%">23397</TD> <TD ALIGN=CENTER width="6%">16.00</TD> <TD ALIGN=CENTER width="6%">15.90</TD> <TD ALIGN=CENTER width="6%">17.10</TD> <TD ALIGN=CENTER width="6%">15.90</TD> </TR> 13 What is XML? XML是一個可以用來制定其他標記 (Markup)語言的標記語言 SGML XML WML MathML SOAP 14 What is XML? (cont’d) <?xml version=“1.0” encoding=“Big5” ?> <股票行情> <電子股> <股票> <名稱>日月光</名稱> <股價 單位=“新台幣”>17.1</股價> </股票> <股票> <名稱>聯電</名稱> <股價 單位=“新台幣” >34.5</股價> </股票> </電子股> </股票行情> 15 Well-formed XML Well-formed 符合XML的要求、格式正確的文件 原則: 所有元素都要正確的關閉 <h1>測試 <h1>測試</h1> Web Browser接受 合格的XML文件 <br/> 16 Well-formed XML (cont’d) 標籤之間不可交叉 <股票> <名稱>聯電 <股價 單位=“新台幣” >34.5</股價> </名稱> </股票> 所有屬性必須加上引號 其它 17 Valid XML Valid 符合某種規範(DTD)的合格的XML文件 Why valid? EDI-Electronic Data Interchange 電子資料交換 DTD 用來定義、規範XML文件 18 EDI 矽統 威盛 揚智 台大 ? 台積電 19 EDI (cont’d) 矽統 威盛 揚智 台大 公定格式 台積電 20