




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章 數據模型與概念模型一、 信息的三種世界及描述 信息的世界分為現實世界、信息世界、計算機世界。 現實世界:存在于人腦之外的客觀世界。包括各種事物、事物之間的聯系等。是人們認識世界的源頭。 信息世界:現實世界的事物在人腦中的反映與解釋,是客觀事物及其聯系的一種抽象描述。 計算機世界:信息經過數字化處理,轉換成計算機能夠處理的數據集。 信息處理的三個領域:現實世界信息世界計算機世界具體事物信息數據(Data)數據庫(DataBase) 數據庫即是模擬現實世界中某應用環境(一個企業、單位)所涉及的數據的集合。在數據庫中用數據模型來抽象、表示和處理現實世界中的數據。轉化認識、抽象認識和處理的過程
2、:客觀事物及事物間的聯系信息數據反映(抽象)作用、指導數據化信息化構成信息模型信息模型數據模型數據模型現實世界信息世界計算機世界客觀存在規范信息分類組織編碼存儲檢索指導、決策依據反映 為了把現實世界中的具體事物抽象、組織為某一DBMS支持的數據模型,實際的數據處理過程: 首先將現實世界的事物及聯系抽象成信息世界的概念模型(信息模型); 然后再抽象成計算機世界的數據模型(網狀、層次、關系模型); 信息模型信息模型并不依賴于具體的計算機系統,不是某一個DBMS所支持的數據模型,它是計算機內部數據的抽象表示,是概念模型,是以用戶的觀點進行收集整理; 概念模型經過抽象,轉換成計算機上DBMS支持的數據
3、模型。所以說,數據模型數據模型是現實世界的兩級抽象的結果,是從計算機系統的觀點考慮。 在數據處理中,數據加工經歷了現實世界、信息世界和計算機世界三個不同的世界,經歷了兩級抽象和轉換。 為什么要建立數據模型(Data Model): 象蓋大樓的設計圖一樣,DM可使所有的項目參與者都有一個共同的數據標準。 可及早發現問題、同時避免出現問題再解決。 加快應用開發的速度。 數據模型主要表示實體類型之間聯系的模型,具有描述數據本身數據本身和和數據間聯系數據間聯系的功能,是數據庫系統的核心和基礎,各種機器上實現的DBMS都是以某種數據模型為基礎的。數據模型 根據數據模型應用目的的不同,數據模型有以下幾種:
4、 1) 概念數據模型(Conceptual Data Model)簡稱概念模型 面向現實世界建模,按用戶的觀點對數據信息建模。 主要用來描述現實世界的概念化結構,與具體的DBMS無關;主要特點體現如下: - 現實世界的事物經過人腦的抽象加工,經過組織整理加工形成現實世界和計算機世界之間的中間模型; - CDM只關心現實世界中的事物、事務特征、聯系;- CDM是程序設計員、維護人員、用戶之間相互理解的共同語言; - CDM能使數據庫的設計人員在設計的初始階段擺脫 計算機系統及DBMS的具體技術問題,集中精力分析 數據、數據之間的聯系;- 概念模型必須轉換成邏輯模型,才能在DBMS中實現;- 最常
5、用的概念模型是E-R模型 2) 邏輯(數據)模型(Logical Data Model)簡稱邏輯模型 主要面向計算機系統觀點對數據建模; 用戶從數據庫所看到的數據模型; 是具體的DBMS所支持的數據模型(網狀/層次/關系/面向對象);既要面向用戶,也要面向系統;3) 物理(數據)模型(Physical Data Model)簡稱物理模型 面向具體的DBMS,面向機器; 描述數據在存儲介質上的組織結構; - PDM不僅與具體的DBMS有關,還與操作系統 和硬件有關; - 每一種邏輯模型在實現時都有其對應的物理模型; - PDM加入了概念模型中要考慮的因素:觸發器、 存儲過程、主鍵、外鍵、索引等;
6、 - DBMS為保證其獨立性和可以執行,大部分PDM 的實現工作由系統自動完成,而設計者只設計索 引、聚簇等特殊結構 。數據模型應滿足的要求: 能夠比較真實真實的模擬現實世界; 容易為人理解; 便于在計算機上實現;數據模型在數據庫中的地位: 在數據庫中用數據模型來抽象、表示、處理現實世界中的數據和信息。通俗講,數據模型即是現實世界的模擬。 首先介紹概念模型中常用的幾個重要概念,利用它們可構造出現實世界的數據的抽象描述。 一、實體、實體型、實體集一、實體、實體型、實體集 實體(實體(Entity) 客觀存在并能相互區分的事物或概念。 如:人;計算機;一部汽車;數據庫課程; 借書; 關鍵之處:一個
7、實體能和別的實體區分開。 實體型(實體型(Entity Type) 用實體名及屬性名集合來抽象刻畫同類實體。概念模型 實體集(Entity Set) 同型的實體組成的集合。具有相同特征或能用同樣特征描述的實體的集合。如學生,職工。 對象與實例 是實體集遵循其實體型抽象的結果,是實體集信息化的結果;實體通過屬性表示稱為實例。二、屬性(二、屬性(Attribute) 指實體所具有的某一方面的特性,一個實體可由若干個屬性來刻劃。 - 屬性取值的一定范圍,稱為該屬性的值域/域 - 唯一標識實體的最小屬性集稱為碼(Key)。如(學號,課程號,成績)三、聯系(三、聯系(Relationship) 實體集之
8、間存在的相互關系 為了建立現實世界的完整模型,常常需要對聯系分 類,根據一個實體集合的實體可以和多少個另一類 實體集合的實體相聯系,可將聯系分為如下幾種:1)兩個實體集之間的聯系 (1) 一對一聯系(1:1) 系系主任 (2) 一對多聯系(1:n) 班級學生 (3) 多對多聯系(m:n) 課程學生注:一對一聯系是一對多的特例,而一對多是多對多聯系的特例。2)多實體集之間的聯系 如: 供應商、項目、零件實體集之間的聯系。3)實體集內部的聯系四、概念模型的表示方法-E-R圖 E-R圖(Entity-Relation Approach) 用于描述現實世界的概念模型,提供了表示實體集、屬性、聯系的方法
9、。 一、基本概念 在計算機世界中,常用的主要概念如下:字段(Field):對應于屬性的數據稱為字段,也稱為數據項。字段的命名往往和屬性名相同。記錄(Record):對應于每個實體的數據稱為記錄,即實例的數據表示。文件(File):對應于實體集的數據稱為文件,即同類記錄的集合。如所有學生的記錄組成了一個學生文件。邏輯數據模型邏輯數據模型二、 邏輯數據模型的組成 邏輯數據模型是數據模型的一種,是現實世界數據特征的抽象。邏輯數據模型通常由數據結構、數據操作和數據的約束條件三個要素組成。1). 數據結構 數據結構用于描述系統的靜態特性。 數據結構是所研究的對象類型的集合,它是刻畫一個邏輯數據模型性質最
10、重要的方面。在數據庫系統中,人們通常按照其數據結構的類型來命名邏輯數據模型。 數據結構有層次結構、網狀結構和關系結構三種類型,按照這三種結構命名的邏輯數據模型分別稱為層次模型、網狀模型和關系模型。2). 數據操作 數據操作用于描述系統的動態特性。數據操作是對數據庫中各種數據操作的集合,包括操作及相應的操作規則。 如數據的檢索、插入、刪除和修改等。 邏輯數據模型必須定義這些操作的確切含義、操作規則以及實現操作的語言。3). 數據的約束條件 數據的約束條件是一組完整性規則的集合。 完整性規則是給定的邏輯數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合邏輯數據模型的數據庫狀態以及狀態的變化
11、,以保證數據的正確、有效、相容。 邏輯數據模型還應該提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。 例如,在學生數據庫中,學生的年齡不得超過40歲,出生月份不能超過1-12等。三種主要的邏輯數據模型 上節討論的概念數據模型是“概念上”的,是抽象的,它與具體的數據庫管理系統無關。這節要討論的數據模型將與具體的DBMS有關,與DBMS支持的數據和聯系的表示或存儲有關。邏輯(數據)模型主要表示數據與數據之間聯系的方法。邏輯數據模型分為層次模型、網狀模型和關系模型。三種主要的邏輯數據模型 一、一、 層次模型(層次模型(Hierarchical Model) 用樹
12、型結構來表示實體之間聯系的模型。支持層次模型的典型系統誕生于1970年前后,是IBM公司的IMS(Information Management System)系統。1) 層次模型的數據結構 層次模型的基本特點: (1)有且僅有一個結點無父結點,稱其為根結點。 (2)其他結點有且只一個父結點。n 層次模型示例如圖層次模型有向樹的示意圖 ABCDEF根結點葉子結點層次模型的一個基本特點是: 任何一個給定的記錄值只有按照路徑查看時,才能顯出它的全部意義,沒有一個子女記錄值能夠擺脫雙親記錄值而獨立存在;而且層次數據模型只能直接表示一對多(包括一對一)聯系。(舉例教學院系數據庫)2) 層次模型中多對多聯
13、系的表示 冗余結點法(如:學生與課程之間的聯系) 虛擬結點法 了解上述方法的優缺點。3)層次模型的數據操縱與完整性約束 數據操作主要有查詢、插入、刪除、修改。 完整性約束條件有三點:進行插入操作時,如果沒有相應的雙親結點值就不能插入子女結點值; 如:插班生,若未指明到哪個系就不能進行此操作。進行刪除操作時,如果刪除雙親結點值,則相應的子女結點值也被同時刪除;修改操作時,應修改所有相應的記錄,以保證數據的一致性;層次模型的存儲結構 層次模型數據的存儲常常是和數據之間聯系的存儲結合在一起的。常用方法有兩種: 1)鄰接法 按照層次樹前序穿越的順序把所有記錄值依次鄰接存放,通過物理空間的位置相鄰來體現
14、層次順序。2)鏈接法 用指引元反映數據之間的層次聯系,每個記錄設兩個指引元,分別指向最左邊子女和最近兄弟,也稱為子女-兄弟鏈接法。3. 層次模型的優缺點優點主要有: 結構清晰,結點間聯系簡單,只要知道每個結點的雙親結點,就可知道整個模型結構。現實世界中許多實體間的聯系本來就呈現出一種很自然的層次關系, 如表示行政層次,家族關系很方便。 比較簡單,只需很少幾條命令就能操縱數據庫,比較容易使用。 它提供了良好的數據完整性支持。層次模型的缺點有: 不能直接表示兩個以上的實體型間復雜的聯系和實體型間的多對多聯系,只能通過引入冗余數據或創建虛擬結點的方法來解決,易產生不一致性。 對數據的插入和刪除的操作
15、限制太多。 查詢子女結點必須通過雙親結點。網狀模型 現實世界中事物之間的聯系更多的是非層次關系的,用層次模型表示這種關系很不直觀,網狀模型克服了這一弊病,可以清晰的表示這種非層次關系。 20世紀70年代,數據系統語言研究會CODASYL(Conference On Data System Language)下屬的數據庫任務組DBTG(Data Base Task Group)提出了一個系統方案,DBTG系統,成為了網狀模型的代表。 網狀模型的特征有一個以上的結點沒有雙親;至少有一個結點可以有多于一個雙親。 即允許兩個或兩個以上的結點沒有雙親結點,允許某個結點有多個雙親結點,則此時有向樹變成了有
16、向圖,該有向圖描述了網狀模型。 網狀模型中每個結點表示一個記錄型(實體),每個記錄型可包含若干個數據項(實體的屬性),結點間的連線表示記錄類型(實體)間的父子關系。網狀模型的特征網狀模型 如:學生和課程間的關系。一個學生可以選修多門課程,一門課程可以由多個學生選修。 學生與課程的網狀模型 學號姓名班級課程號課程名 學分學號課程號成績網狀模型的數據操縱與完整性約束 網狀模型的數據操縱主要包括查詢、插入、刪除和修改數據。網狀模型沒有像層次數據庫那樣有嚴格的完整性約束條件,只提供一定的完整性約束。 支持記錄碼的概念 保證一個聯系中雙親記錄和子女記錄之間是一對多的聯系。 可以支持雙親記錄和子女記錄之間
17、某些約束條件。 插入數據時,允許插入尚未確定雙親結點值的子女結點值,如可增加一些剛來報到,還未分配宿舍的學生。 刪除數據時,允許只刪除雙親結點值,保留子女信息。如可刪除一個教研室,而該教研室所有教師的信息仍保留在數據庫中。網狀模型的優點主要有:能更為直接地描述客觀世界,可表示實體間的多種復雜聯系。具有良好的性能和存儲效率網狀模型的缺點主要有:結構復雜,其DDL語言極其復雜。數據獨立性差,由于實體間的聯系本質上是通過存取路徑表示的,因此應用程序在訪問數據時要指定存取路徑。 關系模型是發展較晚的一種模型,1970年美國IBM公司的研究員E.F.Codd首次提出了數據庫系統的關系模型。 他發表了題為
18、“大型共享數據銀行數據的關系模型”在文中解釋了關系模型,定義了某些關系代數運算,研究了數據的函數相關性,定義了關系的第三范式,從而開創了數據庫的關系方法和數據規范化理論的研究,為此獲得了1981年的圖靈獎。 1977年IBM公司研制的關系數據庫的代表System R開始運行,其后又進行了不斷的改進和擴充,出現了基于System R的數據庫系統SQL/DB。 關系模型關系模型 20世紀80年代以來,計算機廠商新推出的數據庫管理系統幾乎都支持關系模型,非關系系統的產品也都加上了關系接口。 數據庫領域當前的研究工作也都是以關系方法為基礎。 關系數據庫已成為目前應用最廣泛的數據庫系統,如現在廣泛使用的
19、小型數據庫系統Foxpro,Access,大型數據庫系統Oracle、Informix、Sybase、SQL Server等都是關系數據庫系統。關系模型一. 關系模型的基本概念 關系模型的數據結構是一個“二維表框架”組成的集合,每個二維表又可稱為關系,所以關系模型是“關系框架”的集合。 關系模型與層次模型、網狀模型不同,它是建立在嚴格的數學概念之上的。 例如:教學數據庫的關系模型及其實例,包含關系:教師關系T、學生關系S、課程關系C、選課關系SC和授課關系TC,分別對應五張表。關系模型S(學生表)SNO學號SN姓名SEX性別AGE年齡DEPT系別S1趙亦女17計算機S2錢爾男18信息S3孫珊女
20、20信息S4李思男21自動化S5周武男19計算機S6吳麗女20自動化C(課程表)CNO課程號CN課程名CT課時C1程序設計60C2微機原理80C3數字邏輯60C4數據結構80C5數據庫60C6編譯原理60C7操作系統60SC(選課表) TC(授課表) SNO學號CNO課程號SCORE成績S1C190S1C285S2C557S2C680S2C7 S2C570S3C10S3C270S3C485S4C193S4C285S4C383S5C289 TNO教師號CNO課程號T1C1T1C4T2C5T3C1T3C5T4C2T4C3T5C5T5C7 關系(Relation):一個關系對應一張二維表,如上圖的表對應的關系。元組(Tuple):表格中的一行,如S表中的一個學生記錄即為一個元組。屬性(Attribute):表格中的一列,相當于記錄中的一個字段,如S表中有五個屬性(學號,姓名,性別,年齡,系別)。關鍵字(Key):可唯一標識元組的最小屬性集,也稱為關系鍵或主碼,如S表中學號可以唯一確定一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寵物用品設計總監考試試卷及答案
- 航空結構件疲勞壽命評估員崗位面試問題及答案
- 企業并購股權補充協議書
- 股東公司股權退出與資產分配協議書
- 研發機構股東出資合伙協議范本
- 股權退股及公司員工培訓協議范本
- 股權收益權轉讓與員工激勵合同范本
- 高科技企業股份轉讓及股權交易合作協議
- 股權質押反擔保抵押與旅游產業合同
- 產業鏈股權代理及供應鏈管理協議
- 部隊訓練防中暑課件
- 采血后預防淤青的按壓方式
- SnRK1在植物逆境響應和生長發育中的作用
- 肺間質纖維化安全指導
- CNAS-CC01:2015 管理體系認證機構要求
- 見證取樣送檢計劃方案
- 食品安全主題墻框架
- 《機械員培訓資料》課件
- 學校危險化學品安全管理制度(2篇)
- 物流快遞企業倉庫消防安全培訓課件
- 住院患者發生跌倒、墜床的應急預案和處理流程
評論
0/150
提交評論