版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章數(shù)據(jù)庫(kù)系統(tǒng)概論數(shù)據(jù)庫(kù)系統(tǒng)原理與設(shè)計(jì)
(第2版)以學(xué)生成長(zhǎng)成才為目標(biāo)(學(xué)會(huì)做人、學(xué)會(huì)做事);以素質(zhì)提升為本,以能力培養(yǎng)為綱,以知識(shí)傳授為目,以技能訓(xùn)練為用;以教學(xué)創(chuàng)新為體,以興趣激發(fā)為源,開發(fā)學(xué)生潛能,增強(qiáng)競(jìng)爭(zhēng)優(yōu)勢(shì),培養(yǎng)懂管理的信息技術(shù)(IS/IT)人才和懂信息技術(shù)的管理人才。目錄數(shù)據(jù)庫(kù)系統(tǒng)1.4數(shù)據(jù)庫(kù)系統(tǒng)的作用1.1數(shù)據(jù)模型1.2數(shù)據(jù)抽象與數(shù)據(jù)庫(kù)三級(jí)模式1.3數(shù)據(jù)與數(shù)據(jù)管理數(shù)據(jù):描述事物的符號(hào)記錄。無(wú)結(jié)構(gòu)的文本形式描述:李天樂(lè),男,1968年9月出生,江西南昌人,現(xiàn)工作于江西財(cái)經(jīng)大學(xué)信息學(xué)院,教授,主要研究興趣包括XML數(shù)據(jù)庫(kù)、Web數(shù)據(jù)管理。顯然,數(shù)據(jù)的表現(xiàn)形式不能完全表達(dá)其內(nèi)容,其含義即語(yǔ)義需要經(jīng)過(guò)解釋才能被正確理解,因此數(shù)據(jù)和關(guān)于數(shù)據(jù)的解釋是不可分的。表格形式(有結(jié)構(gòu)的記錄形式)描述:表中一行數(shù)據(jù)組織在一起便構(gòu)成一條記錄,其數(shù)據(jù)的語(yǔ)義已由其所在列的表頭欄目名解釋,因此表格描述的數(shù)據(jù)稱為結(jié)構(gòu)化數(shù)據(jù)。姓名性別出生年月籍貫工作單位/部門職稱研究方向李天樂(lè)男1968年9月江西南昌江西財(cái)經(jīng)大學(xué)信息學(xué)院教授XML數(shù)據(jù)庫(kù)、Web數(shù)據(jù)管理…………………數(shù)據(jù)與數(shù)據(jù)管理數(shù)據(jù)處理:從大量的、可能是雜亂無(wú)章的、難以理解的數(shù)據(jù)中抽取并推導(dǎo)出對(duì)于某些特定的人們來(lái)說(shuō)有價(jià)值、有意義的數(shù)據(jù)。數(shù)據(jù)管理:對(duì)數(shù)據(jù)進(jìn)行有效的分類、組織、編碼、存儲(chǔ)、檢索、維護(hù)和應(yīng)用——數(shù)據(jù)處理的中心問(wèn)題。數(shù)據(jù)管理技術(shù)的發(fā)展及其應(yīng)用的廣度和深度,極大地影響著人類社會(huì)發(fā)展的進(jìn)程。
數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展人工管理階段20世紀(jì)50年代中期以前的這段時(shí)間。計(jì)算機(jī)還很簡(jiǎn)陋,尚沒(méi)有完整的操作系統(tǒng),主要應(yīng)用于科學(xué)計(jì)算。數(shù)據(jù)是面向應(yīng)用程序的,一個(gè)數(shù)據(jù)集只能對(duì)應(yīng)于一個(gè)程序,程序與數(shù)據(jù)之間的關(guān)系如圖1-1所示。數(shù)據(jù)需要由應(yīng)用程序自己定義和管理,沒(méi)有相應(yīng)的軟件系統(tǒng)專門負(fù)責(zé)數(shù)據(jù)的管理工作。當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),必須由各自的應(yīng)用程序分別定義和管理這些數(shù)據(jù),無(wú)法共享利用,因此存在大量冗余數(shù)據(jù)。
應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…數(shù)據(jù)集1數(shù)據(jù)集2數(shù)據(jù)集n…圖1-1人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)階段20世紀(jì)50年代后期到60年代中期的這段時(shí)間。計(jì)算機(jī)除了應(yīng)用于科學(xué)計(jì)算外,已開始應(yīng)用于數(shù)據(jù)管理在操作系統(tǒng)之上建立的文件系統(tǒng)已經(jīng)成熟并廣泛應(yīng)用,數(shù)據(jù)由專門的軟件進(jìn)行統(tǒng)一管理。對(duì)于一個(gè)特定的應(yīng)用,數(shù)據(jù)被集中組織存放在多個(gè)數(shù)據(jù)文件(以后簡(jiǎn)稱為文件)或文件組中,并針對(duì)該文件組來(lái)開發(fā)特定的應(yīng)用程序。利用“按文件名訪問(wèn),按記錄進(jìn)行存取”的管理技術(shù),可以對(duì)文件進(jìn)行記錄的修改、插入和刪除等操作。文件系統(tǒng)階段程序與數(shù)據(jù)之間的關(guān)系如圖1-2所示。
存取方法應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…文件組1文件組2文件組n…圖1-2文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的主要特點(diǎn)文件系統(tǒng)實(shí)現(xiàn)了文件內(nèi)的結(jié)構(gòu)性,即一個(gè)文件內(nèi)的數(shù)據(jù)是按記錄進(jìn)行組織的,這樣的數(shù)據(jù)是有結(jié)構(gòu)的(語(yǔ)義的)。整體上還是無(wú)結(jié)構(gòu)的,即多個(gè)文件之間是相互獨(dú)立的,無(wú)法建立全局的結(jié)構(gòu)化數(shù)據(jù)管理模式。程序和數(shù)據(jù)之間由文件系統(tǒng)提供的存取方法進(jìn)行轉(zhuǎn)換,程序員可以不必過(guò)多地考慮物理細(xì)節(jié)。由于數(shù)據(jù)在存儲(chǔ)上的改變不一定反映在程序上,因此應(yīng)用程序與數(shù)據(jù)之間有了一定的物理獨(dú)立性。
姓名性別學(xué)號(hào)出生日期所學(xué)專業(yè)家庭住址聯(lián)系電話學(xué)生文件Student的記錄結(jié)構(gòu)課程號(hào)課程名稱教材名稱學(xué)時(shí)學(xué)分課程文件Course的記錄結(jié)構(gòu)CS005數(shù)據(jù)庫(kù)原理數(shù)據(jù)庫(kù)概論644CS012操作系統(tǒng)操作系統(tǒng)原理805…………………………數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的弊端數(shù)據(jù)共享性差,數(shù)據(jù)冗余和不一致數(shù)據(jù)冗余是指相同的數(shù)據(jù)在不同的地方(文件)重復(fù)存儲(chǔ)文件系統(tǒng)中的一個(gè)(或一組)文件基本上對(duì)應(yīng)于一個(gè)應(yīng)用程序,不同應(yīng)用程序之間很難共享相同數(shù)據(jù)如何有效地提高不同應(yīng)用共享數(shù)據(jù)的能力成為急需解決的問(wèn)題數(shù)據(jù)獨(dú)立性差文件系統(tǒng)中的文件組是為某一特定應(yīng)用服務(wù)的,其邏輯結(jié)構(gòu)對(duì)于該特定應(yīng)用程序來(lái)說(shuō)是優(yōu)化的,但系統(tǒng)也不易擴(kuò)充數(shù)據(jù)與應(yīng)用程序之間缺乏邏輯獨(dú)立性如何有效地提高數(shù)據(jù)與應(yīng)用程序之間的獨(dú)立性成為急需解決的問(wèn)題數(shù)據(jù)孤立,數(shù)據(jù)獲取困難對(duì)于數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系,文件系統(tǒng)仍缺乏有效的管理手段如何有效地管理數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系成為急需解決的問(wèn)題數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的弊端完整性問(wèn)題數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性,也稱為一致性約束例如,一個(gè)學(xué)生需要選修某門課程,該學(xué)生必須已經(jīng)修過(guò)了該課程規(guī)定的先修課程時(shí)才能選修(因?yàn)檎n程之間存在先修后修關(guān)系);必須在該教學(xué)班尚未選滿時(shí)才能選修(因?yàn)榻淌胰萘坑邢?;必須在時(shí)間上與其它已經(jīng)選修的課程不沖突時(shí)才能選修
如何有效地表達(dá)和實(shí)現(xiàn)一致性約束成為急需解決的問(wèn)題安全性問(wèn)題
一個(gè)系統(tǒng)可能有很多用戶,不同用戶可能只允許其訪問(wèn)一部分?jǐn)?shù)據(jù),即該用戶只有一部分?jǐn)?shù)據(jù)的訪問(wèn)權(quán)限
如何有效地保障數(shù)據(jù)的安全性就成為急需解決的問(wèn)題數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的弊端原子性問(wèn)題計(jì)算機(jī)系統(tǒng)有時(shí)會(huì)發(fā)生故障,一旦故障發(fā)生并被檢測(cè)到,數(shù)據(jù)就應(yīng)該恢復(fù)到故障發(fā)生前的狀態(tài)例如,學(xué)生選課時(shí),不僅要在選課文件中增加某學(xué)生選修某門課的記錄,同時(shí)也要在該課程教學(xué)班記錄中將已選課人數(shù)加1,以便學(xué)生選課時(shí)進(jìn)行容量控制因此,增加選課記錄與選課人數(shù)加1兩個(gè)操作要么都發(fā)生,要么都不發(fā)生,這就是學(xué)生選課操作的原子性要求如何有效地保障操作的原子性就成為急需解決的問(wèn)題并發(fā)訪問(wèn)異常
系統(tǒng)應(yīng)該允許多個(gè)用戶同時(shí)訪問(wèn)數(shù)據(jù),在這樣的環(huán)境中由于并發(fā)更新操作相互影響,可能會(huì)導(dǎo)致數(shù)據(jù)的不一致如何有效地控制并發(fā)操作的正確性就成為急需解決的問(wèn)題數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫(kù)管理系統(tǒng)階段20世紀(jì)60年代后期以來(lái)數(shù)據(jù)管理對(duì)象的規(guī)模越來(lái)越大,應(yīng)用范圍越來(lái)越廣,多種應(yīng)用共享數(shù)據(jù)的要求越來(lái)越強(qiáng)烈數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是由一個(gè)相互關(guān)聯(lián)的數(shù)據(jù)的集合和一組用以訪問(wèn)、管理和控制這些數(shù)據(jù)的程序組成這個(gè)數(shù)據(jù)集合通常稱為數(shù)據(jù)庫(kù)(database,DB),其中包含了關(guān)于某個(gè)企業(yè)信息系統(tǒng)的所有信息DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它提供一個(gè)可以方便且高效地存取、管理和控制數(shù)據(jù)庫(kù)信息的環(huán)境DBMS和操作系統(tǒng)一樣,都是計(jì)算機(jī)的基礎(chǔ)軟件(系統(tǒng)軟件),也是一個(gè)大型復(fù)雜的軟件系統(tǒng)數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)的目的是為了有效地管理大量的數(shù)據(jù),既涉及到數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的定義,又涉及到數(shù)據(jù)操作機(jī)制的提供解決文件處理系統(tǒng)中存在的問(wèn)題:數(shù)據(jù)共享性差(數(shù)據(jù)冗余和不一致)數(shù)據(jù)獨(dú)立性差數(shù)據(jù)孤立和數(shù)據(jù)獲取困難完整性問(wèn)題原子性問(wèn)題并發(fā)訪問(wèn)異常安全性問(wèn)題數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫(kù)管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化。數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的整體結(jié)構(gòu)化,這是數(shù)據(jù)庫(kù)的主要特征之一,也是數(shù)據(jù)庫(kù)管理系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別一是指數(shù)據(jù)不僅僅是內(nèi)部結(jié)構(gòu)化,而是將數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系統(tǒng)一管理起來(lái),使之結(jié)構(gòu)化。
圖1-3學(xué)生、課程、學(xué)生成績(jī)文件結(jié)構(gòu)姓名性別學(xué)號(hào)出生日期所學(xué)專業(yè)家庭住址聯(lián)系電話學(xué)生文件Student的記錄結(jié)構(gòu)課程號(hào)課程名稱教材名稱學(xué)時(shí)學(xué)分課程文件Course的記錄結(jié)構(gòu)學(xué)號(hào)課程號(hào)學(xué)期成績(jī)學(xué)生成績(jī)文件Score的記錄結(jié)構(gòu)數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展二是指在數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是僅僅針對(duì)某一個(gè)應(yīng)用,而是面向全組織的所有應(yīng)用。例如,一個(gè)學(xué)校的信息系統(tǒng)中不僅要考慮教務(wù)處的學(xué)生成績(jī)管理,還要考慮學(xué)生處的學(xué)籍注冊(cè)管理、學(xué)生獎(jiǎng)懲管理、學(xué)生家庭成員管理,以及財(cái)務(wù)處的學(xué)生繳費(fèi)管理;同時(shí)還要考慮研究生院的研究生管理、科研處的科研管理、人事處的教職工人事管理和工資管理等。因此,學(xué)校信息系統(tǒng)中的學(xué)生數(shù)據(jù)要面向全校各個(gè)職能管理部門和院系的應(yīng)用,而不僅僅是教務(wù)處的一個(gè)學(xué)生成績(jī)管理應(yīng)用。
圖1-4某校信息管理系統(tǒng)中的學(xué)生數(shù)據(jù)姓名性別學(xué)號(hào)出生日期所學(xué)專業(yè)…學(xué)生基本情況課程號(hào)課程名稱…課程學(xué)號(hào)課程號(hào)學(xué)期成績(jī)學(xué)生成績(jī)?nèi)掌趯W(xué)號(hào)管理員學(xué)生學(xué)籍注冊(cè)日期學(xué)號(hào)獎(jiǎng)懲條目學(xué)生獎(jiǎng)懲序號(hào)學(xué)號(hào)與本人關(guān)系學(xué)生家庭成員成員姓名詳細(xì)情況日期學(xué)號(hào)管理員學(xué)生繳費(fèi)金額數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫(kù)管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)的共享度高,冗余度底,易擴(kuò)充數(shù)據(jù)庫(kù)管理系統(tǒng)從整體角度描述和組織數(shù)據(jù),數(shù)據(jù)不再是面向某個(gè)應(yīng)用,而是面向整個(gè)系統(tǒng)因此,數(shù)據(jù)可以被多個(gè)用戶、多個(gè)應(yīng)用共享使用數(shù)據(jù)共享可以大大減少數(shù)據(jù)的冗余,避免數(shù)據(jù)之間的不一致性數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立是指數(shù)據(jù)的使用(即應(yīng)用程序)與數(shù)據(jù)的說(shuō)明(即數(shù)據(jù)的組織結(jié)構(gòu)與存儲(chǔ)方式)分離這樣,應(yīng)用程序只需要考慮如何使用數(shù)據(jù),而無(wú)須關(guān)心數(shù)據(jù)庫(kù)中的數(shù)據(jù)是如何構(gòu)造和存儲(chǔ)的因而,各方(在一定范圍內(nèi))的變更互不影響
數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫(kù)管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立是指數(shù)據(jù)的使用與數(shù)據(jù)的說(shuō)明分離應(yīng)用程序只需考慮如何使用數(shù)據(jù),不必關(guān)心數(shù)據(jù)是如何構(gòu)造和存儲(chǔ)的因而,各方(在一定范圍內(nèi))的變更互不影響
數(shù)據(jù)獨(dú)立性用來(lái)描述應(yīng)用程序與數(shù)據(jù)結(jié)構(gòu)之間的依賴程度,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性,依賴程度越低則獨(dú)立性越高物理獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的物理結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)在磁盤上如何組織和存儲(chǔ)由DBMS負(fù)責(zé),應(yīng)用程序只關(guān)心數(shù)據(jù)的邏輯結(jié)構(gòu);當(dāng)數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)改變時(shí),應(yīng)用程序不用修改邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的(全局)邏輯結(jié)構(gòu)由DBMS負(fù)責(zé),應(yīng)用程序只關(guān)心數(shù)據(jù)的局部邏輯結(jié)構(gòu)(即應(yīng)用視圖),數(shù)據(jù)的(全局)邏輯結(jié)構(gòu)改變了,應(yīng)用程序也可以不用修改數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫(kù)管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)由數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)統(tǒng)一管理和控制
數(shù)據(jù)的安全性保護(hù):保護(hù)數(shù)據(jù)以防止不合法的使用造成數(shù)據(jù)的泄密和破壞數(shù)據(jù)的完整性檢查:將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系并發(fā)控制:對(duì)多個(gè)用戶或應(yīng)用同時(shí)訪問(wèn)同一個(gè)數(shù)據(jù)的并發(fā)操作加以控制和協(xié)調(diào),確保得到正確的修改結(jié)果或數(shù)據(jù)庫(kù)的完整性不遭到破壞數(shù)據(jù)庫(kù)恢復(fù):當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生硬件或軟件故障時(shí),需要將數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已經(jīng)正確狀態(tài)
應(yīng)用程序或用戶1應(yīng)用程序或用戶2應(yīng)用程序或用戶n…數(shù)據(jù)庫(kù)圖1-5數(shù)據(jù)庫(kù)管理系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)用圖書館管理用于存儲(chǔ)圖書館的館藏資料(圖書、期刊等)、讀者(教師、學(xué)生等)信息,以及圖書和期刊的借閱、歸還記錄等,方便讀者查找資料,方便管理人員辦理圖書和期刊的借閱、歸還和催還等手續(xù),提高圖書館管理水平書店管理用于存儲(chǔ)員工、客戶信息以及圖書采購(gòu)、庫(kù)存、銷售記錄等,提高圖書的采購(gòu)、庫(kù)存和銷售管理水平,方便書店的賬務(wù)處理
教學(xué)管理用于存儲(chǔ)各專業(yè)教學(xué)計(jì)劃、教師和學(xué)生信息、教室信息、教材信息、教師開課以及學(xué)生選課記錄等,提高排課、選課、成績(jī)管理、畢業(yè)管理效率科研管理用于存儲(chǔ)教師信息、科研成果記錄等,方便科研成果的考核、檢索和統(tǒng)計(jì)工作數(shù)據(jù)庫(kù)應(yīng)用銀行管理用于存儲(chǔ)客戶信息、存款賬戶和貸款賬戶記錄以及銀行之間的轉(zhuǎn)賬交易記錄等,提高存款、貸款管理水平,加速資金流轉(zhuǎn)和銀行結(jié)算售票管理用于存儲(chǔ)客戶信息和客運(yùn)飛機(jī)、火車、汽車班次等信息,以及訂票、改簽和退票記錄等,提高交通客運(yùn)管理水平,方便客戶訂票
電信管理用于存儲(chǔ)客戶信息、通話記錄等,自動(dòng)結(jié)算話費(fèi),維護(hù)預(yù)付電話卡的余額,產(chǎn)生每月賬單,提高電信管理水平證券管理用于存儲(chǔ)客戶信息以及股票、債券等金融票據(jù)的持有、出售和買入信息,也可以存儲(chǔ)實(shí)時(shí)的市場(chǎng)交易數(shù)據(jù),以便客戶能夠進(jìn)行聯(lián)機(jī)交易,公司能夠進(jìn)行自動(dòng)交易和結(jié)算數(shù)據(jù)庫(kù)應(yīng)用銷售管理用于存儲(chǔ)客戶、商品信息以及銷售記錄,以便能夠?qū)崟r(shí)的訂單跟蹤、銷售結(jié)算、庫(kù)存管理和商品推薦制造業(yè)管理
用于存儲(chǔ)客戶信息、生產(chǎn)工藝信息,以及采購(gòu)、生產(chǎn)、入庫(kù)、出庫(kù)記錄等,實(shí)現(xiàn)供應(yīng)鏈管理,跟蹤工廠的產(chǎn)品生產(chǎn)情況,實(shí)現(xiàn)零部件、半成品、產(chǎn)成品的庫(kù)存管理等固定資產(chǎn)管理用于存儲(chǔ)客戶信息、部門信息和員工信息,固定資產(chǎn)的采購(gòu)記錄、領(lǐng)用記錄和報(bào)廢記錄等,自動(dòng)計(jì)提固定資產(chǎn)折舊,提供各種固定資產(chǎn)報(bào)表人力資源管理用于存儲(chǔ)部門信息、員工信息,以及出勤記錄、計(jì)件記錄等,自動(dòng)計(jì)算員工的工資、所得稅和津貼,產(chǎn)生工資單目錄數(shù)據(jù)庫(kù)系統(tǒng)1.4數(shù)據(jù)庫(kù)系統(tǒng)的作用1.1數(shù)據(jù)模型1.2數(shù)據(jù)抽象與數(shù)據(jù)庫(kù)三級(jí)模式1.3數(shù)據(jù)模型的分類數(shù)據(jù)庫(kù)結(jié)構(gòu)的基礎(chǔ)是數(shù)據(jù)模型(datamodel)數(shù)據(jù)模型是一個(gè)描述數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)約束的數(shù)學(xué)形式體系(即概念及其符號(hào)表示系統(tǒng))數(shù)據(jù)結(jié)構(gòu)用于刻畫數(shù)據(jù)、數(shù)據(jù)語(yǔ)義以及數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)約束是對(duì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作的一致性、完整性約束,亦稱為數(shù)據(jù)完整性約束
通過(guò)數(shù)據(jù)模型可以對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)特征進(jìn)行抽象
根據(jù)數(shù)據(jù)抽象的不同級(jí)別,將數(shù)據(jù)模型劃分為3類:概念模型:概念層次的數(shù)據(jù)模型,也稱為信息模型邏輯模型:用于描述數(shù)據(jù)庫(kù)數(shù)據(jù)的整體邏輯結(jié)構(gòu)
物理模型:用來(lái)描述數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法
數(shù)據(jù)模型的分類概念模型按用戶的觀點(diǎn)或認(rèn)識(shí)對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)和信息進(jìn)行建模主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)——強(qiáng)調(diào)語(yǔ)義表達(dá)功能
常用的概念模型有實(shí)體-聯(lián)系模型(E-R模型)和面向?qū)ο竽P?OO模型)E-R模型基于對(duì)現(xiàn)實(shí)世界的如下認(rèn)識(shí):現(xiàn)實(shí)世界是由一組稱作實(shí)體的基本對(duì)象以及這些對(duì)象間的聯(lián)系構(gòu)成實(shí)體是現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的一件“事情”或一個(gè)“物體”如,一個(gè)學(xué)生、一個(gè)部門、一個(gè)教室、一種商品、一本書、一門課程,以及一次選課、采購(gòu)、銷售、存款業(yè)務(wù)(記錄)等都是實(shí)體OO模型是用面向?qū)ο笥^點(diǎn)來(lái)描述現(xiàn)實(shí)世界實(shí)體(對(duì)象)的邏輯組織、對(duì)象間限制和聯(lián)系等的模型對(duì)象是由一組數(shù)據(jù)結(jié)構(gòu)和在這組數(shù)據(jù)結(jié)構(gòu)上操作的程序代碼封裝起來(lái)的基本單位數(shù)據(jù)模型的分類邏輯模型是用戶通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)看到的現(xiàn)實(shí)世界,是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,即數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)形式主要用于DBMS的實(shí)現(xiàn)。它既要考慮用戶容易理解,又要考慮便于DBMS實(shí)現(xiàn)不同的DBMS提供不同的邏輯數(shù)據(jù)模型層次模型(hierarchicalmodel)網(wǎng)狀模型(networkmodel)關(guān)系模型(relationalmodel)面向?qū)ο竽P?即OO模型)XML模型對(duì)象關(guān)系模型(objectrelationalmodel)數(shù)據(jù)模型的分類物理模型物理層是數(shù)據(jù)抽象的最低層例如,一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)和索引是存放在不同的數(shù)據(jù)段上還是相同的數(shù)據(jù)段上;數(shù)據(jù)的物理記錄格式是變長(zhǎng)的還是定長(zhǎng)的;數(shù)據(jù)是否壓縮存儲(chǔ);索引結(jié)構(gòu)是B+樹還是Hash結(jié)構(gòu)等物理模型的具體實(shí)現(xiàn)是DBMS的任務(wù),數(shù)據(jù)庫(kù)設(shè)計(jì)人員要了解和選擇物理模型,一般用戶則不必考慮物理層細(xì)節(jié)適用對(duì)象從現(xiàn)實(shí)世界到概念模型的轉(zhuǎn)換是由數(shù)據(jù)庫(kù)設(shè)計(jì)人員完成從概念模型到邏輯模型的轉(zhuǎn)換可以由數(shù)據(jù)庫(kù)設(shè)計(jì)人員完成,也可以用數(shù)據(jù)庫(kù)設(shè)計(jì)工具協(xié)助設(shè)計(jì)人員完成從邏輯模型到物理模型的轉(zhuǎn)換一般由DBMS來(lái)完成
概念模型信息世界圖1-6現(xiàn)實(shí)世界中客觀對(duì)象的抽象過(guò)程現(xiàn)實(shí)世界認(rèn)識(shí)抽象DBMS支持的邏輯模型DBMS支持的物理模型邏輯機(jī)器世界物理機(jī)器世界數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型是一個(gè)描述數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)完整性約束的數(shù)學(xué)形式體系(即概念及其符號(hào)表示系統(tǒng))這些概念及其符號(hào)表示系統(tǒng)精確地描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性規(guī)則數(shù)據(jù)模型的組成要素有:數(shù)據(jù)結(jié)構(gòu):描述數(shù)據(jù)庫(kù)的組成對(duì)象以及對(duì)象之間的聯(lián)系
數(shù)據(jù)操作:指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作集合,包括操作及有關(guān)的操作規(guī)則數(shù)據(jù)完整性約束:一組數(shù)據(jù)完整性規(guī)則,是數(shù)據(jù)、數(shù)據(jù)語(yǔ)義和數(shù)據(jù)聯(lián)系所具有的制約和依存規(guī)則,包括數(shù)據(jù)結(jié)構(gòu)完整性規(guī)則和數(shù)據(jù)操作完整性規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確、有效和相容層次模型典型代表是1968年IBM公司推出的第一個(gè)大型商用數(shù)據(jù)庫(kù)管理系統(tǒng)——IMS(informationmanagementsystem)層次模型用樹形結(jié)構(gòu)來(lái)表示各類實(shí)體以及實(shí)體間的聯(lián)系。實(shí)體用記錄來(lái)表示,實(shí)體間的聯(lián)系用鏈接(可看作指針)來(lái)表示滿足如下兩個(gè)條件的基本層次聯(lián)系的集合為層次模型:有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)根以外的其他結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)在層次模型中,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄型,記錄(型)之間的聯(lián)系用結(jié)點(diǎn)之間的連線(有向邊)表示,這種聯(lián)系是父子之間的一對(duì)多的聯(lián)系每個(gè)記錄型由若干個(gè)字段組成,記錄型描述的是實(shí)體,字段描述的是實(shí)體的屬性。每個(gè)記錄型可以定義一個(gè)排序字段,也稱為碼字段,如果所定義的排序字段的值唯一,則它也可以用來(lái)唯一標(biāo)識(shí)一個(gè)記錄值
圖1-7一個(gè)簡(jiǎn)單的教學(xué)管理系統(tǒng)的層次數(shù)據(jù)模型職工號(hào)姓名研究方向Employee班級(jí)號(hào)年級(jí)專業(yè)Class系編號(hào)系名辦公地點(diǎn)Department學(xué)號(hào)姓名性別Student出生日期層次模型
圖1-8一個(gè)簡(jiǎn)單的教學(xué)管理系統(tǒng)的實(shí)例值E0501萬(wàn)家樂(lè)數(shù)據(jù)庫(kù)EmployeeC012008計(jì)算機(jī)ClassD05計(jì)算機(jī)系信息大樓DepartmentE0502吳文君信息檢索E0503廖興旺操作系統(tǒng)C022009信息系統(tǒng)StudentS090204王紅敏女06/12/92S090212劉宏昊男09/25/91S090228李立女02/18/92StudentS080125李小勇男11/26/90S080148黃小紅女05/21/91
E0803王國(guó)方數(shù)據(jù)結(jié)構(gòu)C032008電子商務(wù)D08信息系信息大樓E0805張長(zhǎng)工編譯原理E0809李小紅運(yùn)籌學(xué)C042009信息系統(tǒng)S090404劉月高女06/12/92S090412王永民男09/25/91S090428英達(dá)成女02/18/92S080325萬(wàn)元戶男11/26/90S080348李興女05/21/91層次模型層次模型的主要優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單清晰查詢效率高提供了良好的數(shù)據(jù)完整性支持層次模型的主要缺點(diǎn):現(xiàn)實(shí)世界中很多聯(lián)系是非層次的(如多對(duì)多聯(lián)系),層次模型在表示這類聯(lián)系時(shí),解決的辦法:一是通過(guò)引入冗余數(shù)據(jù)(易產(chǎn)生不一致性),二是創(chuàng)建非自然的數(shù)據(jù)結(jié)構(gòu)(引入虛擬結(jié)點(diǎn))。對(duì)插入和刪除操作的限制比較多,因此應(yīng)用程序的編寫比較復(fù)雜查詢孩子結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化網(wǎng)狀模型典型代表是DBTG系統(tǒng),亦稱為CODASYL系統(tǒng),它是20世紀(jì)70年代由數(shù)據(jù)系統(tǒng)語(yǔ)言研究會(huì)(conferenceondatasystemlanguage,CODASYL)下屬的數(shù)據(jù)庫(kù)任務(wù)組(databasetaskgroup,DBTG)提出的一個(gè)系統(tǒng)方案滿足如下兩個(gè)條件的基本層次聯(lián)系的集合稱為網(wǎng)狀模型允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親網(wǎng)狀模型是一種比層次模型更具普遍性的結(jié)構(gòu),它去掉了層次模型的兩個(gè)限制,還允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系(稱為復(fù)合聯(lián)系)。因此,網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)世界網(wǎng)狀模型網(wǎng)狀模型的主要優(yōu)點(diǎn):能夠更為直接地描述現(xiàn)實(shí)世界具有良好的性能,存取效率較高網(wǎng)狀模型的主要缺點(diǎn):結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用規(guī)模的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)會(huì)變得越來(lái)越復(fù)雜,不利于最終用戶掌握操作語(yǔ)言比較復(fù)雜
關(guān)系模型1970年美國(guó)IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫(kù)管理系統(tǒng)的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫(kù)關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,為數(shù)據(jù)庫(kù)技術(shù)奠定了理論基礎(chǔ)。由于E.F.Codd的杰出工作,他于1981年獲得ACM圖靈獎(jiǎng)20世紀(jì)80年代以來(lái),計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型,數(shù)據(jù)庫(kù)領(lǐng)域當(dāng)前的研究工作也都是以關(guān)系方法為基礎(chǔ)本書的重點(diǎn)也主要是講授關(guān)系數(shù)據(jù)庫(kù)
關(guān)系模型關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型中的常用術(shù)語(yǔ):
關(guān)系(relation):一個(gè)關(guān)系對(duì)應(yīng)一張二維表,每一個(gè)關(guān)系有一個(gè)名稱,即關(guān)系名;元組(tuple):表中的一行稱為一個(gè)元組;屬性(attribute):表中的一列稱為一個(gè)屬性,每一個(gè)屬性有一個(gè)名稱,即屬性名;碼(key):也稱為碼鍵。表中的某個(gè)屬性或?qū)傩越M,它可以唯一地確定關(guān)系中的一個(gè)元組,如關(guān)系Student中的學(xué)號(hào),它可以唯一地標(biāo)識(shí)一個(gè)學(xué)生;域(domain):屬性的取值范圍;分量(component):元組中的一個(gè)屬性值;關(guān)系模型關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型中的常用術(shù)語(yǔ):
外碼(foreignkey):表中的某個(gè)屬性或?qū)傩越M,用來(lái)描述本關(guān)系中的元組(實(shí)體)與另一關(guān)系中的元組(實(shí)體)之間的聯(lián)系外碼的取值范圍對(duì)應(yīng)于另一個(gè)關(guān)系的碼的取值范圍的子集如關(guān)系Score中的學(xué)號(hào),它描述了關(guān)系Score與關(guān)系Student的聯(lián)系(即哪個(gè)學(xué)生選修了課程),因此學(xué)號(hào)是關(guān)系Score的外碼同理,課程號(hào)也是關(guān)系Score的外碼,它描述了關(guān)系Score與關(guān)系Course的聯(lián)系(即哪門課程被學(xué)生選修了)關(guān)系模式(relationalschema):通過(guò)關(guān)系名和屬性名列表對(duì)關(guān)系進(jìn)行描述,即二維表的表頭部分(表格的描述部分)關(guān)系模式的一般形式:關(guān)系名(屬性名1,屬性名2,…,屬性名n)關(guān)系模型關(guān)系Student、Course和Score可分別描述為:Student(學(xué)號(hào),姓名,性別,出生日期,所學(xué)專業(yè))Course(課程號(hào),課程名稱,學(xué)時(shí),學(xué)分)Score(學(xué)號(hào),課程號(hào),學(xué)期,成績(jī))說(shuō)明:帶下劃線的屬性為碼屬性,斜體的屬性為外碼屬性
關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系必須滿足一定的規(guī)范條件。最基本的規(guī)范條件是:關(guān)系的每一個(gè)元組必須是可分區(qū)的,即存在碼屬性
關(guān)系的每一個(gè)屬性(即元組的分量)必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),即不允許表中有表
圖1-9關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)Student關(guān)系學(xué)號(hào) 姓名 性別出生日期 所學(xué)專業(yè)
0701001 李小勇
男1990-12-21 計(jì)算機(jī) 0701008 王
紅
男1992-04-26 計(jì)算機(jī) 0802002 劉方晨
女1990-11-11 信息系統(tǒng) 0802005 王紅敏
女1990-10-01 信息系統(tǒng) 0703045 王
紅
男1992-04-26 會(huì)計(jì)學(xué) 0703010 李宏冰
女1992-03-09 會(huì)計(jì)學(xué)
…
…
……
…
Course關(guān)系課程號(hào) 課程名稱 學(xué)時(shí) 學(xué)分
CS005 數(shù)據(jù)庫(kù)系統(tǒng)概論
64 4 CS012 操作系統(tǒng)
80 5 CP001 基礎(chǔ)會(huì)計(jì)
48 3 …
…
…
…
Score關(guān)系學(xué)號(hào)
課程號(hào)
學(xué)期 成績(jī)0701001 CS005 072 920701001 CS012 081 880701008 CS005 072 860701008 CS012 081 930701008 CP001 081 780802002 CS005 082 850802002 CP001 091 950802005 CS005 082 720802005 CP001 091 880703045 CP001 072 840703010 CP001 072 92…
…
…
…關(guān)系模型關(guān)系數(shù)據(jù)模型的操作關(guān)系數(shù)據(jù)模型的操作主要包括查詢和更新(插入、刪除和修改)關(guān)系:元組的集合,關(guān)系模型的數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系(元組的集合)——不同于傳統(tǒng)的非關(guān)系模型的數(shù)據(jù)操作:?jiǎn)斡涗洸僮麝P(guān)系模型:存取路徑是透明的,用戶只要指出“干什么”或“找什么”,不必說(shuō)明“怎么干”或“怎么找”,從而大大地提高了數(shù)據(jù)的獨(dú)立性,提高了軟件的開發(fā)和維護(hù)效率關(guān)系數(shù)據(jù)模型的完整性約束實(shí)體完整性、參照完整性和用戶自定義完整性
關(guān)系模型關(guān)系數(shù)據(jù)模型的優(yōu)點(diǎn):嚴(yán)格的數(shù)學(xué)基礎(chǔ):有關(guān)系代數(shù)作為語(yǔ)言模型,有關(guān)系數(shù)據(jù)理論作為理論基礎(chǔ)概念單一:無(wú)論實(shí)體還是實(shí)體之間的聯(lián)系都是用關(guān)系來(lái)表示,對(duì)數(shù)據(jù)(關(guān)系)的操作(查詢和更新)結(jié)果還是關(guān)系。所以其數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶易懂易用存取路徑透明:具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,簡(jiǎn)化了程序員的工作,提高了軟件的開發(fā)和維護(hù)效率關(guān)系數(shù)據(jù)模型的缺點(diǎn):由于存取路徑對(duì)用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型為了提高性能,DBMS必須對(duì)用戶的查詢請(qǐng)求進(jìn)行查詢優(yōu)化,這樣就增加了DBMS的開發(fā)難度
圖1-8一個(gè)簡(jiǎn)單的教學(xué)管理系統(tǒng)的實(shí)例值E0501萬(wàn)家樂(lè)數(shù)據(jù)庫(kù)EmployeeC012008計(jì)算機(jī)ClassD05計(jì)算機(jī)系信息大樓DepartmentE0502吳文君信息檢索E0503廖興旺操作系統(tǒng)C022009信息系統(tǒng)StudentS090204王紅敏女06/12/92S090212劉宏昊男09/25/91S090228李立女02/18/92StudentS080125李小勇男11/26/90S080148黃小紅女05/21/91層次模型:查詢信息系C04班的女同學(xué)
C032008電子商務(wù)D08信息系信息大樓C042009信息系統(tǒng)S080325萬(wàn)元戶男11/26/90S080348李興女05/21/91ClassStudent
S090404劉月高女06/12/92S090412王永民男09/25/91S090428英達(dá)成女02/18/92Student???????√√學(xué)生關(guān)系StudentS080125李小勇男11/26/90S080148黃小紅女05/21/91D05C01D05C01S090204王紅敏女06/12/92S090212劉宏昊男09/25/91S090228李立女02/18/92D05C02D05C02D05C02S080325萬(wàn)元戶男11/26/90S080348李興女05/21/91D08C03D08C03S090404劉月高女06/12/92S090412王永民男09/25/91S090428英達(dá)成女02/18/92D08C04D08C04D08C04關(guān)系模型:查詢信息系C04班的女同學(xué)√D05——計(jì)算機(jī)系D08——信息系學(xué)號(hào)姓名性別出生日期所在系班級(jí)?????????√??????D05C01???????????????面向?qū)ο竽P鸵悦嫦驅(qū)ο髷?shù)據(jù)模型為核心的面向?qū)ο髷?shù)據(jù)庫(kù)的主要特征:對(duì)象。面向?qū)ο髷?shù)據(jù)模型將客觀世界模擬成由各個(gè)相互作用的稱為對(duì)象的單元組成的復(fù)雜系統(tǒng)。對(duì)象的定義包括狀態(tài)和行為兩方面,狀態(tài)由一組屬性值組成,行為由一組方法組成對(duì)象類。具有相同屬性和方法的對(duì)象組成對(duì)象類,對(duì)象只屬于某一個(gè)類并作為該類的實(shí)例繼承。定義子類時(shí)可以直接繼承超類的屬性和方法,在此基礎(chǔ)上定義不同于超類的屬性和方法,這稱為子類對(duì)超類的繼承(inheritance)持久性和對(duì)象標(biāo)識(shí)。在大多數(shù)程序設(shè)計(jì)語(yǔ)言中,對(duì)象是臨時(shí)的;但在面向?qū)ο髷?shù)據(jù)庫(kù)中,對(duì)象在被刪除前是永久存在的。一個(gè)對(duì)象的對(duì)象標(biāo)識(shí)在系統(tǒng)中是唯一的,在整個(gè)生存期內(nèi)是不變的阻抗失配。數(shù)據(jù)庫(kù)查詢語(yǔ)言是由系統(tǒng)自選查詢路徑的非過(guò)程化語(yǔ)言。非過(guò)程化語(yǔ)言面向集合的操作方式與高級(jí)程序設(shè)計(jì)語(yǔ)言面向記錄的操作方式之間會(huì)產(chǎn)生不協(xié)調(diào)現(xiàn)象,稱為阻抗失配。阻抗失配的根本原因在于數(shù)據(jù)庫(kù)的數(shù)據(jù)模型與程序設(shè)計(jì)語(yǔ)言的不一致,因而對(duì)所有嵌入式數(shù)據(jù)庫(kù)查詢語(yǔ)言來(lái)說(shuō),阻抗失配是不可避免的面向?qū)ο竽P兔嫦驅(qū)ο竽P偷幕靖拍睿簲?shù)據(jù)建模的基本原語(yǔ)是對(duì)象(object)和文字(literal),每個(gè)對(duì)象有一個(gè)唯一的標(biāo)識(shí)符,文字沒(méi)有標(biāo)識(shí)符對(duì)象和文字都可以劃分為類型(type),同一類型的對(duì)象或文字具有相同的行為和狀態(tài),對(duì)象可以稱為類型的實(shí)例通過(guò)一組性質(zhì)(property)來(lái)定義對(duì)象的狀態(tài),性質(zhì)可以分為兩種:對(duì)象的屬性和對(duì)象之間的聯(lián)系通過(guò)一組操作(operation)來(lái)定義對(duì)象的行為,操作都具有輸入和輸出參數(shù),并且可以返回特定類型的結(jié)果利用ODL(objectdefinitionlanguage)定義對(duì)象數(shù)據(jù)庫(kù)管理系統(tǒng)的模式。面向?qū)ο髷?shù)據(jù)庫(kù)中存儲(chǔ)的對(duì)象都是模式中定義的類型的實(shí)例,即對(duì)象,這些對(duì)象可以供多個(gè)用戶和應(yīng)用共享XML模型XML(可擴(kuò)展標(biāo)記語(yǔ)言)是SGML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)的子集,目標(biāo)是允許普通的SGML在Web上以目前HTML(超文本標(biāo)記語(yǔ)言)的方式被服務(wù)、接收和處理。XML被設(shè)計(jì)成易于實(shí)現(xiàn),且可在SGML和HTML之間互操作XML的基本概念:元素:由一對(duì)標(biāo)記(即起始標(biāo)記和終止標(biāo)記)串行化而成,起始標(biāo)記的形式是<標(biāo)記名>,終止標(biāo)記的形式是</標(biāo)記名>,元素的后裔則位于起始標(biāo)記和終止標(biāo)記之間。典型地組成了XML文檔中的大部分內(nèi)容屬性:用來(lái)給元素提供所顯示內(nèi)容的額外信息DTD:通過(guò)具體說(shuō)明每一個(gè)元素和屬性的名稱、元素與子元素之間的嵌套關(guān)系、子元素的出現(xiàn)次數(shù)等來(lái)定義XML文檔的結(jié)構(gòu)模型XML模型XML信息集一個(gè)最基本的XML信息內(nèi)容的描述,它為XML文檔提供了一個(gè)比較抽象、概念上的解釋兩個(gè)XML文檔即使在字符層次上是不同的,但是只要有著相同的信息集,那么都可以認(rèn)為它們是等價(jià)的XPath1.0數(shù)據(jù)模型XPath1.0基于一個(gè)樹狀模型,這個(gè)樹狀模型基本上與XML信息集相當(dāng)在這個(gè)模型中,每個(gè)結(jié)點(diǎn)都是以下7種類型之一:文檔結(jié)點(diǎn)、元素結(jié)點(diǎn)、屬性結(jié)點(diǎn)、命名空間結(jié)點(diǎn)、處理指令結(jié)點(diǎn)、注釋結(jié)點(diǎn)、文本結(jié)點(diǎn)一個(gè)XML文檔可以認(rèn)為是XPath數(shù)據(jù)模型的實(shí)例
childrenRpubchildrenattributeE2editorID“105”A1AQuery…titlechildrenE3T1idauthorKaily
Jone“104”childrenchildrenattributeE4E5A2T2namearticlechildrenE1圖1-12一個(gè)查詢數(shù)據(jù)模型實(shí)例目錄數(shù)據(jù)庫(kù)系統(tǒng)1.4數(shù)據(jù)庫(kù)系統(tǒng)的作用1.1數(shù)據(jù)模型1.2數(shù)據(jù)抽象與數(shù)據(jù)庫(kù)三級(jí)模式1.3數(shù)據(jù)抽象DBMS:隱藏關(guān)于數(shù)據(jù)存儲(chǔ)和維護(hù)的某些細(xì)節(jié),為用戶提供數(shù)據(jù)在不同層次上的視圖,即數(shù)據(jù)抽象,方便不同的使用者可以從不同的角度去觀察和利用數(shù)據(jù)庫(kù)中的數(shù)據(jù)物理層抽象最低層次的抽象,描述數(shù)據(jù)實(shí)際上是怎樣存儲(chǔ)的邏輯層抽象描述數(shù)據(jù)庫(kù)中存儲(chǔ)什么數(shù)據(jù)以及這些數(shù)據(jù)之間存在什么關(guān)系提供給數(shù)據(jù)庫(kù)管理員和數(shù)據(jù)庫(kù)應(yīng)用開發(fā)人員使用的,他們必須明確知道數(shù)據(jù)庫(kù)中應(yīng)該保存哪些信息
視圖層抽象最高層次的抽象,只描述整個(gè)數(shù)據(jù)庫(kù)的某個(gè)部分系統(tǒng)可以為同一數(shù)據(jù)庫(kù)提供多個(gè)視圖,每一個(gè)視圖對(duì)應(yīng)一個(gè)具體的應(yīng)用,亦稱為應(yīng)用視圖
數(shù)據(jù)庫(kù)的三級(jí)模式根據(jù)數(shù)據(jù)抽象的3個(gè)不同級(jí)別,DBMS也應(yīng)該提供觀察數(shù)據(jù)庫(kù)的3個(gè)不同角度,以方便不同的用戶使用數(shù)據(jù)庫(kù)的需要。這就是數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)
模式也稱為邏輯模式,對(duì)應(yīng)于邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式的一個(gè)具體值稱為模式的一個(gè)實(shí)例(instance)它是DBMS模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、所使用的應(yīng)用開發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)數(shù)據(jù)庫(kù)的三級(jí)模式外模式也稱子模式或用戶模式,對(duì)應(yīng)于視圖層數(shù)據(jù)抽象是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一具體應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示外模式是保證數(shù)據(jù)庫(kù)安全性的一個(gè)有力措施,每個(gè)用戶只能看見和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫(kù)中的其余數(shù)據(jù)是不可見的內(nèi)模式也稱存儲(chǔ)模式,對(duì)應(yīng)于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式
圖1-13數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用E應(yīng)用F外模式1外模式2外模式3應(yīng)用D應(yīng)用G模式內(nèi)模式數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的三級(jí)模式數(shù)據(jù)庫(kù)的兩層映像功能與數(shù)據(jù)獨(dú)立性外模式/模式映像對(duì)應(yīng)于一個(gè)模式可以有多個(gè)外模式。對(duì)于每一個(gè)外模式,數(shù)據(jù)庫(kù)管理系統(tǒng)都有一個(gè)模式/外模式映像,它定義了該外模式與模式之間的對(duì)應(yīng)關(guān)系在各自的外模式描述中定義外模式/模式映像保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨(dú)立性,簡(jiǎn)稱為數(shù)據(jù)的邏輯獨(dú)立性
模式/內(nèi)模式映像數(shù)據(jù)庫(kù)中只有一個(gè)模式,也只有一個(gè)內(nèi)模式,模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系在模式描述中定義模式/內(nèi)模式映像保證了數(shù)據(jù)與應(yīng)用程序的物理獨(dú)立性,簡(jiǎn)稱為數(shù)據(jù)的物理獨(dú)立性
圖1-13數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)應(yīng)用A外模式/模式映像應(yīng)用B應(yīng)用C應(yīng)用E應(yīng)用F外模式1外模式2外模式3應(yīng)用D應(yīng)用G模式內(nèi)模式數(shù)據(jù)庫(kù)模式/內(nèi)模式映像數(shù)據(jù)庫(kù)的三級(jí)模式在數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)中,模式即全局
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:閩派古琴的歷史、現(xiàn)狀及文獻(xiàn)研究
- 課題申報(bào)參考:面向?qū)W生創(chuàng)造力培育的場(chǎng)館學(xué)習(xí)環(huán)境測(cè)評(píng)體系與優(yōu)化機(jī)制研究
- 課題申報(bào)參考:面向產(chǎn)品個(gè)性化定制的共享制造資源協(xié)同調(diào)度優(yōu)化理論研究
- 二零二五年度智能電網(wǎng)信息化系統(tǒng)運(yùn)維與電力市場(chǎng)服務(wù)合同3篇
- 二零二五年度黨政機(jī)關(guān)會(huì)議酒店住宿及會(huì)議場(chǎng)地租賃合同4篇
- 2025年度土地承包經(jīng)營(yíng)權(quán)續(xù)包合同示范文本4篇
- 2025年度個(gè)人個(gè)人房產(chǎn)買賣合同(含裝修及配套設(shè)施)2篇
- 2025年度鋼材行業(yè)投資合作開發(fā)合同
- 2025年個(gè)人購(gòu)房合同(含房屋保險(xiǎn)服務(wù))
- 二零二五版南京房地產(chǎn)抵押物拍賣合同4篇
- 海員的營(yíng)養(yǎng)-1315醫(yī)學(xué)營(yíng)養(yǎng)霍建穎等講解
- 《現(xiàn)代根管治療術(shù)》課件
- 肩袖損傷的護(hù)理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學(xué)試卷
- 公司差旅費(fèi)報(bào)銷單
- 我國(guó)全科醫(yī)生培訓(xùn)模式
- 2021年上海市楊浦區(qū)初三一模語(yǔ)文試卷及參考答案(精校word打印版)
- 八年級(jí)上冊(cè)英語(yǔ)完形填空、閱讀理解100題含參考答案
- 八年級(jí)物理下冊(cè)功率課件
- DBJ51-T 188-2022 預(yù)拌流態(tài)固化土工程應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 《長(zhǎng)津湖》電影賞析PPT
評(píng)論
0/150
提交評(píng)論