版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第10章 資料庫,10-1 資料庫管理系統(tǒng)簡介10-2 關聯(lián)式資料模式和查詢語言10-3 Access 簡介10-4 XML 簡介,10-1 資料庫管理系統(tǒng)簡介,資料庫系統(tǒng)將資料數(shù)位化並輔以電腦處理資料庫系統(tǒng)應用銀行記錄客戶存款與提款金額航空公司管理班機航次和定位資料學校記錄學籍和選課成績等等建立資料庫系統(tǒng)的方法利用程式語言(缺點請見下頁)利用專門的資料庫軟體,利用程式語言的缺失,造成資料的重複與不一致性資料難
2、以存取資料的限制難以修改資料庫軟體提供資料分析和限定的工具來改善以上缺失難以達到資料異動的一致性資料庫軟體利用復原的機制併行存取資料的錯誤資料庫軟體利用鎖定的機制安全控管的困難資料庫軟體設定使用者的權限,資料庫系統(tǒng)架構,資料庫系統(tǒng)架構(續(xù)),查詢處理模組接收資料庫管理者下達的DDL(資料定義語言),將定義放在資料字典。接收使用者下達的DML(資料處理語言)查詢句,利用編譯器解析後,透過執(zhí)行引擎選擇最有效的執(zhí)行方式。
3、儲存處理模組檔案處理模組:管理資料存放的檔案安全控管模組:檢查使用者的權限異動處理模組:確定資料庫內(nèi)容的一致性,資料庫管理者,簡稱DBA具有專門技術且瞭解整個系統(tǒng)的人 職責包含下列幾項:決定哪些資料包含在資料庫內(nèi),且設定資料彼此之間的關聯(lián)設計資料存放在硬碟裡面的架構建立使用者帳號執(zhí)行安全的控管週期性的資料維護,譬如:將資料備份、確定硬碟空間是否足夠、監(jiān)控系統(tǒng)的效能並作適當?shù)恼{整等等,10-2 關聯(lián)式資料模式和查詢語
4、言,資料模式資料表示工具 早期有網(wǎng)路模式和階層模式關聯(lián)式模式 1970年由Codd提出 大多數(shù)商用的資料庫軟體都是建構於此模式之上 資料表示成一個個關聯(lián),關聯(lián),如同一個表格,由「列」和「欄」所構成 欄每一欄各自對應到一個要表示的資料特性,稱作屬性(attribute)。在學生關聯(lián)中(見下頁),定義了系別、年級、學號、姓名、地址、監(jiān)護人、成績排名等屬性 。列代表了這個關聯(lián)集合裡的某一筆資料,稱作資料列(tuple)。
5、學生關聯(lián)(見下頁)的第一列,表示了一個學生,其系別為「資工系」、年級為「4」、學號為「B9201」、姓名為「王雅蕙」、地址為「臺北市」、監(jiān)護人為「王爸爸」、排名為「1」。,學生(student)關聯(lián),,SQL,標準的關聯(lián)式查詢語言 由三個部分所構成SELECT:列舉欲顯示給使用者的屬性 FROM:所參考到的關聯(lián) WHERE:資料列的選擇條件 查詢句1:輸出學號「B9201」同學的地址與監(jiān)護人輸出結果,條件限制,利用算
6、數(shù)運算子:如「>」、「<」等查詢句2:選出所有在系上排名前10名的同學學號和姓名 使用邏輯運算子:如「and」、「or」、「not」查詢句3:針對「資工系」的學生查出排名前10名的同學,條件限制(續(xù)),查詢句2的輸出結果成績關聯(lián),參考多個關聯(lián),當所需要的資料表示在不同關聯(lián)裡常見的錯誤:直接把所要的關聯(lián)寫在FROM子句裡,而不加以限制錯誤範例:錯誤結果:產(chǎn)生學生關聯(lián)的10筆資料列,和成績關聯(lián)
7、裡的6筆資料列,所有可能的組合,包含許多不合理或無意義的資料列 (見下頁第3到6筆資料列),錯誤結果,,連結多個關聯(lián),正確寫法:將參考到的表格,以適當?shù)膶傩源B起來,我們稱作表格的連結(join) 範例:正確結果,連結多個關聯(lián)(續(xù)),範例:取出「王雅蕙」同學所修習的課程 範例:取出「王雅蕙」同學修習「資料庫」這門課的成績:在學號欄位之前,利用符號「.」加註來源表格,以避免產(chǎn)生混淆,資料定義語言,簡稱DDL,
8、提供建立資料表綱要(schema)的功能。在定義一個關聯(lián)的綱要時,我們除了提供此關聯(lián)和所有屬性的名稱,每個屬性的資料型態(tài)及資料大小,都必須加以指定。範例:學生表格定義,欄位資料型態(tài),字串char:使用所有宣告的空間varchar:使用輸入資料大小的空間 數(shù)字 integer:整數(shù)real:實數(shù)等等,主鍵限制,定義在某一個表格上,它可以由一個屬性或多個屬性所構成條件:是在任何情況下,這些屬性的屬性值在整個表格裡都不會重複
9、 當有很多種可以成為主鍵的屬性,選擇一個合理且比較通用範例:選擇「學號」為學生表格的主鍵。,外來鍵限制,定義在某一個表格上,表示和另一個表格之間的「從屬」關係所定義的外來鍵屬性,對應到另一個表格的主鍵;且所有的外來鍵屬性,都曾經(jīng)在另一個表格的主鍵欄位出現(xiàn)過 範例:將成績表格內(nèi)的「學號」屬性定義為外來鍵,對應到為學生表格的「學號」,定義範例,10-3 Access簡介,為美國微軟公司所發(fā)展的資料庫軟體,是廣受歡迎的Office系列
10、中之一員啟動Access的方法,就如同啟動Word一樣,透過【開始】功能表,進入到【程式集】選項,即可點選【Microsoft Access】將Access啟動。啟動之後的畫面類似Office其他軟體,Access的功能表如下圖:,建立資料庫,進入Access之後,在出現(xiàn)的視窗中按一下【Access空白資料庫】指令再按【確定】,出現(xiàn)【開新資料庫】對話方塊選取目錄以指定【儲存位置】輸入資料庫檔案名稱(副檔名為mdb)建立一個「
11、學校」資料庫,檔名是「School.mdb」,檔案存放在「C」槽的「database」目錄 ,畫面如右:,資料庫視窗,左邊的窗格:為物件按鈕,如【資料表】【查詢】等 右邊的窗格,對應於此物件的命令或資訊,資料表功能表,開啟:將一個已經(jīng)建立好的資料表打開,會顯示這個資料表內(nèi)的所有資料列設計:修改一個既有資料表的欄位格式及限制新增:新增一個資料表刪除:刪除一個既有的資料表大圖示、小圖示、清單、詳細資料:指定資料表在資料庫視窗右邊窗
12、格的顯示方式,如同檔案管理員所提供的功能,建立資料表的不同方法,資料工作表檢視:等同於選取資料庫視窗中的【藉由輸入資料建立資料表】,詳見下面的討論設計檢視:等同於選取資料庫視窗中的【使用設計檢視建立資料表】,詳見下面的討論資料表精靈:等同於選取資料庫視窗中的【使用精靈建立資料表】,也就是利用Access提供的內(nèi)建範例資料再加以修改匯入資料表:將外部資料轉入連結資料表:連結外部資料,資料工作表檢視,會出現(xiàn)一個包含10欄位和21列記
13、錄的空白資料表,其內(nèi)建的欄位名稱依序為【欄位1】、【欄位2】等可選取某一個欄位(該欄位會反白),然後按滑鼠右鍵,選擇【更改欄名】,再輸入有意義的欄位名稱,資料工作表檢視(續(xù)),確定完欄位個數(shù)與名稱後,可直接輸入資料列完成後,按一下視窗右上角的【x】,並鍵入表格的名稱「Student」,設計檢視步驟,設計個別欄位欄位名稱、資料類型、一般限制設計主鍵限制(設計檢視畫面如下:),資料型態(tài),文字:資料為字串,最長可包含255個字元數(shù)字
14、:資料為可計算之數(shù)值,可根據(jù)資料值的範圍或是否允許小數(shù)點,選擇「整數(shù)」、「長整數(shù)」、「單精準度」或「雙精準度」等日期/時間:其中包含年、月、日、時、分、秒自動編號:自動插入的唯一順序值,有時具有主鍵的功能備忘:可輸入一長段文章,最長為65535個字元OLE物件:其他程式建立的OLE物件,如圖形或Word文件,可連結或內(nèi)嵌在 Microsoft Access 資料表之中是/否:只能在二種值中選一,譬如「是/否 」、「真/假」 或
15、「開/關」,一般欄位限制,格式:資料顯示在螢幕上與列印出來的方式,若設定格式為「百分比」,則欄位值「0.6」會顯示為「60%」。輸入遮罩:遮罩是用來提醒或控制資料輸入的樣子,設定輸入遮罩時是以分號隔出以下三個區(qū)段:第一區(qū)段:遮罩本身第二區(qū)段:「0」表示顯示在螢幕上(非使用者輸入)的符號也會被儲存在資料庫中;否則使用「1」。第三區(qū)段:提醒使用者輸入的定位字元。譬如,「電話號碼」欄位的輸入遮罩可設定為「\(999\)
16、 0000\-0000;0;#」,一般欄位限制(續(xù)),預設值:使用者若未輸入任何值,則系統(tǒng)會為該欄位自動補上此值。譬如,將「性別」欄位預設值設定為「F」驗證規(guī)則:利用函數(shù)或算數(shù)運算子來寫出限制輸入值的式子。譬如,我們可利用「like」函數(shù),設定「電子郵件」欄位的驗證規(guī)則為「like “*@*”」驗證文字:這裡是設定違反驗證規(guī)則時的提醒文字必須有資料:若填「是」的話,則使用者一定要在第一次輸入某筆資料列時,就提供該欄
17、位的資料,一般欄位限制(續(xù)),允許零長度字串: 針對資料型態(tài)為「文字」或「備忘錄」的欄位,如果允許空字串,才可設定為「是」索引: 索引是一種可加快搜尋資料的結構,指定「是」則Access會幫此欄位建立索引,不過根據(jù)欄位值在表格中的特性,還必須再指定為「可重複」或「不可重複」。,設定主鍵,進入設計檢視的畫面,選?。ǚ窗祝┲麈I屬性按滑鼠右鍵,選取「主索引」(如下圖),設定之後屬性的前面會出現(xiàn)鑰匙般的小符號,設定外來鍵,開啟「
18、資料庫關聯(lián)圖」在【顯示資料表】視窗內(nèi)選取欲處理的表格 下圖圈選取了學生表格和成績表格,設定表格欄位間的關聯(lián),利用滑鼠指標,從學生表格的學號欄位拖曳到成績表格的學號欄位,此時出現(xiàn)編輯關聯(lián)的視窗,如下圖:,設定表格欄位間的關聯(lián)(續(xù)),設定強迫參考完整性:設定之後就代表定義了外來鍵,在這裡我們將它選取。此項設定,會強制要求建立成績表格的學號時,該值必須已經(jīng)存在於學生表格裡。串接更新相關欄位:若是選取此項,則當更改學生表格的學號欄位時,會
19、連帶更新成績表格的對應學號值,在這裡我們不選取。串接刪除相關記錄:若是選取此項,則刪除學生表格的某筆紀錄時,會把成績表格中,所有學號相同的資料列連帶刪除,在這裡我們不選取。,設定表格欄位間的關聯(lián)(續(xù)),透過之前已經(jīng)設定好的主索引定義,Access會自動偵測到這兩個表格學號屬性值的【關聯(lián)類型】是【1對多】按下【建立】,這時兩個表格間會出現(xiàn)一條線,把互相關聯(lián)的屬性連結起來,同時利用「1」和「?」這兩個符號來表示「1對多」的關係,結果如下
20、圖:,建立SQL設計查詢,於【資料庫視窗】中,選取【查詢】之後,再選取【新增】,會出現(xiàn)【新增查詢】視窗 選取【設計檢視】,則會出現(xiàn)【顯示資料表】視窗 在該視窗中選取查詢句需要參考到的一個或數(shù)個資料表後,就會出現(xiàn)【選取查詢】視窗 【選取查詢】視窗上半部:顯示已經(jīng)選取好的資料表下半部:或稱為【設計格線區(qū)】,提供指定輸出的欄位及限制資料選取的準則。,查詢1的Access設計,查詢句3的Access設計,查詢句5的Access設計,1
21、0-4 XML簡介,全球資訊網(wǎng)(World-Wide-Web;簡稱WWW或Web)已經(jīng)可以說是全世界資訊分享的主要方式 HTML主要被設計為顯示資料之用,以便將文件內(nèi)容呈現(xiàn)在使用者面前,所以內(nèi)含許多控制輸出的標籤,而不是表示資訊的內(nèi)容及它的結構,所以不利於自動化的資訊傳遞與交流。可延伸式標註語言(Extensible Markup Language;簡稱 XML)是由W3C制定的一個有關於描述資訊的Mata Language(設計語
22、言的語言),其1.0版於1998年2月正式推出。,XML特性,XML提供一個描述資料之標準,允許使用者可以自由定義標籤來描述資料將資料與使用者介面分離,而提高更大的使用彈性以文字基礎的標籤語言,所以容易長久保存,不會因軟體過時而無法讀??;且能過穿過防火牆,便於在不同企業(yè)間進行資料交換。 以統(tǒng)一碼(unicode)為基礎建構,能支援中文的標籤,所以沒有國際化的問題對於各類型資料(如物件、文章、圖形、文字檔、二元檔…)都能標註,XM
23、L文件範例,下圖表示了四本書籍的部分資料,每一本書分別描述了書名、作者、出版廠商、出版日期、關鍵字等訊息 :,XML文件架構,XML是由一個個元素所組成的每個XML文件中只有一個根元素元素中可以包含其他元素(子元素),如Book元素有5個子元素:Title、Authors、Publisher、Date、Keyword。XML要求文件必須格式正確每一個元素均須包含開始標籤及結束標籤(End-Tag),如L2行的開始標籤 對應到L
24、12行的 。每個元素的開始標籤與結束標籤須成對,標籤之間不可交錯,即所有元素的排列必須為嚴謹?shù)某矤罱Y構。元素可包含屬性,屬性值加上單引號或雙引號,如L10行的Date元素包含一個屬性year,其值為2000。,XML文件型態(tài)定義,文件型態(tài)定義(Document Type Definition;簡稱DTD)是用來定義某份XML文件的格式,也就是將每一個元素包含哪些子元素或屬性、各元素出現(xiàn)的順序等,清楚地加以定義和規(guī)範。 ELEME
25、NT標籤之後放的是元素名,接著用小括號括起來的,是它的「內(nèi)容模型」,也就是在對應的XML文件中可以出現(xiàn)的內(nèi)容。 星號(*)代表可包含多個元素 #PCDATA為預先定義的標記,代表可解析的文字資料。 ATTLIST標籤則是宣告元素的屬性,包含了屬性名、屬性類別及預設行為的描述, 屬性的類別為ID,表示該屬性值在同一個XML文件中不可重複;預設行為的描述為 #REQUIRED ,表示該屬性值必須存在,XML文件型態(tài)定義範例,節(jié)點位
26、置語言,稱為Xpath ,為W3C定義來處理XML資料的輔助技術,用來描述XML元素的位置如果我們要指定一個特定的元素,我們可以把它完整的路徑寫出來譬如:“/Books/Book/Title”可利用萬用字元,取出不限定名稱的所有元素譬如:“/Books/Book/*”可利用函數(shù)來做進一步地限制譬如:“//*[count(Book)=3]”,是取出擁有三個「Book」 子元素的所有元素。,XML查詢語言,W3C在2001的2月
27、首先提出了XML Query Requirements,討論對XML資料做查詢時的需求,隨後也在2001的6月提出了XQuery 1.0 Working Draft,以作為XML查詢語言的標準,預計正式版本將在2004年推出 視一個XML文件為一棵標記(label)樹,並考慮標記樹中每個節(jié)點及所有值之順序關係 利用基於Xpath語法的路徑表示法,以便在XML資料中尋找任意長度路徑的資料,XQuery敘述式,以表示式為基礎包含常數(shù)、
28、變數(shù)、各種運算子、函數(shù)呼叫、元素的建構子等 常稱為FLWR(For-Let-Where-Return))表示式For子句:讓變數(shù)可以遞迴取得一個表示式的結果Let子句:將變數(shù)直接與某一個的表示式結合Where子句:允許對變數(shù)做條件的限制Return子句:建構新的XML元素為查詢的輸出,XQuery範例(一),XML資料是存放在網(wǎng)址「http://dblab.cs.ntou.edu.tw」下檔名為「B0001.xml」的文件內(nèi)
29、 L3行指定「B0001.xml」檔案內(nèi)的每一個「/Books/Book」元素給 $b這個變數(shù), L4行的目的在限定 $b元素下的Keyword子元素必須包含「XML」這個字串,XQuery範例(二),假設B0002.xml檔案的格式(亦即元素定義)與B0001.xml相同 L3行和L4行分別從B0001.xml和B0002.xml兩個檔案中選出是2001年出版的書籍資料L5行則計算($t/Title)和($u/Title)的聯(lián)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論