第01章 數(shù)據(jù)庫系統(tǒng)概論_第1頁
第01章 數(shù)據(jù)庫系統(tǒng)概論_第2頁
第01章 數(shù)據(jù)庫系統(tǒng)概論_第3頁
第01章 數(shù)據(jù)庫系統(tǒng)概論_第4頁
第01章 數(shù)據(jù)庫系統(tǒng)概論_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第1章數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫原理與設(shè)計(jì)2023/2/5課程目標(biāo)定位使學(xué)生學(xué)會(huì)“用”數(shù)據(jù)庫

系統(tǒng)分析員數(shù)據(jù)庫設(shè)計(jì)員數(shù)據(jù)庫應(yīng)用程序員數(shù)據(jù)庫管理員具體來說,使學(xué)生掌握數(shù)據(jù)庫的基本知識、基本理論和基本方法(三基);具有較強(qiáng)的數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫系統(tǒng)管理、數(shù)據(jù)庫應(yīng)用開發(fā)等數(shù)據(jù)庫應(yīng)用能力;培養(yǎng)學(xué)生的自主學(xué)習(xí)能力、創(chuàng)新意識、團(tuán)隊(duì)協(xié)作精神、寫作表達(dá)能力等綜合素質(zhì);以及從應(yīng)用中發(fā)現(xiàn)問題、提出問題、分析問題和解決問題的能力——問題求解能力。2023/2/5教學(xué)內(nèi)容與課時(shí)安排第0章導(dǎo)論第1章數(shù)據(jù)庫系統(tǒng)概論(4)第2章關(guān)系模型與關(guān)系代數(shù)(4)第3章SQL語言(8)第4章數(shù)據(jù)庫建模(實(shí)體-聯(lián)系模型)(4)第5章關(guān)系數(shù)據(jù)理論及模式求精(4)第6章關(guān)系數(shù)據(jù)庫設(shè)計(jì)實(shí)例——網(wǎng)上書店(4)第7章數(shù)據(jù)庫存儲結(jié)構(gòu)(4)第8章查詢處理(2)第9章數(shù)據(jù)庫完整性與安全(6)第10章事務(wù)管理及恢復(fù)(4)第11章數(shù)據(jù)庫應(yīng)用開發(fā)(0)第12章Web數(shù)據(jù)庫(0)44+20課時(shí):44課時(shí)講授,20課時(shí)實(shí)驗(yàn)。2023/2/5教學(xué)內(nèi)容與課時(shí)安排實(shí)驗(yàn)(課內(nèi)20課時(shí)+課外20課時(shí))實(shí)驗(yàn)1認(rèn)識DBMS-SQLServer數(shù)據(jù)庫安裝、服務(wù)器管理、客戶端工具、配置連接(2學(xué)時(shí))實(shí)驗(yàn)2創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表,數(shù)據(jù)導(dǎo)入導(dǎo)出,備份和恢復(fù)(2學(xué)時(shí))實(shí)驗(yàn)3交互式SQL-簡單查詢、連接查詢和聚合查詢(2學(xué)時(shí))實(shí)驗(yàn)4交互式SQL-子查詢、集合運(yùn)算、數(shù)據(jù)操縱命令(2學(xué)時(shí))實(shí)驗(yàn)5創(chuàng)建和使用視圖(2學(xué)時(shí))實(shí)驗(yàn)6創(chuàng)建和管理索引(2學(xué)時(shí))實(shí)驗(yàn)7數(shù)據(jù)控制—安全性控制(2學(xué)時(shí))實(shí)驗(yàn)8數(shù)據(jù)控制—完整性約束(2學(xué)時(shí))實(shí)驗(yàn)9使用T-SQL編寫存儲過程和函數(shù)(2學(xué)時(shí))實(shí)驗(yàn)10查詢優(yōu)化(查看執(zhí)行計(jì)劃)、備份和恢復(fù)、數(shù)據(jù)庫移植和使用事務(wù)(2學(xué)時(shí))2023/2/52023/2/5要求:提前預(yù)習(xí);按時(shí)到教室上課,上課認(rèn)真聽講;課后及時(shí)復(fù)習(xí),獨(dú)立認(rèn)真完成作業(yè)。

2023/2/5課前,做一些預(yù)習(xí)。認(rèn)真完成好每次習(xí)題和每次上機(jī)。自己在家里或?qū)嬍易鲆恍┫嚓P(guān)的實(shí)踐;只靠上機(jī)的時(shí)間實(shí)踐是遠(yuǎn)遠(yuǎn)不夠的。和同學(xué)多交流學(xué)習(xí)的經(jīng)驗(yàn),借助他人的經(jīng)驗(yàn)幫助自己提高。學(xué)習(xí)方法M.希爾伯曼指出:我們記住了

我們所聽到的5%,所看到的10%,邊看邊聽的20%,教師演示的30%,相互討論的50%,

所實(shí)踐的70%,給他人講授的95%。2023/2/52023/2/5參考資料教材:數(shù)據(jù)庫系統(tǒng)原理與設(shè)計(jì)(第2版),萬常選廖國瓊吳京慧劉喜平編著,參考書:數(shù)據(jù)庫系統(tǒng)概論(第四版),王珊薩師煊編著數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程,岳麗華,金培權(quán)等譯數(shù)據(jù)庫系統(tǒng)概念(原書第5版),楊冬青馬秀莉等譯,機(jī)械工業(yè)出版社現(xiàn)代數(shù)據(jù)庫管理(第8版),劉偉琴張芳史新元譯,清華大學(xué)出版社2023/2/5聯(lián)系方式電話辦公地點(diǎn):知行樓ZA310;E_Mail:

zhangsy_db@126.com;QQ:

791708068;

任何問題可以通過以上方式進(jìn)行交流!目錄數(shù)據(jù)庫系統(tǒng)1.4數(shù)據(jù)庫系統(tǒng)的作用1.1數(shù)據(jù)模型1.2數(shù)據(jù)抽象與數(shù)據(jù)庫三級模式1.32023/2/5數(shù)據(jù)與數(shù)據(jù)管理數(shù)據(jù):描述事物的符號記錄。無結(jié)構(gòu)的文本形式描述:李天樂,男,1968年9月出生,江西南昌人,現(xiàn)工作于江西財(cái)經(jīng)大學(xué)信息學(xué)院,教授,主要研究興趣包括XML數(shù)據(jù)庫、Web數(shù)據(jù)管理。顯然,數(shù)據(jù)的表現(xiàn)形式不能完全表達(dá)其內(nèi)容,其含義即語義需要經(jīng)過解釋才能被正確理解,因此數(shù)據(jù)和關(guān)于數(shù)據(jù)的解釋是不可分的。表格形式(有結(jié)構(gòu)的記錄形式)描述:表中一行數(shù)據(jù)組織在一起便構(gòu)成一條記錄,其數(shù)據(jù)的語義已由其所在列的表頭欄目名解釋,因此表格描述的數(shù)據(jù)稱為結(jié)構(gòu)化數(shù)據(jù)。姓名性別出生年月籍貫工作單位/部門職稱研究方向李天樂男1968年9月江西南昌江西財(cái)經(jīng)大學(xué)信息學(xué)院教授XML數(shù)據(jù)庫、Web數(shù)據(jù)管理…………………2023/2/5數(shù)據(jù)與數(shù)據(jù)管理數(shù)據(jù)處理:從大量的、可能是雜亂無章的、難以理解的數(shù)據(jù)中抽取并推導(dǎo)出對于某些特定的人們來說有價(jià)值、有意義的數(shù)據(jù)。數(shù)據(jù)管理:對數(shù)據(jù)進(jìn)行有效的分類、組織、編碼、存儲、檢索、維護(hù)和應(yīng)用——數(shù)據(jù)處理的中心問題。數(shù)據(jù)管理技術(shù)的發(fā)展及其應(yīng)用的廣度和深度,極大地影響著人類社會(huì)發(fā)展的進(jìn)程。

2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展人工管理階段20世紀(jì)50年代中期以前的這段時(shí)間。計(jì)算機(jī)還很簡陋,尚沒有完整的操作系統(tǒng),主要應(yīng)用于科學(xué)計(jì)算。數(shù)據(jù)是面向應(yīng)用程序的,一個(gè)數(shù)據(jù)集只能對應(yīng)于一個(gè)程序,程序與數(shù)據(jù)之間的關(guān)系如圖1-1所示。數(shù)據(jù)需要由應(yīng)用程序自己定義和管理,沒有相應(yīng)的軟件系統(tǒng)專門負(fù)責(zé)數(shù)據(jù)的管理工作。當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),必須由各自的應(yīng)用程序分別定義和管理這些數(shù)據(jù),無法共享利用,因此存在大量冗余數(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ù)之間的對應(yīng)關(guān)系2023/2/5數(shù)據(jù)庫技術(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)一管理。對于一個(gè)特定的應(yīng)用,數(shù)據(jù)被集中組織存放在多個(gè)數(shù)據(jù)文件(以后簡稱為文件)或文件組中,并針對該文件組來開發(fā)特定的應(yīng)用程序。利用“按文件名訪問,按記錄進(jìn)行存取”的管理技術(shù),可以對文件進(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ù)之間的對應(yīng)關(guān)系2023/2/5數(shù)據(jù)庫技術(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)的(語義的)。整體上還是無結(jié)構(gòu)的,即多個(gè)文件之間是相互獨(dú)立的,無法建立全局的結(jié)構(gòu)化數(shù)據(jù)管理模式。程序和數(shù)據(jù)之間由文件系統(tǒng)提供的存取方法進(jìn)行轉(zhuǎn)換,程序員可以不必過多地考慮物理細(xì)節(jié)。由于數(shù)據(jù)在存儲上的改變不一定反映在程序上,因此應(yīng)用程序與數(shù)據(jù)之間有了一定的物理獨(dú)立性。

姓名性別學(xué)號出生日期所學(xué)專業(yè)家庭住址聯(lián)系電話學(xué)生文件Student的記錄結(jié)構(gòu)課程號課程名稱教材名稱學(xué)時(shí)學(xué)分課程文件Course的記錄結(jié)構(gòu)CS005數(shù)據(jù)庫原理數(shù)據(jù)庫概論644CS012操作系統(tǒng)操作系統(tǒng)原理805…………………………2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的弊端數(shù)據(jù)共享性差,數(shù)據(jù)冗余和不一致數(shù)據(jù)冗余是指相同的數(shù)據(jù)在不同的地方(文件)重復(fù)存儲文件系統(tǒng)中的一個(gè)(或一組)文件基本上對應(yīng)于一個(gè)應(yīng)用程序,不同應(yīng)用程序之間很難共享相同數(shù)據(jù)如何有效地提高不同應(yīng)用共享數(shù)據(jù)的能力成為急需解決的問題數(shù)據(jù)獨(dú)立性差文件系統(tǒng)中的文件組是為某一特定應(yīng)用服務(wù)的,其邏輯結(jié)構(gòu)對于該特定應(yīng)用程序來說是優(yōu)化的,但系統(tǒng)也不易擴(kuò)充數(shù)據(jù)與應(yīng)用程序之間缺乏邏輯獨(dú)立性如何有效地提高數(shù)據(jù)與應(yīng)用程序之間的獨(dú)立性成為急需解決的問題數(shù)據(jù)孤立,數(shù)據(jù)獲取困難對于數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系,文件系統(tǒng)仍缺乏有效的管理手段如何有效地管理數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系成為急需解決的問題2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的弊端完整性問題數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性,也稱為一致性約束例如,一個(gè)學(xué)生需要選修某門課程,該學(xué)生必須已經(jīng)修過了該課程規(guī)定的先修課程時(shí)才能選修(因?yàn)檎n程之間存在先修后修關(guān)系);必須在該教學(xué)班尚未選滿時(shí)才能選修(因?yàn)榻淌胰萘坑邢?;必須在時(shí)間上與其它已經(jīng)選修的課程不沖突時(shí)才能選修

如何有效地表達(dá)和實(shí)現(xiàn)一致性約束成為急需解決的問題安全性問題

一個(gè)系統(tǒng)可能有很多用戶,不同用戶可能只允許其訪問一部分?jǐn)?shù)據(jù),即該用戶只有一部分?jǐn)?shù)據(jù)的訪問權(quán)限

如何有效地保障數(shù)據(jù)的安全性就成為急需解決的問題2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展文件系統(tǒng)的弊端原子性問題計(jì)算機(jī)系統(tǒng)有時(shí)會(huì)發(fā)生故障,一旦故障發(fā)生并被檢測到,數(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é)生選課操作的原子性要求如何有效地保障操作的原子性就成為急需解決的問題并發(fā)訪問異常

系統(tǒng)應(yīng)該允許多個(gè)用戶同時(shí)訪問數(shù)據(jù),在這樣的環(huán)境中由于并發(fā)更新操作相互影響,可能會(huì)導(dǎo)致數(shù)據(jù)的不一致如何有效地控制并發(fā)操作的正確性就成為急需解決的問題2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫管理系統(tǒng)階段20世紀(jì)60年代后期以來數(shù)據(jù)管理對象的規(guī)模越來越大,應(yīng)用范圍越來越廣,多種應(yīng)用共享數(shù)據(jù)的要求越來越強(qiáng)烈數(shù)據(jù)庫管理系統(tǒng)(DBMS)是由一個(gè)相互關(guān)聯(lián)的數(shù)據(jù)的集合和一組用以訪問、管理和控制這些數(shù)據(jù)的程序組成這個(gè)數(shù)據(jù)集合通常稱為數(shù)據(jù)庫(database,DB),其中包含了關(guān)于某個(gè)企業(yè)信息系統(tǒng)的所有信息DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它提供一個(gè)可以方便且高效地存取、管理和控制數(shù)據(jù)庫信息的環(huán)境DBMS和操作系統(tǒng)一樣,都是計(jì)算機(jī)的基礎(chǔ)軟件(系統(tǒng)軟件),也是一個(gè)大型復(fù)雜的軟件系統(tǒng)2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)的目的是為了有效地管理大量的數(shù)據(jù),既涉及到數(shù)據(jù)存儲結(jié)構(gòu)的定義,又涉及到數(shù)據(jù)操作機(jī)制的提供解決文件處理系統(tǒng)中存在的問題:數(shù)據(jù)共享性差(數(shù)據(jù)冗余和不一致)數(shù)據(jù)獨(dú)立性差數(shù)據(jù)孤立和數(shù)據(jù)獲取困難完整性問題原子性問題并發(fā)訪問異常安全性問題2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化。數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的整體結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫管理系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別一是指數(shù)據(jù)不僅僅是內(nèi)部結(jié)構(gòu)化,而是將數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系統(tǒng)一管理起來,使之結(jié)構(gòu)化。

圖1-3學(xué)生、課程、學(xué)生成績文件結(jié)構(gòu)姓名性別學(xué)號出生日期所學(xué)專業(yè)家庭住址聯(lián)系電話學(xué)生文件Student的記錄結(jié)構(gòu)課程號課程名稱教材名稱學(xué)時(shí)學(xué)分課程文件Course的記錄結(jié)構(gòu)學(xué)號課程號學(xué)期成績學(xué)生成績文件Score的記錄結(jié)構(gòu)2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展二是指在數(shù)據(jù)庫中的數(shù)據(jù)不是僅僅針對某一個(gè)應(yīng)用,而是面向全組織的所有應(yīng)用。例如,一個(gè)學(xué)校的信息系統(tǒng)中不僅要考慮教務(wù)處的學(xué)生成績管理,還要考慮學(xué)生處的學(xué)籍注冊管理、學(xué)生獎(jiǎng)懲管理、學(xué)生家庭成員管理,以及財(cái)務(wù)處的學(xué)生繳費(fèi)管理;同時(shí)還要考慮研究生院的研究生管理、科研處的科研管理、人事處的教職工人事管理和工資管理等。因此,學(xué)校信息系統(tǒng)中的學(xué)生數(shù)據(jù)要面向全校各個(gè)職能管理部門和院系的應(yīng)用,而不僅僅是教務(wù)處的一個(gè)學(xué)生成績管理應(yīng)用。

圖1-4某校信息管理系統(tǒng)中的學(xué)生數(shù)據(jù)姓名性別學(xué)號出生日期所學(xué)專業(yè)…學(xué)生基本情況課程號課程名稱…課程學(xué)號課程號學(xué)期成績學(xué)生成績?nèi)掌趯W(xué)號管理員學(xué)生學(xué)籍注冊日期學(xué)號獎(jiǎng)懲條目學(xué)生獎(jiǎng)懲序號學(xué)號與本人關(guān)系學(xué)生家庭成員成員姓名詳細(xì)情況日期學(xué)號管理員學(xué)生繳費(fèi)金額2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)的共享度高,冗余度底,易擴(kuò)充數(shù)據(jù)庫管理系統(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ù)的說明(即數(shù)據(jù)的組織結(jié)構(gòu)與存儲方式)分離這樣,應(yīng)用程序只需要考慮如何使用數(shù)據(jù),而無須關(guān)心數(shù)據(jù)庫中的數(shù)據(jù)是如何構(gòu)造和存儲的因而,各方(在一定范圍內(nèi))的變更互不影響

2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立是指數(shù)據(jù)的使用與數(shù)據(jù)的說明分離應(yīng)用程序只需考慮如何使用數(shù)據(jù),不必關(guān)心數(shù)據(jù)是如何構(gòu)造和存儲的因而,各方(在一定范圍內(nèi))的變更互不影響

數(shù)據(jù)獨(dú)立性用來描述應(yīng)用程序與數(shù)據(jù)結(jié)構(gòu)之間的依賴程度,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性,依賴程度越低則獨(dú)立性越高物理獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫中數(shù)據(jù)的物理結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)在磁盤上如何組織和存儲由DBMS負(fù)責(zé),應(yīng)用程序只關(guān)心數(shù)據(jù)的邏輯結(jié)構(gòu);當(dāng)數(shù)據(jù)的物理存儲結(jié)構(gòu)改變時(shí),應(yīng)用程序不用修改邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫中數(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)用程序也可以不用修改2023/2/5數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展數(shù)據(jù)庫管理系統(tǒng)的主要特點(diǎn)數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)(DBMS)統(tǒng)一管理和控制

數(shù)據(jù)的安全性保護(hù):保護(hù)數(shù)據(jù)以防止不合法的使用造成數(shù)據(jù)的泄密和破壞數(shù)據(jù)的完整性檢查:將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系并發(fā)控制:對多個(gè)用戶或應(yīng)用同時(shí)訪問同一個(gè)數(shù)據(jù)的并發(fā)操作加以控制和協(xié)調(diào),確保得到正確的修改結(jié)果或數(shù)據(jù)庫的完整性不遭到破壞數(shù)據(jù)庫恢復(fù):當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生硬件或軟件故障時(shí),需要將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已經(jīng)正確狀態(tài)

應(yīng)用程序或用戶1應(yīng)用程序或用戶2應(yīng)用程序或用戶n…數(shù)據(jù)庫圖1-5數(shù)據(jù)庫管理系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)2023/2/5數(shù)據(jù)庫應(yīng)用圖書館管理用于存儲圖書館的館藏資料(圖書、期刊等)、讀者(教師、學(xué)生等)信息,以及圖書和期刊的借閱、歸還記錄等,方便讀者查找資料,方便管理人員辦理圖書和期刊的借閱、歸還和催還等手續(xù),提高圖書館管理水平書店管理用于存儲員工、客戶信息以及圖書采購、庫存、銷售記錄等,提高圖書的采購、庫存和銷售管理水平,方便書店的賬務(wù)處理

教學(xué)管理用于存儲各專業(yè)教學(xué)計(jì)劃、教師和學(xué)生信息、教室信息、教材信息、教師開課以及學(xué)生選課記錄等,提高排課、選課、成績管理、畢業(yè)管理效率科研管理用于存儲教師信息、科研成果記錄等,方便科研成果的考核、檢索和統(tǒng)計(jì)工作2023/2/5數(shù)據(jù)庫應(yīng)用銀行管理用于存儲客戶信息、存款賬戶和貸款賬戶記錄以及銀行之間的轉(zhuǎn)賬交易記錄等,提高存款、貸款管理水平,加速資金流轉(zhuǎn)和銀行結(jié)算售票管理用于存儲客戶信息和客運(yùn)飛機(jī)、火車、汽車班次等信息,以及訂票、改簽和退票記錄等,提高交通客運(yùn)管理水平,方便客戶訂票

電信管理用于存儲客戶信息、通話記錄等,自動(dòng)結(jié)算話費(fèi),維護(hù)預(yù)付電話卡的余額,產(chǎn)生每月賬單,提高電信管理水平證券管理用于存儲客戶信息以及股票、債券等金融票據(jù)的持有、出售和買入信息,也可以存儲實(shí)時(shí)的市場交易數(shù)據(jù),以便客戶能夠進(jìn)行聯(lián)機(jī)交易,公司能夠進(jìn)行自動(dòng)交易和結(jié)算2023/2/5數(shù)據(jù)庫應(yīng)用銷售管理用于存儲客戶、商品信息以及銷售記錄,以便能夠?qū)崟r(shí)的訂單跟蹤、銷售結(jié)算、庫存管理和商品推薦制造業(yè)管理

用于存儲客戶信息、生產(chǎn)工藝信息,以及采購、生產(chǎn)、入庫、出庫記錄等,實(shí)現(xiàn)供應(yīng)鏈管理,跟蹤工廠的產(chǎn)品生產(chǎn)情況,實(shí)現(xiàn)零部件、半成品、產(chǎn)成品的庫存管理等固定資產(chǎn)管理用于存儲客戶信息、部門信息和員工信息,固定資產(chǎn)的采購記錄、領(lǐng)用記錄和報(bào)廢記錄等,自動(dòng)計(jì)提固定資產(chǎn)折舊,提供各種固定資產(chǎn)報(bào)表人力資源管理用于存儲部門信息、員工信息,以及出勤記錄、計(jì)件記錄等,自動(dòng)計(jì)算員工的工資、所得稅和津貼,產(chǎn)生工資單2023/2/5目錄數(shù)據(jù)庫系統(tǒng)1.4數(shù)據(jù)庫系統(tǒng)的作用1.1數(shù)據(jù)模型1.2數(shù)據(jù)抽象與數(shù)據(jù)庫三級模式1.32023/2/5數(shù)據(jù)模型的分類數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)是數(shù)據(jù)模型(datamodel)數(shù)據(jù)模型是一個(gè)描述數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)約束的數(shù)學(xué)形式體系(即概念及其符號表示系統(tǒng))數(shù)據(jù)結(jié)構(gòu)用于刻畫數(shù)據(jù)、數(shù)據(jù)語義以及數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)約束是對數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作的一致性、完整性約束,亦稱為數(shù)據(jù)完整性約束

通過數(shù)據(jù)模型可以對現(xiàn)實(shí)世界的數(shù)據(jù)特征進(jìn)行抽象

根據(jù)數(shù)據(jù)抽象的不同級別,將數(shù)據(jù)模型劃分為3類:概念模型:概念層次的數(shù)據(jù)模型,也稱為信息模型邏輯模型:用于描述數(shù)據(jù)庫數(shù)據(jù)的整體邏輯結(jié)構(gòu)

物理模型:用來描述數(shù)據(jù)的物理存儲結(jié)構(gòu)和存取方法

2023/2/5數(shù)據(jù)模型的分類概念模型按用戶的觀點(diǎn)或認(rèn)識對現(xiàn)實(shí)世界的數(shù)據(jù)和信息進(jìn)行建模主要用于數(shù)據(jù)庫設(shè)計(jì)——強(qiáng)調(diào)語義表達(dá)功能

常用的概念模型有實(shí)體-聯(lián)系模型(E-R模型)和面向?qū)ο竽P?OO模型)E-R模型基于對現(xiàn)實(shí)世界的如下認(rèn)識:現(xiàn)實(shí)世界是由一組稱作實(shí)體的基本對象以及這些對象間的聯(lián)系構(gòu)成實(shí)體是現(xiàn)實(shí)世界中可區(qū)別于其他對象的一件“事情”或一個(gè)“物體”如,一個(gè)學(xué)生、一個(gè)部門、一個(gè)教室、一種商品、一本書、一門課程,以及一次選課、采購、銷售、存款業(yè)務(wù)(記錄)等都是實(shí)體OO模型是用面向?qū)ο笥^點(diǎn)來描述現(xiàn)實(shí)世界實(shí)體(對象)的邏輯組織、對象間限制和聯(lián)系等的模型對象是由一組數(shù)據(jù)結(jié)構(gòu)和在這組數(shù)據(jù)結(jié)構(gòu)上操作的程序代碼封裝起來的基本單位2023/2/5數(shù)據(jù)模型的分類邏輯模型是用戶通過數(shù)據(jù)庫管理系統(tǒng)看到的現(xiàn)實(shí)世界,是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(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模型對象關(guān)系模型(objectrelationalmodel)2023/2/5數(shù)據(jù)模型的分類物理模型物理層是數(shù)據(jù)抽象的最低層例如,一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)和索引是存放在不同的數(shù)據(jù)段上還是相同的數(shù)據(jù)段上;數(shù)據(jù)的物理記錄格式是變長的還是定長的;數(shù)據(jù)是否壓縮存儲;索引結(jié)構(gòu)是B+樹還是Hash結(jié)構(gòu)等物理模型的具體實(shí)現(xiàn)是DBMS的任務(wù),數(shù)據(jù)庫設(shè)計(jì)人員要了解和選擇物理模型,一般用戶則不必考慮物理層細(xì)節(jié)適用對象從現(xiàn)實(shí)世界到概念模型的轉(zhuǎn)換是由數(shù)據(jù)庫設(shè)計(jì)人員完成從概念模型到邏輯模型的轉(zhuǎn)換可以由數(shù)據(jù)庫設(shè)計(jì)人員完成,也可以用數(shù)據(jù)庫設(shè)計(jì)工具協(xié)助設(shè)計(jì)人員完成從邏輯模型到物理模型的轉(zhuǎn)換一般由DBMS來完成

概念模型信息世界圖1-6現(xiàn)實(shí)世界中客觀對象的抽象過程現(xiàn)實(shí)世界認(rèn)識抽象DBMS支持的邏輯模型DBMS支持的物理模型邏輯機(jī)器世界物理機(jī)器世界2023/2/5數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型是一個(gè)描述數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)完整性約束的數(shù)學(xué)形式體系(即概念及其符號表示系統(tǒng))這些概念及其符號表示系統(tǒng)精確地描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性規(guī)則數(shù)據(jù)模型的組成要素有:數(shù)據(jù)結(jié)構(gòu):描述數(shù)據(jù)庫的組成對象以及對象之間的聯(lián)系

數(shù)據(jù)操作:指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許執(zhí)行的操作集合,包括操作及有關(guān)的操作規(guī)則數(shù)據(jù)完整性約束:一組數(shù)據(jù)完整性規(guī)則,是數(shù)據(jù)、數(shù)據(jù)語義和數(shù)據(jù)聯(lián)系所具有的制約和依存規(guī)則,包括數(shù)據(jù)結(jié)構(gòu)完整性規(guī)則和數(shù)據(jù)操作完整性規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)庫中數(shù)據(jù)的正確、有效和相容2023/2/5層次模型典型代表是1968年IBM公司推出的第一個(gè)大型商用數(shù)據(jù)庫管理系統(tǒng)——IMS(informationmanagementsystem)層次模型用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系。實(shí)體用記錄來表示,實(shí)體間的聯(lián)系用鏈接(可看作指針)來表示滿足如下兩個(gè)條件的基本層次聯(lián)系的集合為層次模型:有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(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)系是父子之間的一對多的聯(lián)系每個(gè)記錄型由若干個(gè)字段組成,記錄型描述的是實(shí)體,字段描述的是實(shí)體的屬性。每個(gè)記錄型可以定義一個(gè)排序字段,也稱為碼字段,如果所定義的排序字段的值唯一,則它也可以用來唯一標(biāo)識一個(gè)記錄值

圖1-7一個(gè)簡單的教學(xué)管理系統(tǒng)的層次數(shù)據(jù)模型職工號姓名研究方向Employee班級號年級專業(yè)Class系編號系名辦公地點(diǎn)Department學(xué)號姓名性別Student出生日期2023/2/5層次模型

圖1-8一個(gè)簡單的教學(xué)管理系統(tǒng)的實(shí)例值E0501萬家樂數(shù)據(jù)庫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王國方數(shù)據(jù)結(jié)構(gòu)C032008電子商務(wù)D08信息系信息大樓E0805張長工編譯原理E0809李小紅運(yùn)籌學(xué)C042009信息系統(tǒng)S090404劉月高女06/12/92S090412王永民男09/25/91S090428英達(dá)成女02/18/92S080325萬元戶男11/26/90S080348李興女05/21/912023/2/5層次模型層次模型的主要優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)比較簡單清晰查詢效率高提供了良好的數(shù)據(jù)完整性支持層次模型的主要缺點(diǎn):現(xiàn)實(shí)世界中很多聯(lián)系是非層次的(如多對多聯(lián)系),層次模型在表示這類聯(lián)系時(shí),解決的辦法:一是通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性),二是創(chuàng)建非自然的數(shù)據(jù)結(jié)構(gòu)(引入虛擬結(jié)點(diǎn))。對插入和刪除操作的限制比較多,因此應(yīng)用程序的編寫比較復(fù)雜查詢孩子結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化2023/2/5網(wǎng)狀模型典型代表是DBTG系統(tǒng),亦稱為CODASYL系統(tǒng),它是20世紀(jì)70年代由數(shù)據(jù)系統(tǒng)語言研究會(huì)(conferenceondatasystemlanguage,CODASYL)下屬的數(shù)據(jù)庫任務(wù)組(databasetaskgroup,DBTG)提出的一個(gè)系統(tǒng)方案滿足如下兩個(gè)條件的基本層次聯(lián)系的集合稱為網(wǎng)狀模型允許一個(gè)以上的結(jié)點(diǎn)無雙親一個(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í)世界2023/2/5網(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ù)庫的結(jié)構(gòu)會(huì)變得越來越復(fù)雜,不利于最終用戶掌握操作語言比較復(fù)雜

2023/2/5關(guān)系模型1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫管理系統(tǒng)的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,為數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ)。由于E.F.Codd的杰出工作,他于1981年獲得ACM圖靈獎(jiǎng)20世紀(jì)80年代以來,計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型,數(shù)據(jù)庫領(lǐng)域當(dāng)前的研究工作也都是以關(guān)系方法為基礎(chǔ)本書的重點(diǎn)也主要是講授關(guān)系數(shù)據(jù)庫

2023/2/5關(guān)系模型關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型中的常用術(shù)語:

關(guān)系(relation):一個(gè)關(guān)系對應(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é)號,它可以唯一地標(biāo)識一個(gè)學(xué)生;域(domain):屬性的取值范圍;分量(component):元組中的一個(gè)屬性值;2023/2/5關(guān)系模型關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型中的常用術(shù)語:

外碼(foreignkey):表中的某個(gè)屬性或?qū)傩越M,用來描述本關(guān)系中的元組(實(shí)體)與另一關(guān)系中的元組(實(shí)體)之間的聯(lián)系外碼的取值范圍對應(yīng)于另一個(gè)關(guān)系的碼的取值范圍的子集如關(guān)系Score中的學(xué)號,它描述了關(guān)系Score與關(guān)系Student的聯(lián)系(即哪個(gè)學(xué)生選修了課程),因此學(xué)號是關(guān)系Score的外碼同理,課程號也是關(guān)系Score的外碼,它描述了關(guān)系Score與關(guān)系Course的聯(lián)系(即哪門課程被學(xué)生選修了)關(guān)系模式(relationalschema):通過關(guān)系名和屬性名列表對關(guān)系進(jìn)行描述,即二維表的表頭部分(表格的描述部分)關(guān)系模式的一般形式:關(guān)系名(屬性名1,屬性名2,…,屬性名n)2023/2/5關(guān)系模型關(guān)系Student、Course和Score可分別描述為:Student(學(xué)號,姓名,性別,出生日期,所學(xué)專業(yè))Course(課程號,課程名稱,學(xué)時(shí),學(xué)分)Score(學(xué)號,課程號,學(xué)期,成績)說明:帶下劃線的屬性為碼屬性,斜體的屬性為外碼屬性

關(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é)號 姓名 性別出生日期 所學(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)系課程號 課程名稱 學(xué)時(shí) 學(xué)分

CS005 數(shù)據(jù)庫系統(tǒng)概論 64 4 CS012 操作系統(tǒng) 80 5 CP001 基礎(chǔ)會(huì)計(jì) 48 3 …

Score關(guān)系學(xué)號

課程號

學(xué)期 成績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…

…2023/2/5關(guān)系模型關(guān)系數(shù)據(jù)模型的操作關(guān)系數(shù)據(jù)模型的操作主要包括查詢和更新(插入、刪除和修改)關(guān)系:元組的集合,關(guān)系模型的數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系(元組的集合)——不同于傳統(tǒng)的非關(guān)系模型的數(shù)據(jù)操作:單記錄操作關(guān)系模型:存取路徑是透明的,用戶只要指出“干什么”或“找什么”,不必說明“怎么干”或“怎么找”,從而大大地提高了數(shù)據(jù)的獨(dú)立性,提高了軟件的開發(fā)和維護(hù)效率關(guān)系數(shù)據(jù)模型的完整性約束實(shí)體完整性、參照完整性和用戶自定義完整性

2023/2/5關(guān)系模型關(guān)系數(shù)據(jù)模型的優(yōu)點(diǎn):嚴(yán)格的數(shù)學(xué)基礎(chǔ):有關(guān)系代數(shù)作為語言模型,有關(guān)系數(shù)據(jù)理論作為理論基礎(chǔ)概念單一:無論實(shí)體還是實(shí)體之間的聯(lián)系都是用關(guān)系來表示,對數(shù)據(jù)(關(guān)系)的操作(查詢和更新)結(jié)果還是關(guān)系。所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用存取路徑透明:具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,簡化了程序員的工作,提高了軟件的開發(fā)和維護(hù)效率關(guān)系數(shù)據(jù)模型的缺點(diǎn):由于存取路徑對用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型為了提高性能,DBMS必須對用戶的查詢請求進(jìn)行查詢優(yōu)化,這樣就增加了DBMS的開發(fā)難度2023/2/5

圖1-8一個(gè)簡單的教學(xué)管理系統(tǒng)的實(shí)例值E0501萬家樂數(shù)據(jù)庫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萬元戶男11/26/90S080348李興女05/21/91ClassStudent

S090404劉月高女06/12/92S090412王永民男09/25/91S090428英達(dá)成女02/18/92Student???????√√2023/2/5學(xué)生關(guān)系StudentS080125李小勇男11/26/90S080148黃小紅女05/21/91D05C01D05C01S090204王紅敏女06/12/92S090212劉宏昊男09/25/91S090228李立女02/18/92D05C02D05C02D05C02S080325萬元戶男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é)號姓名性別出生日期所在系班級?????????√??????D05C01???????????????2023/2/5面向?qū)ο竽P鸵悦嫦驅(qū)ο髷?shù)據(jù)模型為核心的面向?qū)ο髷?shù)據(jù)庫的主要特征:對象。面向?qū)ο髷?shù)據(jù)模型將客觀世界模擬成由各個(gè)相互作用的稱為對象的單元組成的復(fù)雜系統(tǒng)。對象的定義包括狀態(tài)和行為兩方面,狀態(tài)由一組屬性值組成,行為由一組方法組成對象類。具有相同屬性和方法的對象組成對象類,對象只屬于某一個(gè)類并作為該類的實(shí)例繼承。定義子類時(shí)可以直接繼承超類的屬性和方法,在此基礎(chǔ)上定義不同于超類的屬性和方法,這稱為子類對超類的繼承(inheritance)持久性和對象標(biāo)識。在大多數(shù)程序設(shè)計(jì)語言中,對象是臨時(shí)的;但在面向?qū)ο髷?shù)據(jù)庫中,對象在被刪除前是永久存在的。一個(gè)對象的對象標(biāo)識在系統(tǒng)中是唯一的,在整個(gè)生存期內(nèi)是不變的阻抗失配。數(shù)據(jù)庫查詢語言是由系統(tǒng)自選查詢路徑的非過程化語言。非過程化語言面向集合的操作方式與高級程序設(shè)計(jì)語言面向記錄的操作方式之間會(huì)產(chǎn)生不協(xié)調(diào)現(xiàn)象,稱為阻抗失配。阻抗失配的根本原因在于數(shù)據(jù)庫的數(shù)據(jù)模型與程序設(shè)計(jì)語言的不一致,因而對所有嵌入式數(shù)據(jù)庫查詢語言來說,阻抗失配是不可避免的2023/2/5面向?qū)ο竽P兔嫦驅(qū)ο竽P偷幕靖拍睿簲?shù)據(jù)建模的基本原語是對象(object)和文字(literal),每個(gè)對象有一個(gè)唯一的標(biāo)識符,文字沒有標(biāo)識符對象和文字都可以劃分為類型(type),同一類型的對象或文字具有相同的行為和狀態(tài),對象可以稱為類型的實(shí)例通過一組性質(zhì)(property)來定義對象的狀態(tài),性質(zhì)可以分為兩種:對象的屬性和對象之間的聯(lián)系通過一組操作(operation)來定義對象的行為,操作都具有輸入和輸出參數(shù),并且可以返回特定類型的結(jié)果利用ODL(objectdefinitionlanguage)定義對象數(shù)據(jù)庫管理系統(tǒng)的模式。面向?qū)ο髷?shù)據(jù)庫中存儲的對象都是模式中定義的類型的實(shí)例,即對象,這些對象可以供多個(gè)用戶和應(yīng)用共享2023/2/5XML模型XML(可擴(kuò)展標(biāo)記語言)是SGML(標(biāo)準(zhǔn)通用標(biāo)記語言)的子集,目標(biāo)是允許普通的SGML在Web上以目前HTML(超文本標(biāo)記語言)的方式被服務(wù)、接收和處理。XML被設(shè)計(jì)成易于實(shí)現(xiàn),且可在SGML和HTML之間互操作XML的基本概念:元素:由一對標(biāo)記(即起始標(biāo)記和終止標(biāo)記)串行化而成,起始標(biāo)記的形式是<標(biāo)記名>,終止標(biāo)記的形式是</標(biāo)記名>,元素的后裔則位于起始標(biāo)記和終止標(biāo)記之間。典型地組成了XML文檔中的大部分內(nèi)容屬性:用來給元素提供所顯示內(nèi)容的額外信息DTD:通過具體說明每一個(gè)元素和屬性的名稱、元素與子元素之間的嵌套關(guān)系、子元素的出現(xiàn)次數(shù)等來定義XML文檔的結(jié)構(gòu)模型2023/2/5XML模型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…titlechildrenE3T1idauthorKailyJone“104”childrenchildrenattributeE4E5A2T2namearticlechildrenE1圖1-12一個(gè)查詢數(shù)據(jù)模型實(shí)例2023/2/5目錄數(shù)據(jù)庫系統(tǒng)1.4數(shù)據(jù)庫系統(tǒng)的作用1.1數(shù)據(jù)模型1.2數(shù)據(jù)抽象與數(shù)據(jù)庫三級模式1.32023/2/5數(shù)據(jù)抽象DBMS:隱藏關(guān)于數(shù)據(jù)存儲和維護(hù)的某些細(xì)節(jié),為用戶提供數(shù)據(jù)在不同層次上的視圖,即數(shù)據(jù)抽象,方便不同的使用者可以從不同的角度去觀察和利用數(shù)據(jù)庫中的數(shù)據(jù)物理層抽象最低層次的抽象,描述數(shù)據(jù)實(shí)際上是怎樣存儲的邏輯層抽象描述數(shù)據(jù)庫中存儲什么數(shù)據(jù)以及這些數(shù)據(jù)之間存在什么關(guān)系提供給數(shù)據(jù)庫管理員和數(shù)據(jù)庫應(yīng)用開發(fā)人員使用的,他們必須明確知道數(shù)據(jù)庫中應(yīng)該保存哪些信息

視圖層抽象最高層次的抽象,只描述整個(gè)數(shù)據(jù)庫的某個(gè)部分系統(tǒng)可以為同一數(shù)據(jù)庫提供多個(gè)視圖,每一個(gè)視圖對應(yīng)一個(gè)具體的應(yīng)用,亦稱為應(yīng)用視圖

2023/2/5數(shù)據(jù)庫的三級模式根據(jù)數(shù)據(jù)抽象的3個(gè)不同級別,DBMS也應(yīng)該提供觀察數(shù)據(jù)庫的3個(gè)不同角度,以方便不同的用戶使用數(shù)據(jù)庫的需要。這就是數(shù)據(jù)庫的三級模式結(jié)構(gòu)

模式也稱為邏輯模式,對應(yīng)于邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式的一個(gè)具體值稱為模式的一個(gè)實(shí)例(instance)它是DBMS模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、所使用的應(yīng)用開發(fā)工具及高級程序設(shè)計(jì)語言無關(guān)2023/2/5數(shù)據(jù)庫的三級模式外模式也稱子模式或用戶模式,對應(yīng)于視圖層數(shù)據(jù)抽象是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一具體應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示外模式是保證數(shù)據(jù)庫安全性的一個(gè)有力措施,每個(gè)用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的內(nèi)模式也稱存儲模式,對應(yīng)于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式

圖1-13數(shù)據(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ù)庫2023/2/5數(shù)據(jù)庫的三級模式數(shù)據(jù)庫的兩層映像功能與數(shù)據(jù)獨(dú)立性外模式/模式映像對應(yīng)于一個(gè)模式可以有多個(gè)外模式。對于每一個(gè)外模式,數(shù)據(jù)庫管理系統(tǒng)都有一個(gè)模式/外模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系在各自的外模式描述中定義外模式/模式映像保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨(dú)立性,簡稱為數(shù)據(jù)的邏輯獨(dú)立性

模式/內(nèi)模式映像數(shù)據(jù)庫中只有一個(gè)模式,也只有一個(gè)內(nèi)模式,模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系在模式描述中定義模式/內(nèi)模式映像保證了數(shù)據(jù)與應(yīng)用程序的物理獨(dú)立性,簡稱為數(shù)據(jù)的物理獨(dú)立性

圖1-13數(shù)據(jù)庫的三級模式結(jié)構(gòu)應(yīng)用A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論