(數據庫原理)第2章 數據庫系統結構_第1頁
(數據庫原理)第2章 數據庫系統結構_第2頁
(數據庫原理)第2章 數據庫系統結構_第3頁
(數據庫原理)第2章 數據庫系統結構_第4頁
(數據庫原理)第2章 數據庫系統結構_第5頁
已閱讀5頁,還剩52頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第2章 數據庫系統結構數據庫系統結構 數據庫系統結構是全書的基礎,只有掌握了這些基礎知識,才能更好地學好數據庫原理及其應用的具體內容。 本章首先介紹在概念設計和邏輯設計中描述數據的專業術語及其含義,然后敘述數據庫的各種數據模型,最后說明了數據庫系統的三級模式、二級映像功能與數據獨立性。本章目錄2.12.1數據模型數據模型2.22.2數據庫系統結構數據庫系統結構本章小結本章小結習習 題題1.數據描述概念設計中的數據描述邏輯設計中的數據描述物理存儲中的數據描述概念設計中的數據描述(1)實體(Entity):客觀存在、可以互相區別的事物稱為實體。例一名學生、一間教室、一輛汽車等。(2)實體集(Ent

2、ity Set):性質相同的同類實體的集合,稱為實體集。所有學生、所有汽車等。(3)屬性(Attribute):實體有很多特性,每一個特性稱為一個屬性。例如學生的學號、姓名、年齡、成績等都是學生的屬性。(4)實體標識符(Identifier):能唯一標識實體的屬性或屬性集,稱為實體標識符,有時也稱為關鍵碼(Key),學生中的學號可以作為學生實體的標識符。邏輯設計中的數據描述(1)字段(Field):標記實體屬性的命名單位稱為字段,或數據項。與概念設計中數據描述中的屬性相當。(2)記錄(Record):字段的有序集合稱為記錄。與概念設計中數據描述中的實體相當。(3)文件(File):同一類記錄的

3、集合稱為文件。與概念設計中數據描述中的實體集相當。(4)關鍵碼(key):能惟一標識文件中每個記錄的字段或字段集,稱為記錄的關鍵碼(簡稱為鍵)。概念設計與邏輯設計術語間的對應關系實體 記錄屬性 字段(數據項)實體集 文件實體標識符 關鍵碼數據描述有兩種形式(1)物理描述:物理數據描述指數據在存儲設備上的存儲方式的描述,物理數據是實際存放在存儲設備上的數據。(2)邏輯描述:邏輯數據描述指程序員或用戶用以操作的數據形式的描述,是抽象的概念化數據。 數據管理軟件的功能之一是把物理數據和邏輯數據相互轉化。數據模型定義(1) 數據庫系統中的數據模型是對現實世界數據的抽象,能表示實體類型及實體間聯系的模型

4、稱為“數據模型”(Data Model)。 數據模型的種類很多,目前被廣泛使用的分為兩種類型: (1) 概念模型 (2) 邏輯模型數據模型定義(2)一種是獨立于計算機系統的數據模型,完全不涉及信息在計算機中的表示,是用來描述某個特定組織所關心的信息結構,這類模型稱為“概念數據模型”。概念模型是按用戶的觀點對數據建模,強調其語義表達能力,概念應該簡單、清晰、易于用戶理解,它是對現實世界的第一層抽象,是用戶和設計人員之間進行交流的工具。這一類模型中最著名的是“實體聯系模型”。數據模型定義(3) 另一種數據模型是直接面向數據庫的邏輯結構,它是對現實世界的第二層抽象,這類模型直接與DBMS有關,稱為“

5、邏輯數據模型”,也稱為“結構數據模型”。這類模型有嚴格的定義,以便于在計算機中實現。它通常有一組嚴格定義的無二義性的語法和語義的數據庫語言,人們可以用這種語言來定義、操縱數據庫中的數據。2.組成結構數據模型的三要素 結構數據模型描述了數據庫系統中的三個方面:。 因此該數據模型一般由三要素組成,是嚴格定義的一組概念的集合。 (1)數據結構 數據結構用于描述系統的靜態特性,是所研究的對象類型的集合。結構數據模型按其數據結構分為層次模型、網狀模型、關系模型和面向對象模型。 它們研究的對象是數據庫的組成部分,包括兩類:一類是與數據類型、內容、性質有關的對象,例如網狀模型中的數據項、記錄,關系模型中屬性

6、、實體等;另一類是與數據之間的聯系有關的對象,例如網狀模型中的聯系類型、關系模型中反映聯系的關系等。(2)數據操作。 數據操作用于描述系統的動態特性,是指對數據庫中各種對象及對象的實例允許執行操作的集合,包括對象的創建、增加、插入、修改和刪除;對對象實例的檢索與更新等。結構數據模型必須定義這些操作的確切含義、操作符號、操作規則(如定義優先級)以及實現操作的語言等。(3)數據的完整性約束(1) 數據的完整性約束條件是一組完整性約束規則的集合。完整性約束規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。 數據模型

7、應該反映和規定本數據模型必須遵守的基本通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件(在后面會作進一步介紹)。(3)數據的完整性約束(2) 結構數據模型的三要素在數據中都是嚴格定義的一組概念的集合。 對關系數據庫來說可以簡單理解為:數據結構是表結構及其它數據庫對象定義的命令集;數據操作是數據庫管理系統提供的各種數據操作的命令集;數據完整性約束是各關系表約束的定義及動態操作約束規則等的集合。 因此結構數據模型的三要素并不抽象,可根據具體的數據庫系統來細細領會。3.實體聯系模型簡述 實體聯系模型中數據聯系 E-R模型的表示方法實體聯系模型中數據聯系 實體聯系

8、模型中最重要的3個概念是實體、屬性和聯系,其中前2個概念已介紹過,這里說明聯系的概念。 聯系(Relationship)是實體之間的相互關系。與一個聯系有關的實體集的個數稱為聯系的元數。 聯系有一元聯系、二元聯系、三元聯系等。我們先研究二元聯系。二元聯系可以分為以下3種 .二元聯系的3種形式實體集實體集A 實體集實體集B 實體集實體集A 實體集實體集B 實體集實體集A 實體集實體集B二元聯系的3種形式說明(1)一對一聯系:如果實體集A中每個實體至多和實體集B中任意一個實體有聯系,反之也一樣,那么實體集A和實體集B的聯系稱為“一對一聯系”,記作“1:1”。例如一個學校的校長與該學校的聯系、一個學

9、生班的班長與該班的聯系等。(2)一對多聯系:如果實體集A中每個實體可以與實體集B中任意個(零個或多個)實體有聯系,而實體集B中每個實體至多和實體集A中的一個實體相聯系,那么實體集A和實體集B的聯系稱為“一對多聯系”,記作“1:N”。 例如一個學校的校長與其職工的聯系、一個學生班的班長與班內學生的聯系等。(3)多對多聯系:如果實體集A中每個實體可以與實體集B中任意個(零個或多個)實體有聯系,反之也一樣,那么實體集A和實體集B的聯系稱為“多對多聯系”,記作“M:N”。例如老師與課程的聯系(一個教師可以講多門課,一門課可以被多個教師講)、藥廠與銷售點的聯系(一個藥廠有多個銷售點,一個銷售點銷售多個廠

10、的藥)等。三個實體之間的聯系 一個實體間的多對多聯系 獲獎 運動員 m n E-R模型的表示方法 (1)矩形框:表示實體類型(表達的對象),矩形框內的內容用名詞表達。 (2)菱形框:表示聯系類型(實體間聯系)。聯系的類型有(1:1、1:n、m:n)三種,菱形框內的內容用動詞來表達。 (3)橢圓形框:表示實體類型或聯系類型的屬性,橢圓內用屬性名表示,如果這個屬性名是關鍵詞,可以在該屬性名下加下劃線。 (4)連線:實體與屬性之間,聯系與屬性之間用直線連接。聯系類型與有關實體類型之間也用直線連接,在直線端部標注聯系的類型。專業和老師兩個實體之間的E-R圖 專業 招收 老師 編號 姓名 性別 年齡 籍

11、貫 成立日期 性質 名稱 編號 m 1 4.結構數據模型 結構數據模型(也稱為邏輯數據模型)常用模型有層次模型、網狀模型、關系模型和面向對象模型4種。面向對象模型還在不斷完善過程中,前面已作過介紹,下面僅介紹前3種模型的一些基本知識。層次模型(Hierarchical Model)的定義和特點 用樹型(層次)結構表示實體類型與實體間聯系的數據模型稱為層次模型。在數據庫中,層次模型要滿足下列2個基本條件: 有且只有一個結點沒有雙親結點,這個結點稱為根結點; 根以外的其它結點有且只有一個雙親結點,即上一層記錄類型和下一層記錄類型之間的聯系為1:N聯系。層次模型結構舉例 學院 系別 教研室 處 學院

12、編制的層次模型數據庫 代號 名稱 辦公地 名稱 辦公地 編號 名稱 辦公地 編號 名稱 辦公室 學院處 系別 教研室 層次模型優缺點 層次模型優點。 模型簡單,對具有一對多的層次關系的部門描述自然、直觀,容易理解。 對于實體的聯系是固定的,其性能較優。 提供了良好的完整性支持。 層次模型缺點。 無法直接表示多對多聯系。 對插入和刪除操作的限制多。 查詢子女結點必須通過雙親結點。 層次命令趨于程序化。 理論上缺少數學推導。 網狀模型 網狀模型的定義和特點。 用有向圖結構表示實體類型及實體間聯系的數據模型稱為網狀模型。在現實世界中,各實體之間的聯系更多的是非層次關系的,用層次模型表示非樹型結構是很

13、不方便的,網狀模型可以解決這一問題。 網狀模型有以下2個特點: 允許一個以上的結點無雙親。 一個結點可以有多于一個的雙親。 簡單的網狀模型 學院 系別 教研室 學生 住處 工程“項目”和“零件”的網狀數據庫模式 S1 S2 項目 零件 P-P 項目號 名稱 經費 編號 零件名 價格 項目號 編號 數量 網狀模型的優缺點 網狀模型的優點。 能更為直接地描述現實世界,如一個結點可以有多個雙親。 具有良好的性能,存取效率較高。 網狀模型的缺點。 結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握。 在理論上缺少嚴密的數學推導。 關系模型(Relational Mo

14、del) 關系模型的主要特征是用二維表格表達實體集。與前兩種模型相比,數據結構簡單,容易為初學者理解。關系模型是由若干個關系模式組成的集合。關系模式相當于前面提到的記錄類型,它的實例稱為關系,每個關系實際上是一張二維表格。關系模型的數據結構舉例 學號 姓名 年 齡 專業 001 劉民 19 計算機 002 程良 18 電子 003 張林 20 自動化 關 系 學生登記表 關系名 屬性名或屬性列 元 組 集合 元組或行 關系模式 主 碼 列中所有可能的值稱為域 某一分量 關系模型要求關系必須是規范化 學生號姓名年齡出生日期年月日2008011208周良英2019801012表中有表不規范關系模型

15、的優缺點 關系模型的優點。 關系模型與前兩個模型不同,所有的規則和運算方法都有數學理論作指導。 數據結構簡單、清晰,用戶易懂易用,使用關系來描述實體與實體間的聯系。 關系模型的存取路徑對用戶是透明的,從而具有更高的數據獨立性,更好的安全保密性,也簡化了程序員的工作和數據庫建立和開發的工作。 關系模型的缺點。 存取路徑對用戶透明導致查詢效率往往不如非關系數據模型。為提高性能,必須對用戶的查詢請求進行優化,增加了開發數據庫管理系統的難度?,F在隨著計算機硬件和軟件的發展,關系數據庫的性能已得到了極大的改善,以上講的缺點已不存在了。2.2 數據庫系統結構 從數據庫管理系統內部系統結構看,數據庫系統通常

16、采用三級模式結構(下面會詳細介紹)。從數據庫外部的體系結構看,數據庫系統的結構分為集中式結構、分布式結構、客戶/服務器和并行結構4種。數據庫外部的體系結構(1)集中式結構。 (2)分布式結構。 (3)客戶機/服務器(Client/Server,簡稱:C/S)式結構。 (4)并行式結構。 1.1.數據庫系統的三級模式結構 數據庫系統的三級模式結構是指外模式、模式和內模式。 1.外模式(External Schema) 外模式也稱子模式(SubSchema)或用戶模式,是三級模式的最外層,它是數據庫用戶能夠看到和使用的局部數據的邏輯結構和特征的描述。 把普通用戶看到和使用的數據庫內容稱為視圖。視圖

17、集也稱為用戶級數據庫,它對應于外模式。外模式通常是模式的子集。一個數據庫可以有多個外模式。同一外模式也可以為某一用戶的多個應用系統所用,但一個應用程序只能使用一個外模式。 2.2.模式(SchemaSchema) 模式又稱概念模式,也稱邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖,是數據視圖的全部。它是數據庫系統模式結構的中間層 。 概念模式實際上是數據庫數據在邏輯級上的視圖。一個數據庫只有一個模式。定義模式時不僅要定義數據的邏輯結構,而且要定義數據之間的聯系、定義與數據有關的安全性、完整性要求。數據庫系統的三級模式結構 3.3.內模式(Internal Sch

18、emaInternal Schema) 內模式也稱為存儲模式,一個數據庫只有一個內模式。它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。 數據庫系統的三級模式結構 三級模式結構外模式用戶視圖模式全局視圖內模式存儲視圖用戶的局部邏輯結構數據庫的整體邏輯結構數據庫的物理結構2.數據庫的二級映象功能與數據獨立性 為了能夠在內部實現這三個抽象層次的聯系和轉換,數據庫管理系統在這三級模式之間提供了兩層映象:外模式/模式映象,模式/內模式映象。 這兩層映象保證了數據庫系統的數據能夠具有較高的邏輯獨立性和物理獨立性。 1.1.外模式/ /模式映象 模式描述的是數據的全局邏輯結構,外模式描述的

19、是數據的局部邏輯結構。對應于同一個模式可以有任意多個外模式,外模式/模式映象,它定義了該外模式與模式之間的對應關系。 當模式改變時,由數據庫管理員對各個外模式/模式映象作相應改變,可以使外模式保持不變。 應用程序是依據數據的外模式編寫的,保證了數據與程序的邏輯獨立性,簡稱為數據邏輯獨立性。2.模式/內模式映象 數據庫中只有一個模式,也只有一個內模式,所以模式/內模式映象是唯一的,它定義了數據庫全局邏輯結構與存儲結構之間的對應關系。當數據庫的存儲結構改變了,由數據庫管理員對模式/內模式映象作相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了數據與程序的物理獨立性,簡稱為數據物理獨立性。

20、 數據庫的二級映象功能與數據獨立性 數據庫的內模式依賴于它的全局邏輯結構,但獨立于數據庫的用戶視圖即外模式,也獨立于具體的存儲設備。 數據庫的外模式面向具體的應用程序,它定義在邏輯模式之上,但獨立于內模式和存儲設備。 數據庫的二級映象保證了數據庫外模式的穩定性,從而根本上保證了應用程序的穩定性,使得數據庫系統具有較高的數據與程序的獨立性。數據庫的三級模式與二級映象使得數據的定義和描述可以從應用程序中分離出去。 數據庫的二級映象功能與數據獨立性 3.數據庫管理系統的工作過程 (1) 數據庫管理系統控制的數據操作過程基于數據庫系統的三級模式結構與二級映象功能,總體操作過程能從其讀或寫一個用戶記錄的

21、過程大體反映出來。 下面就以應用程序從數據庫中讀取一個用戶記錄的過程來說明。 按照步驟解釋運行過程如下: (1)應用程序A向DBMS發出從數據庫中讀用戶數據記錄的命令; (2)DBMS對該命令進行語法檢查、語義檢查,并調用應用程序A對應的子模式,檢查A的存取權限,決定是否執行該命令。如果拒絕執行,則轉(10)向用戶返回錯誤信息數據庫管理系統的工作過程(2) (3)在決定執行該命令后,DBMS調用模式,依據子模式/模式映象的定義,確定應讀入模式中的哪些記錄; (4)DBMS調用內模式,依據模式/內模式映象的定義,決定應從哪個文件、用什么存取方式、讀入哪個或哪些物理記錄; (5)DBMS向操作系統

22、發出執行讀取所需物理記錄的命令; (6)操作系統執行從物理文件中讀數據的有關操作; (7)操作系統將數據從數據庫的存儲區送至系統緩沖區; (8)DBMS依據內模式/模式(模式/內模式映象的反方向看待,并不是另一種新映象,模式/子模式映象也是類似情況)、模式/子模式映象的定義,導出應用程序A所要讀取的記錄格式;數據庫管理系統的工作過程 (3) (9)DBMS將數據記錄從系統緩沖區傳送到應用程序A的用戶工作區; (10)DBMS向應用程序A返回命令執行情況的狀態信息。 至此,DBMS就完成了一次讀用戶數據記錄的過程。DBMS向數據庫寫一個用戶數據記錄的過程經歷的環節類似于讀,只是過程基本是相反而已

23、。由DBMS控制的大量用戶數據的存取操作,可以理解為就是由許許多多這樣的讀或寫的基本過程組合完成的。 數據庫管理系統的工作過程(4) 本章小結(1)1在數據庫的概念設計和邏輯設計中數據描述的名稱是不一樣的,實體對應記錄、屬性對應字段(數據項)、實體集對應于文件、實體標識符對應于關鍵碼。表示實體類型及實體間聯系的模型稱為“數據模型”,數據模型描述了數據庫系統中的三個方面:靜態特性、動態特性和完整性約束條件。因此該數據模型一般由三要素組成,是嚴格定義的一組概念的集合。本章小結(2) 2數據庫的數據模型是由概念模型和邏輯數據模型(或稱結構數據模型)組成,概念模型一般用ER模型(即實體聯系模型)表達,

24、它是由實體、屬性和聯系來表示的,聯系方式有1:1,1:N,M:N三種。邏輯數據模型有層次模型、網狀模型、關系模型和面向對象模型四種,由于面向對象模型還不很成熟,而關系模型具有較強的數學理論基礎、數據結構簡單、清晰、用戶易學易懂、具有很高的數據獨立性、更好的安全保密性等優點,淘汰了層次模型和網狀模型,現在都用關系模型來解決數據庫系統問題。本章小結(3)3數據庫系統的內部結構是由三級模式組成的,外模式是數據庫用戶能夠看到和使用局部數據的邏輯結構和特征的描述,是面向具體的應用程序的;模式是數據庫中全體數據的邏輯結構和特征的描述,是數據的全部。內模式是數據物理結構和存儲方式的描述,是數據在數據庫內部的

25、表示方式。數據庫系統的三級模式之間提供了兩層映像:映像。這兩層映像保證了數據庫系統的數據具有較高的邏輯獨立性和物理獨立性。一、選擇題一、選擇題1( )是對概念設計中數據的描述。)是對概念設計中數據的描述。A記錄記錄 B數據項數據項 C實體實體 D 元組元組2 比較全面的說法,多對多的聯系可以存在于(比較全面的說法,多對多的聯系可以存在于( )中。)中。A一元聯系一元聯系 B二元聯系二元聯系 C三元聯系三元聯系 D都可以都可以3目前(目前( )數據庫模型是當今最為流行的數據庫模型,全世界的商用)數據庫模型是當今最為流行的數據庫模型,全世界的商用數據庫系統幾乎都在使用它。數據庫系統幾乎都在使用它。

26、A關系關系 B面向對象面向對象 C分布分布 D對象對象-關系關系4.在數據庫系統中,人們通常按(在數據庫系統中,人們通常按( )類型來命名數據模型,因為它最)類型來命名數據模型,因為它最能體現出數據型的的基本性質。能體現出數據型的的基本性質。A數據結構數據結構 B數據操縱數據操縱 C完整性約束完整性約束 D數據聯系數據聯系5. ( )把現實世界中的事物抽象為不為某一把現實世界中的事物抽象為不為某一DBMS系統支持的數據模型。系統支持的數據模型。A數據模型數據模型 B概念模型概念模型 C非關系模型非關系模型 D關系模型關系模型6. 當數據庫的存儲結構改變了,由數據庫管理員對當數據庫的存儲結構改變了,由數據庫管理員對( )映象作相應改變,可以使映象作相應改變,可以使模式保持不變,從而保證了數據的物理獨立性。模式保持不變,從而保證了數據的物理獨立性。A.存儲模式存儲模式 B. 外模式外模式/模式模式 C. 用戶模式用戶模式 D. 模式模式/內模式內模式7. 數據庫的三級體系結構即外模式、模式與內模式是對數據庫的三級體系結構即外模式、模式與內模式是對( )的三個抽象級別。的三個抽象級別。A現實世界現實世界 BDBS CDATA DDBMS8. 英文縮寫英文縮寫DBA代表代表( )。A數據庫管理員數據庫管理員 B數據庫管理系統數據庫管理系統C數據定義語言數據定義語言

溫馨提示

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

評論

0/150

提交評論