數(shù)據(jù)庫(kù)第一章緒論._第1頁(yè)
數(shù)據(jù)庫(kù)第一章緒論._第2頁(yè)
數(shù)據(jù)庫(kù)第一章緒論._第3頁(yè)
數(shù)據(jù)庫(kù)第一章緒論._第4頁(yè)
數(shù)據(jù)庫(kù)第一章緒論._第5頁(yè)
已閱讀5頁(yè),還剩95頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1數(shù)據(jù)庫(kù)系統(tǒng)概論數(shù)據(jù)庫(kù)系統(tǒng)概論An Introduction to Database Systems貴州大學(xué)計(jì)算機(jī)科學(xué)與信息學(xué)院貴州大學(xué)計(jì)算機(jī)科學(xué)與信息學(xué)院 馬馬 丹丹2學(xué)習(xí)本課程的目的n通過(guò)本課程學(xué)習(xí),使大家系統(tǒng)地掌握數(shù)據(jù)庫(kù)系統(tǒng)的基本原理和基本技術(shù)。n要求在掌握數(shù)據(jù)庫(kù)系統(tǒng)基本概念的基礎(chǔ)上,能熟練使用SQL語(yǔ)言在某一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)上進(jìn)行數(shù)據(jù)庫(kù)操作;掌握數(shù)據(jù)庫(kù)設(shè)計(jì)方法和步驟,具有設(shè)計(jì)數(shù)據(jù)庫(kù)模式以及開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的基本能力。 3考評(píng)成績(jī)考評(píng)成績(jī)n期末成績(jī)=平時(shí)成績(jī)30% +期末考試成績(jī) 70% :n平時(shí)成績(jī)占30%;(包括上課點(diǎn)名,作業(yè)完成情況,課堂提問(wèn))n期末考試成績(jī)占70%。4數(shù)據(jù)庫(kù)課程

2、設(shè)計(jì)安排59周:n學(xué)習(xí)SQL SERVER數(shù)據(jù)庫(kù)管理系統(tǒng)的一些基本操作。n熟悉一門(mén)數(shù)據(jù)庫(kù)前臺(tái)開(kāi)發(fā)工具,例如:c+ builder, powerbuilder, delphi,VC+,ASP,C#等。n學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)步驟。第10-12周:利用sql server 結(jié)合前臺(tái)開(kāi)發(fā)工具開(kāi)發(fā)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)。課程設(shè)計(jì)要求:分組完成,2人一組。需要演示系統(tǒng),答辯,并給出實(shí)驗(yàn)報(bào)告。5數(shù)據(jù)庫(kù)課程設(shè)計(jì)的考評(píng)成績(jī)考評(píng)成績(jī)n期末成績(jī)=系統(tǒng)演示40% +答辯40% +實(shí)驗(yàn)報(bào)告 20%6兩個(gè)問(wèn)題n數(shù)據(jù)庫(kù)系統(tǒng)=操作系統(tǒng)?n你使用過(guò)或接觸過(guò)哪些數(shù)據(jù)庫(kù)系統(tǒng)?請(qǐng)舉例說(shuō)明。8主要內(nèi)容:n數(shù)據(jù)庫(kù)系統(tǒng)基本概念n數(shù)據(jù)管理的發(fā)展過(guò)程

3、n數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)n常用的數(shù)據(jù)模型n數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)n數(shù)據(jù)庫(kù)系統(tǒng)的組成第一章第一章 緒論緒論9基本概念1、數(shù)據(jù)(Data) 數(shù)據(jù)實(shí)際上就是描述事物的符號(hào)記錄。數(shù)據(jù)的表現(xiàn)形式數(shù)據(jù)的表現(xiàn)形式可用可用多種多種不同的數(shù)據(jù)形式表示同一信息,而信息不同的數(shù)據(jù)形式表示同一信息,而信息不隨數(shù)據(jù)形式的不同而改變。不隨數(shù)據(jù)形式的不同而改變。數(shù)據(jù)的概念在數(shù)據(jù)處理領(lǐng)域中已大大地拓寬了,數(shù)據(jù)的概念在數(shù)據(jù)處理領(lǐng)域中已大大地拓寬了,其表現(xiàn)形式不僅包括其表現(xiàn)形式不僅包括數(shù)字?jǐn)?shù)字和和文字文字,還包括,還包括圖形圖形、圖象圖象、聲音聲音等。這些數(shù)據(jù)可以經(jīng)過(guò)數(shù)字化后存入等。這些數(shù)據(jù)可以經(jīng)過(guò)數(shù)字化后存入計(jì)算機(jī)。計(jì)算機(jī)。102、數(shù)據(jù)庫(kù)(

4、Database,簡(jiǎn)稱DB) 數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的大量可共享的數(shù)據(jù)集合。 它可以供用戶共享,具有盡可能小的冗余度和較高的數(shù)據(jù)獨(dú)立性,使得數(shù)據(jù)存儲(chǔ)最優(yōu),數(shù)據(jù)最容易操作,并且具有完善的自我保護(hù)能力和數(shù)據(jù)恢復(fù)能力。114、數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,簡(jiǎn)稱DBMS)數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。其主要功能:1、數(shù)據(jù)定義功能2、數(shù)據(jù)組織、存儲(chǔ)和管理2、數(shù)據(jù)操縱功能3、數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理4、數(shù)據(jù)庫(kù)的建立和維護(hù)功能125、數(shù)據(jù)庫(kù)系統(tǒng)(Database System,簡(jiǎn)稱DBS)數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后

5、的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成。13數(shù)據(jù)庫(kù)系統(tǒng)在整個(gè)計(jì)算機(jī)系統(tǒng)中的地位如下圖:數(shù)據(jù)庫(kù)系統(tǒng)在整個(gè)計(jì)算機(jī)系統(tǒng)中的地位如下圖:由上圖看出:由上圖看出: DBMS在操作系統(tǒng)(在操作系統(tǒng)(OS)的支持下工作,的支持下工作, 應(yīng)用程序在應(yīng)用程序在DBMS支持下才能使用數(shù)據(jù)庫(kù)。支持下才能使用數(shù)據(jù)庫(kù)。14由右圖看出:由右圖看出: DBMS在操作在操作系統(tǒng)(系統(tǒng)(OS)的的支持下工作。支持下工作。 應(yīng)用系統(tǒng)在應(yīng)用系統(tǒng)在DBMS支持下支持下才能使用數(shù)據(jù)才能使用數(shù)據(jù)庫(kù)。庫(kù)。151.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展n隨著計(jì)算機(jī)硬件和軟件的發(fā)展。數(shù)據(jù)管理經(jīng)歷了人工管

6、理,文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)三個(gè)發(fā)展階段:n人工管理階段n文件系統(tǒng)階段n數(shù)據(jù)庫(kù)階段16一一 人工管理階段人工管理階段n時(shí)間: 50年代中期以前n背景:計(jì)算機(jī)主要用于科學(xué)計(jì)算n硬件:磁帶、卡片、紙帶,沒(méi)有磁盤(pán)n軟件:沒(méi)有操作系統(tǒng),沒(méi)有管理數(shù)據(jù)的軟件。只有匯編語(yǔ)言。17人工管理階段的特點(diǎn)如下:人工管理階段的特點(diǎn)如下:1. 數(shù)據(jù)不保存數(shù)據(jù)不保存因?yàn)楫?dāng)時(shí)計(jì)算機(jī)主要用于科學(xué)計(jì)算,對(duì)于數(shù)據(jù)保存的需求因?yàn)楫?dāng)時(shí)計(jì)算機(jī)主要用于科學(xué)計(jì)算,對(duì)于數(shù)據(jù)保存的需求尚不迫切。尚不迫切。2. 系統(tǒng)沒(méi)有專用的軟件對(duì)數(shù)據(jù)進(jìn)行管理系統(tǒng)沒(méi)有專用的軟件對(duì)數(shù)據(jù)進(jìn)行管理每個(gè)應(yīng)用程序都要包括數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、存取方法、輸入每個(gè)應(yīng)用程序都要包括數(shù)據(jù)

7、的存儲(chǔ)結(jié)構(gòu)、存取方法、輸入方式等,程序員編寫(xiě)應(yīng)用程序時(shí),還要安排數(shù)據(jù)的物理存儲(chǔ),方式等,程序員編寫(xiě)應(yīng)用程序時(shí),還要安排數(shù)據(jù)的物理存儲(chǔ),因此程序員負(fù)擔(dān)很重。因此程序員負(fù)擔(dān)很重。工號(hào):工號(hào):123123;職工姓名:張三;職工姓名:張三;職工電話:職工電話: 62345000 62345000工號(hào):工號(hào):124124;職工姓名:李四;職工姓名:李四;職工電話:職工電話:6754321067543210工號(hào):工號(hào):125125;職工姓名:張三;職工姓名:張三;職工電話:職工電話:6546789065467890職工檔案數(shù)據(jù)應(yīng)用程序13. 數(shù)據(jù)不共享數(shù)據(jù)不共享數(shù)據(jù)是面向程序的,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序。

8、數(shù)據(jù)是面向程序的,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序。多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),也必須各自定義,因此程序之間多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),也必須各自定義,因此程序之間有大量的冗余數(shù)據(jù)。有大量的冗余數(shù)據(jù)。應(yīng)用程序2工號(hào):工號(hào):123123;職工姓名:張三;職工姓名:張三;職工電話:職工電話: 62345000 62345000工號(hào):工號(hào):124124;職工姓名:李四;職工姓名:李四;職工電話:職工電話:6754321067543210工號(hào):工號(hào):125125;職工姓名:張三;職工姓名:張三;職工電話:職工電話:6546789065467890職工檔案數(shù)據(jù)194. 數(shù)據(jù)不具有獨(dú)立性n程序依賴于數(shù)

9、據(jù),如果數(shù)據(jù)的類型、格式、或輸入輸出方式等邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化,必須對(duì)應(yīng)用程序做出相應(yīng)的修改。在人工管理階段,程序與數(shù)據(jù)之間的關(guān)系可用圖表示。 應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2數(shù)據(jù)集3應(yīng)用程序3 圖圖1.1 人工管理階段人工管理階段20二 文件系統(tǒng)階段n時(shí)間:50年代后期到60年代中期n背景:計(jì)算機(jī)不僅用于科學(xué)計(jì)算,而且用于數(shù)據(jù)處理n硬件:磁盤(pán)、磁鼓n軟件:操作系統(tǒng)中已經(jīng)有了專門(mén)的管理數(shù)據(jù)的軟件(即文件系統(tǒng))21n系統(tǒng)提供一定的數(shù)據(jù)管理功能n存取方法(索引文件、鏈接文件、直接存取文件、倒排文件等)n支持對(duì)文件的基本操作(增、刪、改、查等),用戶程序不必考慮物理細(xì)節(jié)n數(shù)據(jù)與程序有了一定

10、的獨(dú)立性n程序和數(shù)據(jù)之間由文件系統(tǒng)提供存取方法進(jìn)行轉(zhuǎn)換,使得程序員可以不必過(guò)多地考慮物理細(xì)節(jié)。22數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)n存取方式程序1程序2程序n23與人工管理階段相比,文件系統(tǒng)階段對(duì)數(shù)據(jù)的管理有了很大的進(jìn)步,但一些根本性問(wèn)題仍沒(méi)有徹底解決,主要表現(xiàn)在以下三方面:1. 數(shù)據(jù)共享性差,冗余度大n各數(shù)據(jù)文件之間沒(méi)有有機(jī)的聯(lián)系,一個(gè)文件基本上對(duì)應(yīng)于一個(gè)應(yīng)用程序,數(shù)據(jù)不能共享。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時(shí),也必須建立各自的文件,而不能共享相同的數(shù)據(jù)。2. 數(shù)據(jù)獨(dú)立性低n數(shù)據(jù)和程序相互依賴,一旦改變數(shù)據(jù)的邏輯結(jié)構(gòu),比如想對(duì)現(xiàn)有的數(shù)據(jù)增加一些新的應(yīng)用,必須修改相應(yīng)的應(yīng)用程序。n而應(yīng)用程序發(fā)生變化,如改

11、用另一種程序設(shè)計(jì)語(yǔ)言來(lái)編寫(xiě)程序,也需修改數(shù)據(jù)結(jié)構(gòu)。243.數(shù)據(jù)一致性差n由于相同數(shù)據(jù)的重復(fù)存儲(chǔ)、各自管理,在進(jìn)行更新操作時(shí),容易造成數(shù)據(jù)的不一致性。 25n文件系統(tǒng)有數(shù)據(jù)冗余、數(shù)據(jù)不一致和數(shù)據(jù)聯(lián)系弱三個(gè)缺點(diǎn)。工號(hào):123;職工姓名:張三;職工電話: 62345000工號(hào):124;職工姓名:李四;職工電話:67543210工號(hào):125;職工姓名:張三;職工電話:65467890工號(hào):123;職工工資:2230元;職工電話:62345000工號(hào):124;職工工資:3500元;職工電話:67543210工號(hào):125;職工工資:2400元;職工電話:65467890職工檔案文件職工工資文件冗余,且可能

12、不一致原因:文件中數(shù)據(jù)沒(méi)有聯(lián)系26三 數(shù)據(jù)庫(kù)階段n時(shí)間:60年代后期 -n背景:數(shù)據(jù)管理規(guī)模更為龐大,應(yīng)用更廣泛,數(shù)據(jù)量劇增,共享要求(多種應(yīng)用、多種語(yǔ)言互相覆蓋地共享數(shù)據(jù)集合)更強(qiáng)n硬件:有了大容量和快速存取磁盤(pán)n指導(dǎo)思想:對(duì)所有的數(shù)據(jù)實(shí)行統(tǒng)一的、集中的、獨(dú)立的管理,使數(shù)據(jù)存儲(chǔ)獨(dú)立于使用數(shù)據(jù)的程序,實(shí)現(xiàn)數(shù)據(jù)共享。27應(yīng)用程序1應(yīng)用程序2. . . .應(yīng)用程序nDBMSDBMS數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)Database Management System數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)圖281.1.3數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)1. 數(shù)據(jù)結(jié)構(gòu)化n按照某種數(shù)據(jù)模型,將全組織的各種數(shù)據(jù)組織到一個(gè)結(jié)構(gòu)化的數(shù)據(jù)庫(kù)中,整

13、個(gè)組織的數(shù)據(jù)不是一盤(pán)散沙,可表示出數(shù)據(jù)之間的有機(jī)關(guān)聯(lián)。292. 數(shù)據(jù)共享性高、冗余少n數(shù)據(jù)面向整個(gè)系統(tǒng),而不是面向某一應(yīng)用,數(shù)據(jù)集中管理,數(shù)據(jù)共享,因此冗余度小n節(jié)省存儲(chǔ)空間,減少存取時(shí)間,且可避免數(shù)據(jù)之間的不相容性和不一致性30每個(gè)應(yīng)用選用數(shù)據(jù)庫(kù)的一個(gè)子集,只要重新選取不同子集或者加上一小部分?jǐn)?shù)據(jù),就可以滿足新的應(yīng)用要求學(xué)號(hào)姓名性別系別年齡住址出身學(xué)位學(xué)分補(bǔ)貼學(xué)籍科房產(chǎn)科人事科勞資科31工號(hào):123;職工姓名:張三;職工電話: 62345000工號(hào):124;職工姓名:李四;職工電話:67543210工號(hào):125;職工姓名:張三;職工電話:65467890工號(hào):123;職工工資:2230元工號(hào)

14、:124;職工工資:3500元工號(hào):125;職工工資:2400元職工檔案文件職工工資文件共享,可避免數(shù)據(jù)之間的不一致性323. 數(shù)據(jù)獨(dú)立性高n數(shù)據(jù)的獨(dú)立性是指邏輯獨(dú)立性和物理獨(dú)立性。n數(shù)據(jù)的邏輯獨(dú)立性是指數(shù)據(jù)的邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說(shuō),數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。n例如,在原有的記錄類型之間增加新的聯(lián)系,或在某些記錄類型中增加新的數(shù)據(jù)項(xiàng),均可確保數(shù)據(jù)的邏輯獨(dú)立性。n數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的,也就是說(shuō),數(shù)據(jù)在磁盤(pán)上的數(shù)據(jù)庫(kù)中怎樣存儲(chǔ)是有DBMS管理的,用戶程序不需要了解

15、,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。n例如,改變存儲(chǔ)設(shè)備和增加新的存儲(chǔ)設(shè)備,或改變數(shù)據(jù)的存儲(chǔ)組織方式,均可確保數(shù)據(jù)的物理獨(dú)立性。334. 有統(tǒng)一的數(shù)據(jù)控制功能n為確保數(shù)據(jù)庫(kù)數(shù)據(jù)的正確有效和數(shù)據(jù)庫(kù)系統(tǒng)的有效運(yùn)行,數(shù)據(jù)庫(kù)管理系統(tǒng)提供下述四方面的數(shù)據(jù)控制功能。34(1)數(shù)據(jù)的安全性(security)控制:防止不合法使用數(shù)據(jù)造成數(shù)據(jù)的泄露和破壞,保證數(shù)據(jù)的安全和機(jī)密;n例如,系統(tǒng)提供口令檢查或其他手段來(lái)驗(yàn)證用戶身份,防止非法用戶使用系統(tǒng);也可以對(duì)數(shù)據(jù)的存取權(quán)限進(jìn)行限制,只有通過(guò)檢查后才能執(zhí)行相應(yīng)的操作。(2)數(shù)據(jù)的完整性(integrity)控制:系統(tǒng)

16、通過(guò)設(shè)置一些完整性規(guī)則以確保數(shù)據(jù)的正確性、有效性和相容性。35n正確性是指數(shù)據(jù)的合法性,如年齡屬于數(shù)值型數(shù)據(jù),只能含0,1,9,不能含字母或特殊符號(hào);n有效性是指數(shù)據(jù)是否在其定義的有效范圍,如月份只能用112之間的正整數(shù)表示;n相容性是指表示同一事實(shí)的兩個(gè)數(shù)據(jù)應(yīng)相同,否則就不相容,如一個(gè)人不能同時(shí)有兩個(gè)年齡。(3)并發(fā)(concurrency)控制:多用戶同時(shí)存取或修改數(shù)據(jù)庫(kù)時(shí),防止相互干擾而提供給用戶不正確的數(shù)據(jù),并使數(shù)據(jù)庫(kù)受到破壞。36(4)數(shù)據(jù)恢復(fù)()數(shù)據(jù)恢復(fù)(recovery):當(dāng)數(shù)據(jù)庫(kù)被破壞當(dāng)數(shù)據(jù)庫(kù)被破壞或數(shù)據(jù)不可靠時(shí),系統(tǒng)有能力將數(shù)據(jù)庫(kù)從錯(cuò)誤或數(shù)據(jù)不可靠時(shí),系統(tǒng)有能力將數(shù)據(jù)庫(kù)從錯(cuò)誤

17、狀態(tài)恢復(fù)到最近某一時(shí)刻的正確狀態(tài)。狀態(tài)恢復(fù)到最近某一時(shí)刻的正確狀態(tài)。371.2 1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.2.11.2.1兩類數(shù)據(jù)模型兩類數(shù)據(jù)模型1. 1. 三個(gè)世界的劃分三個(gè)世界的劃分現(xiàn)實(shí)世界:存在于人們頭腦之外的客觀世界?,F(xiàn)實(shí)世界:存在于人們頭腦之外的客觀世界。信息世界:是現(xiàn)實(shí)世界在人們頭腦中的反映,人們把它用文信息世界:是現(xiàn)實(shí)世界在人們頭腦中的反映,人們把它用文字和符號(hào)記載下來(lái)。字和符號(hào)記載下來(lái)。機(jī)器世界:信息世界的信息在機(jī)器世界以數(shù)據(jù)機(jī)器世界:信息世界的信息在機(jī)器世界以數(shù)據(jù) 形式存儲(chǔ)。形式存儲(chǔ)。38數(shù)據(jù)抽象數(shù)據(jù)抽象現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界概念化形式化用戶計(jì)算機(jī)39n為了把現(xiàn)實(shí)世界中

18、的具體事物抽象、組織為某為了把現(xiàn)實(shí)世界中的具體事物抽象、組織為某一一DBMSDBMS支持的數(shù)據(jù)模型,在實(shí)際的數(shù)據(jù)處理過(guò)支持的數(shù)據(jù)模型,在實(shí)際的數(shù)據(jù)處理過(guò)程中,程中,n首先將現(xiàn)實(shí)世界的事物及聯(lián)系抽象成信息世首先將現(xiàn)實(shí)世界的事物及聯(lián)系抽象成信息世界的界的信息模型信息模型(也稱為(也稱為概念模型概念模型)n然后再抽象成計(jì)算機(jī)世界的然后再抽象成計(jì)算機(jī)世界的數(shù)據(jù)模型數(shù)據(jù)模型。40現(xiàn)實(shí)世界現(xiàn)實(shí)世界信息世界信息世界 概念模型概念模型機(jī)器世界機(jī)器世界DBMS支持的數(shù)據(jù)模型支持的數(shù)據(jù)模型認(rèn)識(shí)抽象認(rèn)識(shí)抽象轉(zhuǎn)換 從現(xiàn)實(shí)世界中從現(xiàn)實(shí)世界中的事物到計(jì)算的事物到計(jì)算機(jī)中的數(shù)據(jù)表機(jī)中的數(shù)據(jù)表示,經(jīng)歷了三示,經(jīng)歷了三個(gè)領(lǐng)域:

19、個(gè)領(lǐng)域:用戶觀點(diǎn)計(jì)算機(jī)系統(tǒng)的觀點(diǎn)41根據(jù)應(yīng)用目的,模型分為兩個(gè)層次:根據(jù)應(yīng)用目的,模型分為兩個(gè)層次:n概念模型概念模型( (信息模型信息模型) ):從用戶觀點(diǎn)來(lái)看,要:從用戶觀點(diǎn)來(lái)看,要求概念簡(jiǎn)單,表達(dá)清晰,易于理解,是對(duì)現(xiàn)求概念簡(jiǎn)單,表達(dá)清晰,易于理解,是對(duì)現(xiàn)實(shí)世界的第一層抽象。實(shí)世界的第一層抽象。n數(shù)據(jù)模型數(shù)據(jù)模型( (網(wǎng)狀、層狀、關(guān)系網(wǎng)狀、層狀、關(guān)系) ):從計(jì)算機(jī)觀:從計(jì)算機(jī)觀點(diǎn)來(lái)看,要求有嚴(yán)格語(yǔ)法和語(yǔ)義的語(yǔ)言對(duì)數(shù)點(diǎn)來(lái)看,要求有嚴(yán)格語(yǔ)法和語(yǔ)義的語(yǔ)言對(duì)數(shù)據(jù)進(jìn)行嚴(yán)格的形式化定義、限制和規(guī)定,以據(jù)進(jìn)行嚴(yán)格的形式化定義、限制和規(guī)定,以便將其轉(zhuǎn)變?yōu)橛?jì)算機(jī)可以理解的格式。便將其轉(zhuǎn)變?yōu)橛?jì)算機(jī)可以理解

20、的格式。421.2.2 數(shù)據(jù)模型的組成要素n數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件三個(gè)要素組成。1. 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu):(最重要最重要)n研究對(duì)象類型的集合n分為兩類:A.與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象B.與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象n數(shù)據(jù)模型的命名一般是由數(shù)據(jù)結(jié)構(gòu)決定的,如網(wǎng)狀、層狀、關(guān)系432. 2. 數(shù)據(jù)操作:數(shù)據(jù)操作:n指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象的實(shí)例允許執(zhí)行的操作的集合,包括操作和相關(guān)的操作規(guī)則n操作分為兩大類:檢索和更新(刪除、插入、更改)44 3. 數(shù)據(jù)的約束條件n數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。n完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定

21、符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。n例如,在學(xué)生數(shù)據(jù)庫(kù)中,學(xué)生的年齡不得超過(guò)40歲。451.2.3 概念模型概念模型一、信息世界中的基本概念一、信息世界中的基本概念在信息世界中,常用的主要概念如下:在信息世界中,常用的主要概念如下:1. 實(shí)體(實(shí)體(Entity)客觀存在并且可以相互區(qū)別的“事物”稱為實(shí)體。實(shí)體可以是可觸及的對(duì)象,如一個(gè)學(xué)生,一本書(shū),一輛汽車;也可以是抽象的概念,如一次選課,一次比賽等。2. 屬性屬性(Attributes)實(shí)體的某一特性稱為屬性。實(shí)體的某一特性稱為屬性。v如學(xué)生實(shí)體有學(xué)號(hào)、姓名、年齡、性別、系等方面的屬性。463. 實(shí)體型(

22、實(shí)體型(Entity Type)n具有相同屬性的實(shí)體必然具有共同的特征和性具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì)。用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同質(zhì)。用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類實(shí)體,稱為實(shí)體型。類實(shí)體,稱為實(shí)體型。n如學(xué)生(學(xué)號(hào),姓名,年齡,性別,系)就是一個(gè)如學(xué)生(學(xué)號(hào),姓名,年齡,性別,系)就是一個(gè)實(shí)體型。實(shí)體型。4. 實(shí)體集實(shí)體集(Entity Set)n同型實(shí)體的集合稱為實(shí)體集。同型實(shí)體的集合稱為實(shí)體集。n如所有的學(xué)生、所有的課程等。如所有的學(xué)生、所有的課程等。47舉例說(shuō)明舉例說(shuō)明實(shí)體實(shí)體、實(shí)體型實(shí)體型以及以及實(shí)體集實(shí)體集的區(qū)別。的區(qū)別。例例1:項(xiàng)目(項(xiàng)目編號(hào),項(xiàng)目

23、名,負(fù)責(zé)人,資金)項(xiàng)目(項(xiàng)目編號(hào),項(xiàng)目名,負(fù)責(zé)人,資金) 001, 輔助診斷系統(tǒng),輔助診斷系統(tǒng), 張三,張三,50萬(wàn)萬(wàn) 002 , 公交定位系統(tǒng),李四,公交定位系統(tǒng),李四,25萬(wàn)萬(wàn) 003, 人事管理系統(tǒng),王五,人事管理系統(tǒng),王五,10萬(wàn)萬(wàn) 實(shí)體型任意一條記錄是一實(shí)體實(shí)體集48學(xué)號(hào)學(xué)號(hào)姓名姓名年齡年齡 性別性別 系系9901 張三 17 男 計(jì)科9902 王五 18 男 化學(xué)9903 李華 18 女 化學(xué)這個(gè)框架表示的就是實(shí)體型每一條記錄表示一個(gè)實(shí)體所有記錄的集合形成一個(gè)實(shí)體集例例2:學(xué)生學(xué)生495. 碼(碼(Key)n能能唯一標(biāo)識(shí)一個(gè)實(shí)體唯一標(biāo)識(shí)一個(gè)實(shí)體的的屬性屬性或或?qū)傩约瘜傩约Q為實(shí)體的

24、碼。稱為實(shí)體的碼。n如學(xué)生的學(xué)號(hào),學(xué)生的姓名可能有重名,不能作為學(xué)如學(xué)生的學(xué)號(hào),學(xué)生的姓名可能有重名,不能作為學(xué)生實(shí)體的碼。生實(shí)體的碼。系系 性別性別 年齡年齡姓名姓名學(xué)號(hào)學(xué)號(hào)9901 張三 17 男 計(jì)科9902 王五 18 男 化學(xué)9903 李華 18 女 化學(xué)學(xué)號(hào)學(xué)號(hào)課程名課程名 成績(jī)成績(jī)9901數(shù)學(xué)889902化學(xué)609902數(shù)學(xué)879903外語(yǔ)60碼:學(xué)號(hào)碼:學(xué)號(hào),課程名506. 域(域(Domain)n屬性值的取值范圍稱為該屬性的域。屬性值的取值范圍稱為該屬性的域。n如如學(xué)號(hào)的域?qū)W號(hào)的域?yàn)闉?位整數(shù),位整數(shù),姓名的域姓名的域?yàn)樽址?,為字符串集合,年齡的域年齡的域?yàn)樾∮跒樾∮?

25、0的整數(shù),的整數(shù),性別的域性別的域?yàn)椋?,女)。為(男,女)?1上次課內(nèi)容回顧n幾個(gè)概念n data, DB,DBMS,DBSn數(shù)據(jù)管理經(jīng)歷的幾個(gè)階段以及各個(gè)階段的特點(diǎn)n兩大獨(dú)立性n數(shù)據(jù)模型的三個(gè)組成部分n概念模型中的幾個(gè)概念:n實(shí)體,屬性,碼,域,實(shí)體型,實(shí)體集527. 聯(lián)系(聯(lián)系(Relationship)n在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系同樣也要抽象和反映到信息世界中來(lái),些聯(lián)系同樣也要抽象和反映到信息世界中來(lái),n在信息世界中將被抽象為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的在信息世界中將被抽象為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。聯(lián)系

26、。n實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;n實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。53兩個(gè)實(shí)體之間的聯(lián)系有如下三種類型:兩個(gè)實(shí)體之間的聯(lián)系有如下三種類型:(1)一對(duì)一聯(lián)系()一對(duì)一聯(lián)系(1:1)n若對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系,記為1:1。n如:班級(jí)與班主任,觀眾與座位,病人與床位。如:班級(jí)與班主任,觀眾與座位,病人與床位。(2)一對(duì)多聯(lián)系()一對(duì)多聯(lián)系(1:n) 若對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中

27、有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,對(duì)于對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有一對(duì)多聯(lián)系,記為1:n。如:班級(jí)與學(xué)生、公司與職員、省與市。如:班級(jí)與學(xué)生、公司與職員、省與市。54因此,用圖形表示1:1,1:n, n:m的聯(lián)系分別為:的聯(lián)系分別為:實(shí)體型實(shí)體型A聯(lián)系名聯(lián)系名實(shí)體型實(shí)體型B11實(shí)體型實(shí)體型A聯(lián)系名聯(lián)系名實(shí)體型實(shí)體型B1n實(shí)體型實(shí)體型A聯(lián)系名聯(lián)系名實(shí)體型實(shí)體型Bmn領(lǐng)導(dǎo)領(lǐng)導(dǎo)系主任系主任系系11包括包括班級(jí)班級(jí)學(xué)生學(xué)生1N選課選課學(xué)生學(xué)生課程課程MN55概念模型的表示方法 -實(shí)體聯(lián)系模型ERn概念模型的表示方法最常用的是實(shí)體-聯(lián)系方法(

28、 (Entity-Relationship Approach)Entity-Relationship Approach),是P.P.S. ChenP.P.S. Chen于19761976年提出的,該方法是用E-RE-R圖來(lái)描述某一組織的概念模型。nE-R方法是抽象和描述現(xiàn)實(shí)世界的有力工具。56(3)多對(duì)多()多對(duì)多(m:n)若對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,對(duì)于對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系,記為m:n。如:教師與學(xué)生如:教師與學(xué)生,學(xué)生與課程,工廠與產(chǎn)品。學(xué)生與課程,工廠與產(chǎn)品。

29、57用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型。E-R圖提供了表示實(shí)體型、屬性和聯(lián)系的方法: n實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名實(shí)體名。 n屬性屬性:用橢圓形表示,并用直線將其與相應(yīng)的實(shí)體連接起來(lái)。 58舉例:實(shí)體型“學(xué)生”具有學(xué)號(hào)、姓名、年齡、性別、系、年級(jí)屬性。請(qǐng)用ER模型表示。學(xué)生學(xué)號(hào)姓名年齡性別系年級(jí)59聯(lián)系:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名聯(lián)系名,并用直 線分別與有關(guān)實(shí)體連接起來(lái)。學(xué)生學(xué)生課程課程選修選修姓名姓名學(xué)號(hào)學(xué)號(hào)系別系別課程名課程名先修課先修課 主講老師主講老師成績(jī)成績(jī)實(shí)體實(shí)體聯(lián)系聯(lián)系屬性屬性mn60有三個(gè)實(shí)體型:供應(yīng)商、項(xiàng)目、零件。一個(gè)供應(yīng)商可以供給多個(gè)項(xiàng)目多個(gè)零件,而每個(gè)項(xiàng)目

30、可以使用多個(gè)供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供給,這三個(gè)實(shí)體型之間是什么關(guān)系?供應(yīng)商項(xiàng)目零件供應(yīng)pmn三個(gè)實(shí)體型之間的多對(duì)多關(guān)系一般地,兩個(gè)以上實(shí)體型之間也存在著一對(duì)一、一對(duì)多和多對(duì)多的聯(lián)系。一般地,兩個(gè)以上實(shí)體型之間也存在著一對(duì)一、一對(duì)多和多對(duì)多的聯(lián)系。61兩個(gè)以上實(shí)體型之間也存在著一對(duì)一、一對(duì)多和多對(duì)多兩個(gè)以上實(shí)體型之間也存在著一對(duì)一、一對(duì)多和多對(duì)多的聯(lián)系。的聯(lián)系。三個(gè)實(shí)體型之間的多對(duì)多聯(lián)系與三個(gè)實(shí)體型兩兩之間多三個(gè)實(shí)體型之間的多對(duì)多聯(lián)系與三個(gè)實(shí)體型兩兩之間多對(duì)多的聯(lián)系有什么區(qū)別?對(duì)多的聯(lián)系有什么區(qū)別?62供應(yīng)商項(xiàng)目零件供應(yīng)pmn供應(yīng)商項(xiàng)目零件供應(yīng)pm生產(chǎn)nq需要rs63職工領(lǐng)導(dǎo)1

31、n同一實(shí)體集內(nèi)同一實(shí)體集內(nèi)一對(duì)多聯(lián)系一對(duì)多聯(lián)系n同一實(shí)體集內(nèi)的各實(shí)體之間可以有1:1,1:n,m:n的聯(lián)系職工實(shí)體集內(nèi)部具有領(lǐng)導(dǎo)和被領(lǐng)導(dǎo)的聯(lián)系64用E-R圖表示某事物概念模型的過(guò)程E-R圖設(shè)計(jì)過(guò)程實(shí)際是對(duì)數(shù)據(jù)進(jìn)行歸納、分析,把企業(yè)的全部用戶按他們對(duì)數(shù)據(jù)和功能需求進(jìn)行分組。然后從局部入手,對(duì)每一類用戶,建立局部E-R模型,再綜合成總體E-R模型n確定實(shí)體型n確定聯(lián)系和聯(lián)系類型n設(shè)計(jì)出由E-R圖表示的模型n確定屬性n將E-R圖優(yōu)化65課程號(hào)課程號(hào)選課選課學(xué)生學(xué)生課程課程MN學(xué)號(hào)學(xué)號(hào)姓名姓名性別性別學(xué)分學(xué)分課程名課程名成績(jī)成績(jī)用用ER模型來(lái)表示學(xué)生選課的概念模型。其模型來(lái)表示學(xué)生選課的概念模型。其中

32、一個(gè)學(xué)生可以選多門(mén)課程,一門(mén)課程可供中一個(gè)學(xué)生可以選多門(mén)課程,一門(mén)課程可供多個(gè)學(xué)生選修。多個(gè)學(xué)生選修。涉及的實(shí)體型有:學(xué)生、課程學(xué)生的屬性有:學(xué)號(hào)、姓名、性別課程的屬性有:課程號(hào)、課程名、學(xué)分聯(lián)系有:選課,學(xué)生與課程之間的聯(lián)系是m:n選課的屬性有:成績(jī)ER模型66舉例:為倉(cāng)庫(kù)管理設(shè)計(jì)一個(gè)舉例:為倉(cāng)庫(kù)管理設(shè)計(jì)一個(gè)E-RE-R模型模型, ,該倉(cāng)庫(kù)主要管理零該倉(cāng)庫(kù)主要管理零件的入庫(kù)、出庫(kù)和采購(gòu)等事項(xiàng)。倉(cāng)庫(kù)根據(jù)需要向外面件的入庫(kù)、出庫(kù)和采購(gòu)等事項(xiàng)。倉(cāng)庫(kù)根據(jù)需要向外面廠家訂購(gòu)零件,而許多工程項(xiàng)目需要倉(cāng)庫(kù)供應(yīng)零件。廠家訂購(gòu)零件,而許多工程項(xiàng)目需要倉(cāng)庫(kù)供應(yīng)零件。實(shí)體有:實(shí)體有:n倉(cāng)庫(kù):屬性有倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)面積

33、、電話號(hào)碼。n零件:屬性有零件號(hào)、名稱、規(guī)格、單價(jià)、描述。n供應(yīng)商:屬性有供應(yīng)商號(hào)、姓名、地址、電話號(hào)、帳號(hào)。n項(xiàng)目:屬性有項(xiàng)目號(hào)、預(yù)算、開(kāi)工日期。n職工:屬性有職工號(hào)、姓名、年齡、職稱。67實(shí)體之間的聯(lián)系如下:實(shí)體之間的聯(lián)系如下:n一個(gè)倉(cāng)庫(kù)可以存放多種零件,一種零件可以存放在多個(gè)倉(cāng)庫(kù)中。某種零件在某個(gè)倉(cāng)庫(kù)中的數(shù)量用庫(kù)存量描述。n一個(gè)倉(cāng)庫(kù)有多個(gè)職工當(dāng)倉(cāng)庫(kù)保管員,一個(gè)職工只能在一個(gè)倉(cāng)庫(kù)工作。n職工之間具有領(lǐng)導(dǎo)被領(lǐng)導(dǎo)的關(guān)系,即倉(cāng)庫(kù)主任領(lǐng)導(dǎo)若干保管員。 n一個(gè)供應(yīng)商可以供給若干項(xiàng)目多種零件,每個(gè)項(xiàng)目可以使用不同供應(yīng)商供給的零件,每種零件可以由不同的供應(yīng)商供給。68供應(yīng)商項(xiàng)目零件供應(yīng)供應(yīng)量庫(kù)存?zhèn)}庫(kù)庫(kù)存

34、量職工領(lǐng)導(dǎo)工作mnpmn1n1n實(shí)體及其聯(lián)系圖在此基礎(chǔ)上需要加上實(shí)體的屬性,此ER圖才完整691.2.4介紹幾種最常用的數(shù)據(jù)模型介紹幾種最常用的數(shù)據(jù)模型n層次模型(Hierarchical Model)n網(wǎng)狀模型(Network Model) n關(guān)系模型(Relational Model) n面向?qū)ο竽P停∣bject Oriented Model)n對(duì)象關(guān)系模型 (Object Relational Model)70關(guān)系模型n關(guān)系模型是發(fā)展較晚的一種模型,n1970年美國(guó)IBM公司的研究員E.F.Codd首次提出了數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)系模型。n他發(fā)表了題為“大型共享數(shù)據(jù)銀行數(shù)據(jù)的關(guān)系模型”(A R

35、elation Model of Data for Large Shared Data Banks),在文中解釋了關(guān)系模型,定義了某些關(guān)系代數(shù)運(yùn)算,研究了數(shù)據(jù)的函數(shù)相關(guān)性,定義了關(guān)系的第三范式,從而開(kāi)創(chuàng)了數(shù)據(jù)庫(kù)的關(guān)系方法和數(shù)據(jù)規(guī)范化理論的研究,n他為此獲得了1981年的圖靈獎(jiǎng)。n此后許多人把研究方向轉(zhuǎn)到關(guān)系方法上,陸續(xù)出現(xiàn)了關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。71n關(guān)系模型有嚴(yán)格的數(shù)學(xué)基礎(chǔ)及在此基礎(chǔ)上發(fā)展起來(lái)的關(guān)系數(shù)據(jù)理論。這里我們只簡(jiǎn)單勾畫(huà)一下關(guān)系模型, 在用戶的觀點(diǎn)下,關(guān)系模型中,數(shù)據(jù)的邏輯結(jié)構(gòu)就是一張二維表二維表。它以行和列組成。下面以一個(gè)學(xué)生登記表為例,介紹關(guān)系模型中的一些術(shù)語(yǔ)。72姓名年齡性別系年級(jí)82

36、021張平18男計(jì)算機(jī)282022王英17女計(jì)算機(jī)182030李強(qiáng)17男物理1主碼整數(shù)字符串1,2,3,4,5域元組關(guān)系關(guān)系名:學(xué)生登記表關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,年齡.)一個(gè)關(guān)系就是一張表表中的一行屬性表中的一列可唯一標(biāo)識(shí)元組的屬性或?qū)傩约瘜傩缘娜≈捣秶?2030分量元組中的一個(gè)屬性值學(xué)號(hào)73(7)關(guān)系模式)關(guān)系模式對(duì)關(guān)系的描述,一般表示為:關(guān)系名(屬性對(duì)關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性屬性2,屬性屬性n),),如:學(xué)生(學(xué)號(hào),姓名,性如:學(xué)生(學(xué)號(hào),姓名,性別,年齡,系別)。別,年齡,系別)。74n1、在關(guān)系模型中,實(shí)體型是用關(guān)系來(lái)表示的,如:n學(xué)生(學(xué)號(hào),姓名,性別,年齡,

37、系別)n課程(課程號(hào),課程名,課時(shí))n實(shí)體型間的聯(lián)系也是用關(guān)系來(lái)表示的,如:n學(xué)生和課程之間的聯(lián)系n選課關(guān)系(學(xué)號(hào),課程號(hào),成績(jī))關(guān)系模型的特點(diǎn):關(guān)系模型的特點(diǎn):選課選課學(xué)生學(xué)生課程課程MN75n2. 關(guān)系必須是規(guī)范化的關(guān)系n指在關(guān)系模型中,每一個(gè)關(guān)系模式要滿足一定的要求或者稱為規(guī)范條件n其最基本的要求是每一個(gè)分量是一個(gè)不可分的數(shù)據(jù)項(xiàng),也就是說(shuō),不允許表中還有表。系系 性別性別 年齡年齡姓名姓名學(xué)號(hào)學(xué)號(hào)9901 張三 17 男 計(jì)科9902 王五 18 男 化學(xué)9903 李華 18 女 化學(xué) 地址地址省省 市市 縣縣762. 關(guān)系模型的數(shù)據(jù)操縱與完整性約束關(guān)系模型的數(shù)據(jù)操縱與完整性約束n數(shù)據(jù)操

38、縱數(shù)據(jù)操縱主要包括查詢、插入、刪除和修改數(shù)據(jù),這些操作必須滿足關(guān)系的完整性約束條件,即實(shí)體完整性、實(shí)體完整性、參照完整性和用戶定義的完整性參照完整性和用戶定義的完整性。有關(guān)完整性的具體含義將在下一章介紹。n關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合;n用戶只要指出“干什么”,而不必詳細(xì)說(shuō)明“怎么干”,從而大大地提高了數(shù)據(jù)的獨(dú)立性,提高了用戶的生產(chǎn)率。77二、關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)在關(guān)系數(shù)據(jù)模型中,實(shí)體型及他們之間的聯(lián)系都用表來(lái)表示。在數(shù)據(jù)庫(kù)的物理組織中,表以文件的形式存儲(chǔ),有的系統(tǒng)一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件,有的系統(tǒng)自己設(shè)計(jì)文件結(jié)構(gòu)。3、關(guān)系模型的優(yōu)缺點(diǎn)n關(guān)系

39、模型的優(yōu)點(diǎn)主要有:(1) 它有較強(qiáng)的數(shù)學(xué)理論根據(jù)。(2) 概念單一,不僅用關(guān)系描述實(shí)體,而且用關(guān)系描述實(shí)體間的聯(lián)系。(3) 關(guān)系模型的存取路徑對(duì)用戶透明,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)建立和開(kāi)發(fā)的工作。n關(guān)系模型的缺點(diǎn)主要有:n由于存取路徑對(duì)用戶透明,查詢效率往往不如非關(guān)系模型,因此,為了提高性能,必須對(duì)用戶的查詢表示進(jìn)行優(yōu)化,增加了開(kāi)發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的負(fù)擔(dān)。 它屬于非關(guān)系模型,在非關(guān)系模型中,實(shí)體用記錄表示,實(shí)體的屬性對(duì)應(yīng)記錄的數(shù)據(jù)項(xiàng)(或字段)。n用樹(shù)結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型叫層次模型n樹(shù)由節(jié)點(diǎn)和連線組成n節(jié)點(diǎn)代表實(shí)體型n連線表示兩實(shí)體型間的一對(duì)多

40、聯(lián)系n樹(shù)的特性n每棵樹(shù)有且僅有一個(gè)節(jié)點(diǎn)無(wú)父節(jié)點(diǎn),稱為樹(shù)的根n樹(shù)中的其它節(jié)點(diǎn)都有且僅有一個(gè)父節(jié)點(diǎn)層次模型80n圖1.9是層次模型有向樹(shù)的示意圖。結(jié)點(diǎn)A為根結(jié)點(diǎn),,F,E為葉結(jié)點(diǎn),B,C為兄結(jié)點(diǎn) 圖1.9 層次模型有向樹(shù)的示意圖 ABCDEF81 網(wǎng)狀模型的特征網(wǎng)狀模型的特征(1)有一個(gè)以上的結(jié)點(diǎn)沒(méi)有雙親;)有一個(gè)以上的結(jié)點(diǎn)沒(méi)有雙親;(2)至少有一個(gè)結(jié)點(diǎn)可以有多于一個(gè)雙親。)至少有一個(gè)結(jié)點(diǎn)可以有多于一個(gè)雙親。 即允許兩個(gè)或兩個(gè)以上的結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),允許某個(gè)結(jié)點(diǎn)即允許兩個(gè)或兩個(gè)以上的結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),允許某個(gè)結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn),則此時(shí)有向樹(shù)變成了有向圖,該有向圖描有多個(gè)雙親結(jié)點(diǎn),則此時(shí)有向樹(shù)變成了

41、有向圖,該有向圖描述了網(wǎng)狀模型。述了網(wǎng)狀模型。 網(wǎng)狀模型中每個(gè)結(jié)點(diǎn)表示一個(gè)記錄型(實(shí)體),每個(gè)記錄型網(wǎng)狀模型中每個(gè)結(jié)點(diǎn)表示一個(gè)記錄型(實(shí)體),每個(gè)記錄型可包含若干個(gè)字段(實(shí)體的屬性),結(jié)點(diǎn)間的連線表示記錄可包含若干個(gè)字段(實(shí)體的屬性),結(jié)點(diǎn)間的連線表示記錄類型(實(shí)體)間的類型(實(shí)體)間的1:n的父子關(guān)系。對(duì)于每個(gè)聯(lián)系都需要命的父子關(guān)系。對(duì)于每個(gè)聯(lián)系都需要命名。名??剖铱剖裔t(yī)生醫(yī)生病房病房病人病人實(shí)體型1 : N聯(lián)系網(wǎng)狀模型(排除樹(shù)結(jié)構(gòu))L1L2L3L4821.31.3數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)在數(shù)據(jù)模型中有“型型”和“值值”的概念。“型型”(Type)和和“值值”(Value)的概念。的概念

42、。n型是指對(duì)某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說(shuō)明,值是型的一個(gè)具體賦值。例如:記錄型學(xué)生(學(xué)號(hào),姓名,系別) 而(9902,張三,計(jì)科)則是該記錄型的一個(gè)記錄值。831、數(shù)據(jù)庫(kù)系統(tǒng)模式的概念、數(shù)據(jù)庫(kù)系統(tǒng)模式的概念模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅僅涉及到型的描述,不涉及到具體的值。模式的一個(gè)具體的值稱為模式的一個(gè)實(shí)例。同一個(gè)模式有很多實(shí)例。 模式是相對(duì)穩(wěn)定的,而實(shí)例是相對(duì)變動(dòng)的。模式反映的是數(shù)據(jù)的結(jié)構(gòu)及聯(lián)系,而實(shí)例反映的是數(shù)據(jù)庫(kù)某一時(shí)刻的狀態(tài)。84n模式的分級(jí)n為了提高數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性,使用戶看到的數(shù)據(jù)庫(kù),與實(shí)際存儲(chǔ)的數(shù)據(jù)庫(kù)區(qū)分開(kāi)來(lái),數(shù)據(jù)庫(kù)系統(tǒng)的模式是分級(jí)的。n數(shù)據(jù)庫(kù)系統(tǒng)三

43、級(jí)模式結(jié)構(gòu)nCODASYL(Conference On Data System Language,美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言協(xié)會(huì))提出模式、外模式、內(nèi)模式三級(jí)模式的概念。這三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別。三級(jí)模式之間有兩級(jí)映象數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)85數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)內(nèi)模式內(nèi)模式模模 式式外模式外模式2 2外模式外模式3 3外模式外模式1 1應(yīng)用應(yīng)用A A應(yīng)用應(yīng)用B B應(yīng)用應(yīng)用C C應(yīng)用應(yīng)用D D應(yīng)用應(yīng)用E E外模式外模式/ /模式映象模式映象模式模式/ /內(nèi)模式映象內(nèi)模式映象數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu)n用戶的數(shù)據(jù)視圖用戶的數(shù)據(jù)視圖n是數(shù)據(jù)的局部邏是數(shù)據(jù)的局部邏輯結(jié)構(gòu),模式的輯結(jié)構(gòu),模

44、式的子集子集n所有用戶的公共數(shù)據(jù)所有用戶的公共數(shù)據(jù)視圖視圖n是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的全局邏輯結(jié)構(gòu)和特性的描述的描述n又稱存儲(chǔ)模式又稱存儲(chǔ)模式n是數(shù)據(jù)的物理結(jié)構(gòu)是數(shù)據(jù)的物理結(jié)構(gòu)及存儲(chǔ)方式及存儲(chǔ)方式861. 1. 模式:(概念模式)模式:(概念模式)n數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶的公共數(shù)據(jù)視圖。是所有用戶的公共數(shù)據(jù)視圖。n它不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,它不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序,與所使用的應(yīng)用開(kāi)發(fā)也與具體的應(yīng)用程序,與所使用的應(yīng)用開(kāi)發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。工具

45、及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。 n一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式n用模式描述語(yǔ)言(模式用模式描述語(yǔ)言(模式DDLDDL)描述數(shù)據(jù)在邏描述數(shù)據(jù)在邏輯上的視圖。輯上的視圖。872. 2. 外模式:外模式:n是數(shù)據(jù)庫(kù)用戶看到的數(shù)據(jù)視圖,即與某一應(yīng)用有關(guān)是數(shù)據(jù)庫(kù)用戶看到的數(shù)據(jù)視圖,即與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。的數(shù)據(jù)的邏輯表示。n一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。n外模式通常是模式的子集,不同用戶的外模式的描外模式通常是模式的子集,不同用戶的外模式的描述可以不同。述可以不同。n不同用戶的外模式可以互相覆蓋,同一外模式可以不同用戶的外模式可以互相覆蓋,同一外模式可以為某

46、一用戶的多個(gè)應(yīng)用所啟用,一個(gè)應(yīng)用程序只能為某一用戶的多個(gè)應(yīng)用所啟用,一個(gè)應(yīng)用程序只能啟用一個(gè)外模式。啟用一個(gè)外模式。n用外模式描述語(yǔ)言用外模式描述語(yǔ)言( (外模式外模式DDL)DDL)描述用戶數(shù)據(jù)視圖。描述用戶數(shù)據(jù)視圖。88S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)S(S#,SNAME,ADDRESS)S(S#,SNAME,ADDRESS)學(xué)籍科學(xué)籍科S(S#,SNAME,CREDIT)S(S#,SNAME,CREDIT)房產(chǎn)科房產(chǎn)科外模式外模式1 1外模式外模式2模式模式

47、893. 3. 內(nèi)模式:內(nèi)模式:n一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。n是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的表示,是對(duì)數(shù)據(jù)是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的表示,是對(duì)數(shù)據(jù)的 物 理 結(jié) 構(gòu) 和 存 儲(chǔ) 方 式 的 描 述 。的 物 理 結(jié) 構(gòu) 和 存 儲(chǔ) 方 式 的 描 述 。例如:記錄是順序存儲(chǔ)還是按照例如:記錄是順序存儲(chǔ)還是按照B B樹(shù)結(jié)構(gòu)存樹(shù)結(jié)構(gòu)存儲(chǔ),或是按照儲(chǔ),或是按照hashhash方法存儲(chǔ),索引的組織方方法存儲(chǔ),索引的組織方式是什么,數(shù)據(jù)是否壓縮、是否加密,數(shù)據(jù)式是什么,數(shù)據(jù)是否壓縮、是否加密,數(shù)據(jù)的存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定等。的存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定等。n用內(nèi)模式描述語(yǔ)言用內(nèi)模式描述語(yǔ)言( (內(nèi)

48、模式內(nèi)模式DDL)DDL)來(lái)描述和定來(lái)描述和定義。義。90n外模式/模式映象n定義某一個(gè)外模式和模式之間的對(duì)應(yīng)關(guān)系,映象定義通常定義某一個(gè)外模式和模式之間的對(duì)應(yīng)關(guān)系,映象定義通常包含在各外模式中包含在各外模式中n當(dāng)模式改變時(shí),修改外模式當(dāng)模式改變時(shí),修改外模式/ /模式映象,使外模式保持不模式映象,使外模式保持不變,從而應(yīng)用程序可以保持不變,稱為數(shù)據(jù)的邏輯獨(dú)立性變,從而應(yīng)用程序可以保持不變,稱為數(shù)據(jù)的邏輯獨(dú)立性n模式/內(nèi)模式映象n定義數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系定義數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系n存儲(chǔ)結(jié)構(gòu)改變時(shí),修改模式存儲(chǔ)結(jié)構(gòu)改變時(shí),修改模式/ /內(nèi)模式映象,使模式保持

49、不內(nèi)模式映象,使模式保持不變,從而應(yīng)用程序可以保持不變,稱為數(shù)據(jù)的物理獨(dú)立性變,從而應(yīng)用程序可以保持不變,稱為數(shù)據(jù)的物理獨(dú)立性兩級(jí)映射:兩級(jí)映射:91不同模式之間的映象不同模式之間的映象n數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)在數(shù)據(jù)的三個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)在數(shù)據(jù)的三個(gè)抽象級(jí)上提供了兩個(gè)層次的映象抽象級(jí)上提供了兩個(gè)層次的映象n內(nèi)模式到模式的映象內(nèi)模式到模式的映象 提供了數(shù)據(jù)的物理獨(dú)提供了數(shù)據(jù)的物理獨(dú)立性。立性。n模式到外模式的映象模式到外模式的映象 提供了數(shù)據(jù)的邏輯獨(dú)提供了數(shù)據(jù)的邏輯獨(dú)立性。立性。n把用戶看到和使用的邏輯數(shù)據(jù)和實(shí)際存儲(chǔ)把用戶看到和使用的邏輯數(shù)據(jù)和實(shí)際存儲(chǔ)的物理數(shù)據(jù)完全分開(kāi)了,使應(yīng)用程序開(kāi)發(fā)的物理數(shù)據(jù)完全分開(kāi)了,使應(yīng)用程序開(kāi)發(fā)時(shí)擺脫了

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論