




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章數據模型湖南師范大學數學與計算機學院劉先鋒2/6/202312/6/20232第二章數據模型[學習目的與要求]
深刻理解數據模型的內涵、數據庫的三層模式結構與數據獨立性的關系,理解數據從現實世界到計算機數據庫中要經過三個范疇(現實世界、信息世界和機器世界),了解什么是實體屬性,弄清楚實體和屬性的“型”與“值”的概念,弄懂實體間可能存在的不同聯系方式,掌握用E-R圖表示實體間聯系的方式。2.1數據描述2.2概念數據模型與E-R方法2.3傳統的三大數據模型2.4數據獨立與三層結構2.5數據庫管理系統
2/6/202332.1.1數據的三種范疇
數據不是直接從現實世界到計算機數據庫中,它需要人們的認識、理解、整理、規范和加工,然后才能存放到數據庫中。也就是說數據從現實生活進入到數據庫實際上經歷了若干個階段。一般劃分三個階段,即現實世界、信息世界和機器世界,稱為數據的三種范疇。1.現實世界
現實世界也叫客觀世界。存在于人們頭腦之外的客觀事物及其相互聯系就處在這個世界之中。2.信息世界(也叫觀念世界)信息世界又稱觀念世界,是現實世界在人們頭腦中的反映;在進行現實世界管理時,客觀事物必然在人們的頭腦中產生反映,把這種反映稱為信息。比如在日常的庫存管理中,首先涉及的是倉庫、貨物的存放以及貨物的進出庫等,這種管理稱為現實世界管理。2/6/20234下面給出在信息世界中所涉及到的基本概念:(1)實體(Entity)實體是客觀存在的事物在人們頭腦中的反映,或者說,客觀存在并可相互區別的客觀事物或抽象事件稱為實體。實體可以指人,如一名教師、一名護士等;也可以指物,如一把椅子、倉庫、一個杯子等。實體不僅可以指實際的事物,還可以指抽象的事物,如一次訪問、一次郊游、訂貨、演出、足球賽等;甚至還可以指事物與事物之間的聯系,如“學生選課記錄”和“教師任課記錄”等。(2)屬性(Attribute)在觀念世界中,屬性是一個很重要的概念。所謂屬性是指實體所具有的某一方面的特性。一個實體可由若干個屬性來刻畫。例如,教師的屬性有姓名、年齡、性別、職稱等。屬性所取的具體值稱作屬性值。例如,某一教師的姓名為李輝,這是教師屬性“姓名”的取值;該教師的年齡為45,這是教師屬性“年齡”的取值,等等。2/6/20235(3)域(Domain)一個屬性可能取的所有屬性值的范圍稱為該屬性的域。例如,教師屬性“性別”的域為男、女;教師屬性“職稱”的域為助教、講師、副教授、教授等。
由此可見,每個屬性都是個變量,屬性值就是變量所取的值,而域則是變量的變化范圍。因此,屬性是表征實體的最基本的信息。
(4)碼(Key)惟一標識實體的屬性集稱為碼。例如學號是學生實體的碼;姓名+出生年月等等(5)實體型(EntityType)具有相同屬性的實體必然具有共同的特性和性質。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,教師(姓名,年齡,性別,職稱)就是一個實體型。(6)實體集(EntitySet)同一類型實體的集合。例如,某一學校中的教師具有相同的屬性,他們就構成了實體集“教師”。在信息世界中,一般就用上述這些概念來描述各種客觀事物及其相互的區別與聯系。2/6/202363.機器世界(也叫數據世界)
當信息管理進入計算機后,就把它稱為機器世界范疇或存儲世界范疇。機器世界也稱數據世界。由于計算機只能處理數據化的信息,所以對信息世界中的信息必須進行數據化。信息經過加工、編碼后即進入數據世界,利用計算機來處理它們。因此,數據世界中的對象是數據。現實世界中的客觀事物及其聯系在數據世界中是用數據模型來描述的。數據化后的信息稱為數據,所以說數據是信息的符號表示。與觀念世界中的基本概念對應,在數據世界中也涉及到一些相關的基本概念:(1)數據項(字段)(field)。對應于觀念世界中的屬性。例如,實體型“教師”中的各個屬性中,姓名、性別、年齡、職稱等就是數據項。(2)記錄(record)。每個實體所對應的數據。例如,對應某一教師的各項屬性值為:李輝、45、男、副教授等就是一個記錄。(3)記錄型(recordtype)。對應于觀念世界中的實體型。(4)文件(file)。對應于觀念世界中的實體集。(5)關鍵字(key)。能夠惟一標識一個記錄的字段集。2/6/20237
在數據世界中,就是通過上述這些概念來描述客觀事物及其聯系的。上述信息是為了更好地處理信息,計算機所處理的信息形式是數據。因此,為了用計算機來處理信息,首先必須將現實世界中的客觀事物轉換為觀念世界,然后將這些信息數據化。
現實世界
信息世界(觀念世界)
機器世界(數據世界)2/6/202382.1.2實體間的聯系
在現實世界中,事物內部以及事物之間是有聯系的,這些聯系在信息世界中反映為實體(型)內部的聯系和實體(型)之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系。實體之間的聯系通常是指不同實體集之間的聯系。一對一聯系(1:1)
如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1:1.圖2-11:1聯系實體型A實體型B聯系名112/6/20239
例如,實體集學院與實體集院長之間的聯系就是1:1的聯系。因為一個院長只領導一個學院,而且一個學院也只有一個院長。再如學校里,實體集班級與實體集班長之間的也具有1:1聯系,一個班級只有一個班長,而一個班長只在一個班中任職。一對多聯系(1:n)
如果對于實體集A中的每一個實體,實體集B中有n個(n≧0)實體與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多有一個實體與之聯系,則稱實體集A與實體集B具有一對多聯系,記為1:n,實體型B實體型A聯系名1n圖2-21:n聯系2/6/202310例如,實體集班級與實體集學生就是一對多聯系。因為一個班級中有若干名學生,而每個學生只在一個班級中學習。多對多聯系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個(n≧0)實體與之聯系。反之,對于實體集B中的每一個實體,實體集A中也有m(m≧0)之聯系,則稱實體集A與實體集B具有多對多聯系,記為m:n,實體型B實體型A聯系名nm圖2-3m:n聯系例如,實體集課程與實體集學生之間的聯系是多對多聯系(m:n)。因為一個課程同時有若干名學生選修,而一個學生可以同時選修多門課程。2/6/202311
實體型之間的這種一對一、一對多、多對多聯系不僅存在于兩個實體型之間,也存在于兩個以上的實體型之間。例如,對于課程、教師與參考書三個實體型,如果一門課程可以有若干個教師講授,使用若干本參考書,而每一個教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯系是一對多的,1課程講授參考書教員mnm零件項目供應商供應np圖2-4三個實體型之間的聯系(a)(b)
又如,三個實體型:供應商、項目、零件,一個供應商可以供給多個項目多種零件,而每個項目可以使用多個供應商供應的零件,每種零件可由不同供應商供給,由此可見,供應商、項目、零件三個實體之間是多對多的聯系,2/6/202312
同一個實體集內的各實體之間也存在一對一、一對多、多對多的聯系。例如職工實體集內部具有領導與被領導的聯系,即某一職工(干部)“領導”若干名職工,而一個職工僅被另外一個職工直接領導,因此這是同一實體集一對多的聯系.n職工領導1一個實體型之間的一對多聯系
描述信息是為了更好地處理信息,計算機所處理的信息形式是數據。因此,為了用計算機來處理信息,首先必須將現實世界中的客觀事物轉換為信息世界,然后將這些信息數據化。2/6/2023132.2概念數據模型與E-R方法(EntityRelation)2.2.1數據模型概述
為了用計算機處理現實世界中的具體事物,人們必須事先對具體事物加以抽象,提取主要特征,歸納形成一個簡單清晰的輪廓,轉換成計算機能夠處理的數據,這就是“數據建模”。通俗地講數據模型就是現實世界的模型。表示實體類型及實體之間聯系的模型稱為“數據模型”(DataModel)。
數據模型應滿足三方面要求:一是能比較真實地模擬現實世界;二是容易為人所理解;三是便于在計算機上實現。在數據庫系統中針對不同的使用對象和應用目的,采用不同的數據模型。根據模型的應用的不同目的,可以將這些模型劃分為兩類,它們分屬于不同的層次。第一類模型是概念數據模型,也稱信息模型,它是按用戶的觀點來對數據和信息建模,主要用于數據庫設計。另一類模型是基本數據模型,主要包括網狀模型、層次模型、關系模型等,它是按計算機系統的觀點數據建模,主要用于DBMS的實現。2/6/202314現實世界認識抽象信息世界概念模型機器世界DBMS支持的數據模型
現實世界中客觀對象的抽象過程過程說明:首先把現實世界中的客觀對象抽象為某種信息結構,這種信息結構并不依賴于具體的計算機系統,不是某一個DBMS支持的數據模型,而是概念級的模型;然后再把概念模型轉換為計算機上某一DBMS支持的數據模型,2/6/202315數據模型的三要素1.數據結構數據結構是所研究的對象類型的集合。這些對象是數據庫的組成部分,它們包括兩類,一類是與數據類型、內容、性質有關的對象,例如網狀模型中的數據項、記錄,關系模型中的域、屬性、關系等;一類是與數據之間聯系有關的對象,例如網狀模型中的系型(SetType)。數據結構用于描述系統的靜態特性。2.數據操作數據操作是指對數據庫中各種對象(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則。數據庫主要有檢索和修改(包括插入、刪除、更新)兩大類操作。數據模型必須定義這些操作的確切含義、操作符號、操作規則(如優先級)以及實現操作的語言。數據操作用于描述系統的動態特征。3.數據完整性約束數據完整性約束是一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和儲存規則,用以限制符合數據模型的數據庫狀態以及狀態的變化,用以確保數據的正確、有效和相容。2/6/202316數據模型之概念數據模型
概念數據模型,有時也簡稱概念模型。概念數據模型是按用戶的觀點對現實世界數據建模,是一種獨立于任何計算機系統的模型,完全不涉及信息在計算機系統中的表示,也不依賴于具體的數據庫管理系統。只是用來描述某個特定組織所關心的信息結構。它是對現實世界的第一層抽象,是用戶和數據庫設計人員之間交流的工具。
概念數據模型是理解數據庫的基礎,也是設計數據庫的基礎。1.概念數據模型的基本概念概念數據模型所涉及的主要基本概念有:實體(Entity)、屬性(Attribute)、域(Domain)、碼(Key)、實體型(EntityType)和實體集(EntitySet)。2.概念數據模型中的基本關系實體間一對一、一對多和多對多三類基本聯系是概念數據模型的基礎.
實體之間的聯系類型并不取決于實體本身,而是取決于現實世界的管理方法,或者說取決于語義,即同樣兩個實體,如果有不同的語義,則可以得到不同的聯系類型。
P24實例2/6/202317
概念數據模型的E-R表示方法E-R圖提供了表示實體型、屬性和聯系的方法:實體型:用矩形表示,矩形框內寫明實體名。
屬性:用橢圓表示,橢圓形框內寫明屬性名,并用無向邊將其與相應的實體連接起來。例如,學生實體具有學號、姓名、性別、年齡、系等屬性,產品實體具有產品號、產品名、型號、主要性能等屬性。學生學號姓名性別年齡系
實體及屬性產品產品號型號產品名主要性能2/6/202318聯系:用菱形表示,菱形框內寫聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標注聯系的類型(1:1,1:n或m:n)。聯系也可以有自己的屬性,需要注意的是,如果一個聯系具有屬性,則這些屬性也要用無向邊與該聯系連接起來。產品使用材料數量mn聯系及屬性課程學生選修成績mn2/6/202319數據模型之傳統的三大數據模型
目前常用的數據模型有三種:層次模型、網狀模型和關系模型。其中層次模型和網狀模型統稱為非關系模型。
用樹型結構來表示實體之間聯系的模型稱為層次模型。構成層次模型的樹是由結點和連線組成的,結點表示實體集(文件或記錄型),連線表示相連兩個實體之間的聯系,這種聯系只能是一對多的。通常把表示“一”的實體放在上方,稱為父結點;而把表示“多”的實體放在下方,稱為子結點。根據樹結構的特點,建立數據的層次模型需要滿足下列兩個條件:(1)有且僅有一個結點沒有父結點,這個結點即為樹根結點。(2)其他數據記錄有且僅有一個父結點。
現實世界中許多實體之間的聯系本身就呈現一種很自然的層次關系。例如,一個學院下屬有若干個系、處和研究所:每個系下屬有若干個教研室和辦公室;每個處下層有若干個科室,每個研究所下屬有若干個教研室和辦公室;等等。這樣一個學校的行政機構就明顯地有層次關系,1.層次模型2/6/202320層次模型的一個基本的特點是,任何一個給定的記錄值只有按其路徑查看時,才能現出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。層次模型最明顯的特點是層次清楚、構造簡單以及易于實現,它可以很方便地表示出一對一和一對多這兩種實體之間的聯系。層次模型的主要優點有:(1)層次數據模型本身比較簡單。(2)對于實體間聯系是固定的,且預先定義好的應用系統,采用層次模型來實現,其性能優于關系模型,不低于網狀模型。
(3)層次數據模型提供了良好的完整性支持。層次模型的主要缺點有:(1)現實世界中很多聯系是非層次性的,如多對多聯系、一個結點具有多個雙親等,層次模型表示這類聯系的方法很笨掘,只能通過引入冗余數據(易產生不一致性)或創建非自然組織(引入虛結點)來解決。(2)對插入和刪除操作的限制比較多。(3)查詢子結點必須通過雙親結點。(4)由于結構嚴密,層次命令趨于程序化。用層次模型設計出來的數據庫稱為層次數據庫.層次模型主要用于表示一對一、一對多的關系。2/6/2023212.網狀模型網狀模型和層次模型在本質上是一樣的,從邏輯上看它們都是用連線表示實體之間的聯系,用結點表示實體集;從物理上看,層次模型和網絡模型都是用指針來實現兩個文件之間的聯系,其差別僅在于網狀模型中的連線或指針更加復雜,更加縱橫交錯,從而使數據結構更復雜。在數據庫中,把滿足以下兩個條件的基本層次聯系集合稱為網狀模型:(1)允許一個以上的結點無雙親;(2)一個結點可以有多于一個的雙親。網狀模型是一種比層次模型更具普遍性的結構,它去掉了層次模型的兩個限制,允許多個結點沒有雙親結點,允許結點有多個雙親結點,此外它還允許兩個結點之間有多種聯系(稱之為復合聯系)。由于網狀模型所描述的數據之間的關系要比層次模型復雜得多,在層次模型中子結點與雙親結點的聯系是唯一的,而在網狀模型中這種聯系可以不唯一。因此,為了描述網狀模型的記錄之間的聯系,引進了“系(set)”概念。所謂“系”可以理解為命名了的聯系,它由一個父記錄型和一個或多個子記錄型構成。每一種聯系都用“系”來表示,并將其標以不同的名稱,以便相互區別.
2/6/202322
用網狀模型設計出來的數據庫稱為網狀數據庫。網狀數據庫是目前應用較為廣泛的一種數據庫,它不僅具有層次模型數據庫的一些特點而且也能方便地描述較為復雜的數據關系。可以看出,網狀模型是層次模型的一般形式,層次模型則是網狀模型的特殊情況。網狀模型可以直接表示實體之間多對多的聯系。網狀數據模型的優點主要有:·能夠更為直接地描述現實世界,如一個結點可以有多個雙親。·具有良好的性能,存取效率較高。網狀數據模型的缺點主要有:·結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于用戶最終掌握。·其DDL,DML語言復雜,用戶不容易使用。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人的呼吸與運動系統解析
- 新生兒高流量吸氧的護理
- 重型顱腦外傷的急救與護理
- 2025年廣東汕頭高三二模地理試題答案詳解講評課件
- 夏日衛生防病課件
- 腰麻病人護理查房
- Unit2-單元知識圖譜課件
- 糖尿病足的觀察要點及護理措施
- 工業互聯網平臺網絡流量整形技術在金融領域的應用報告2025
- 社區護理水環境與健康
- 面向非結構化文本的事件關系抽取關鍵技術剖析與實踐
- 《國別和區域研究專題》教學大綱
- 2025年日歷表含農歷(2025年12個月日歷-每月一張A4可打印)
- 《ESC血壓升高和高血壓管理2024指南》解讀
- 學科競賽在提升學生團隊協作能力中的作用
- 《公共管理學基礎》題庫及答案
- 基本藥物工作計劃
- 2025年行政執法人員執法資格考試必考題庫及答案(共232題)
- 2025手術室年度工作計劃
- 《兒童文學》課件-圖畫書的概念
- 2025屆高三語文專題復習:文言文閱讀-實詞的五種類型
評論
0/150
提交評論