第2章 建立數據模型_第1頁
第2章 建立數據模型_第2頁
第2章 建立數據模型_第3頁
第2章 建立數據模型_第4頁
第2章 建立數據模型_第5頁
已閱讀5頁,還剩97頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、2022-3-512022-3-52主要內容主要內容v現實世界的數據化過程現實世界的數據化過程v概念模型概念模型vER模型的設計方法模型的設計方法v數據模型數據模型v關系模型關系模型vER模型向關系模型的轉化模型向關系模型的轉化2022-3-53現實世界的數據化過程現實世界的數據化過程學生學生編號編號名字名字年齡年齡性別性別班級班級現實現實世界世界數據數據世界世界信息世界信息世界學生學生概念化概念化形式化形式化用戶計算機2022-3-54現實世界現實世界 由實際事物組成,事物之間聯系錯綜復雜 事物和事物特性事物和事物特性信息世界信息世界 現實世界在人腦中的反映 事物和事物特性實體和實體屬性實體

2、和實體屬性數據世界數據世界 信息世界數據化后的產物 實體和實體屬性記錄和數據項記錄和數據項數據抽象數據抽象應用概念模型關系模型現實世界信息世界數據世界抽象化抽象化數據化數據化2022-3-55三個世界中概念的對應關系:三個世界中概念的對應關系:一個事物一個事物 一類事物一類事物 事物的各種特性事物的各種特性現實世界現實世界 實體實體 實體集實體集 屬性、域、碼屬性、域、碼信息世界信息世界元組元組 關系關系 屬性(字段)、屬性(字段)、 主碼、外部碼主碼、外部碼數據世界數據世界認識認識抽象抽象數據數據轉換轉換2022-3-56主要內容主要內容v現實世界的數據化過程現實世界的數據化過程v概念模型概

3、念模型vER模型的設計方法模型的設計方法v數據模型數據模型v關系模型關系模型vER模型向關系模型的轉化模型向關系模型的轉化2022-3-5 7概念模型定義概念模型定義v按用戶的觀點來對數據和信息建模按用戶的觀點來對數據和信息建模v用于組織信息世界的概念,表現從現實世界中抽象出來的事物以及它們之間的聯系vE-R模型模型(Entity-Relationship Model,實體,實體-聯系模聯系模型)型)1976年,年,Peter Chen陳品山陳品山vE-R模型是一種靜態信息模型,只能反映當前狀態,不能反映實體的變化過程。2022-3-5 8實體實體-聯系模型聯系模型v三要素(三個基本語義)三要

4、素(三個基本語義)實體(實體(Entity):客觀事物客觀事物聯系(聯系(Relationship):客觀事物之間的聯系:客觀事物之間的聯系屬性(屬性(Attributes):客觀事物的特征(屬性):客觀事物的特征(屬性)v刻劃工具:刻劃工具:實體實體-聯系圖(聯系圖(E-R圖)圖)實體:實體:矩形矩形屬性:屬性:橢圓橢圓聯系:聯系:菱形菱形實體和聯系間、實體和屬性間、聯系和屬性間:實體和聯系間、實體和屬性間、聯系和屬性間:線段線段2022-3-5 9示例示例學生學生課程課程選修選修姓名姓名學號學號系別系別課程名課程名學分學分主講老師主講老師成績成績聯系集聯系集屬性屬性mn實體集的碼實體集的碼

5、實體集實體集2022-3-5 10實體(實體(Entity)v實體實體:可以相互區別的客觀事物和概念統一抽象例:學生、回扣、醫療v實體類型,實體集實體類型,實體集:將具有共性的一類實體抽象為實體類型選修選修mn學生學生課程課程實體集實體集2022-3-5 11v聯系聯系:實體之間的關系抽象為聯系實體之間的關系抽象為聯系v聯系分類1:1 一對一聯系一對一聯系1:n 一對多聯系一對多聯系m:n 多對多聯系多對多聯系聯系(聯系(Relationship)2022-3-5 12聯系的參與多樣性聯系的參與多樣性實體型B實體型A聯系名實體型B實體型A聯系名實體型B實體型A聯系名1:11:NM:N1n1mn

6、12022-3-5 13v聯系屬性聯系屬性v v聯系的元聯系的元:某一聯系R所對應的實體類型有n個,稱R為n元元聯系聯系一元聯系 n=1二元聯系 n=2多元聯系 n2旅行社景點游客團隊游mnk聯系(續)聯系(續)學生學生課程課程選修選修成績成績聯系集聯系集屬性屬性mn2022-3-5 14屬性(屬性(Attribute)v屬性屬性:對實體特征的描述v實體碼(實體碼(KEY,實體標識符,又稱實體鍵),實體標識符,又稱實體鍵):能唯一標識實體的屬性或極小屬性組,用下劃線下劃線標出。v域域:屬性的取值范圍同一實體類型所有實體都具有相同的屬性及相同的對應域,但屬性在域上的取值不一定相同。學生學生姓名姓

7、名學號學號系別系別實體集的碼實體集的碼2022-3-5 15v屬性分類:實體與屬性、原子屬性與組合屬性的劃分存在一定的相對性,無絕對。(這是由于描述事物的抽象層次不同或觀察研究問題的角度不同而引起)性別、顏色工資、籍貫一個人的性別一個人的學校屬性不可再分屬性可以再分對應域中的元素為單個值對應域中的元素為多個值原子屬性組合屬性單值屬性多值屬性按組成分類按取值分類屬性舉例性質分類情況分類標準屬性(續)屬性(續)2022-3-5 16vE-R圖中:帶下劃線的屬性為實體鍵或實體鍵的一部分組合屬性組合屬性用一個樹型表示多值屬性多值屬性用虛線橢圓表示或標出關系型數據庫系統不能處理組合屬性和多值屬性的情況,

8、實際操作是要轉化成原子屬性和單值屬性原子屬性和單值屬性的情況。學生學號姓名年齡性別畢業學校出生日期年月日2022-3-5 17v定義實體集定義實體集v定義聯系集定義聯系集v定義屬性定義屬性v幾個注意的問題幾個注意的問題實體與自身的聯系、多個實體之間的聯系、實體與自身的聯系、多個實體之間的聯系、歷史演變數據的保存歷史演變數據的保存建立建立E-R模型模型1、找實體并表示(每類實體一個二維表)1、找聯系(每類實體之間)2、表示聯系(參與多樣性)1、找屬性(確定每個二維表的字段)2、確定字段的屬性、域名字、數據類型、精度、缺省值、取值范圍、是否允許空值3、確定主碼2022-3-5 18v試設計一個實體

9、-聯系模型以存放某學生期末考試: C#、物聯網、JAVA語言、數據庫系統原理、LINUX五門課程學生成績。建立建立E-R模型示例模型示例2022-3-5 19解法一:E-R圖分析:能夠滿足要求,但模型不具有可擴性。分析:能夠滿足要求,但模型不具有可擴性。成績成績學號學號姓名姓名C#IoTJAVALINUXDBS2022-3-5 20解法二:E-R圖分析:能夠滿足要求,模型具有可擴性,分析:能夠滿足要求,模型具有可擴性,但數據存在冗余,易造成數據不一致性。但數據存在冗余,易造成數據不一致性。學生學生學號學號姓名姓名課程課程成績成績2022-3-5 21解法三:E-R圖分析:能夠滿足要求,但模型不

10、具有可擴性,分析:能夠滿足要求,但模型不具有可擴性,和解法一雷同,操作比其麻煩。和解法一雷同,操作比其麻煩。成績成績學號學號姓名姓名IoTJAVAC#DBSLINUX學生學生學號學號擁有擁有112022-3-5 22解法四:E-R圖分析:能夠滿足要求,模型具有可擴性,分析:能夠滿足要求,模型具有可擴性,數據不存在冗余,數據一致性好。數據不存在冗余,數據一致性好。課程課程學號學號姓名姓名課程號課程號成績成績課程名課程名學生學生選修選修nm(此為最佳答案)(此為最佳答案)2022-3-5 23主要內容主要內容v現實世界的數據化過程現實世界的數據化過程v概念模型概念模型vER模型的設計方法模型的設計

11、方法v數據模型數據模型v關系模型關系模型vER模型向關系模型的轉化模型向關系模型的轉化2022-3-5 24E-R模型的設計方法模型的設計方法v總的設計原則:總的設計原則:相對性原則:相對性原則:實體、屬性、聯系等,是對同一個對象抽象過程的不同解釋和理解。一致性原則:一致性原則:同一對象在不同的業務系統中的抽象結果,應保持一致。簡單化原則:簡單化原則:E-R模型中,能作為屬性處理的對象,盡量歸為屬性。2022-3-5 25ER圖設計圖設計v用實體集或屬性代表物體用實體集或屬性代表物體?v對現實世界的概念是用實體集還是聯系集去對現實世界的概念是用實體集還是聯系集去描述?描述?v用多元關系還是二元

12、關系去描述?用多元關系還是二元關系去描述?v在建模過程中使用概括還是特殊化?在建模過程中使用概括還是特殊化?2022-3-5 26E-R 設計原則設計原則v用實體集還是用屬性?用實體集還是用屬性?問題焦點:什么可作為屬性?什么可作為實體集? 例:v學生實體集中的電話屬性,有兩種不同的處理方式1)作為屬性2)作為不同的實體,學生與電話之間的關系用聯系集來表示v課程實體集中的主講教師屬性?2022-3-5 27貨號貨物名稱倉庫號存量貨物貨號名稱存放職工職工號姓名年齡倉庫管理倉庫號面積存量n1mn2022-3-5 28 E-R 設計原則(續)設計原則(續)v用二元聯系?多元聯系?用二元聯系?多元聯系

13、? 多元聯系可以清晰表示出幾個實體集參與到一個聯系的情況,而轉換為多個二元聯系后,難以體現這種參與性。v確定聯系集屬性確定聯系集屬性2022-3-5 29子類和子類和Is-a層次聯系層次聯系v對實體集求精,產生一系列不同層次的實體子集。對實體集求精,產生一系列不同層次的實體子集。特殊化在這個自頂向下的設計過程中,其區別被顯示出來。 v描述方法是一個標志描述方法是一個標志 ISA的三角的三角 屬性繼承:屬性繼承:高層實體集的屬性被低層實體集繼承。(父類實體集的屬性被子類實體集繼承)v概括主要使用在自低向上的設計中。概括是特殊化的逆過程,在實際使用中互相配合。Isa ABIsa職 工經 理Isa姓

14、名性別年齡職工號任職時間姓名職工號職工出生部門經理任職時間IsaIsa2022-3-5 30子類示例子類示例2022-3-5 31“好好”的的E-R模型模型v滿足用戶功能需求滿足用戶功能需求v實體聯系盡可能少實體聯系盡可能少v實體集所含屬性盡可能少實體集所含屬性盡可能少v實體集間聯系無冗余實體集間聯系無冗余2022-3-5 32企業企業 E-R模型的設計方法模型的設計方法先局部、后整體、最后優化先局部、后整體、最后優化一、確定局部應用范圍,一、確定局部應用范圍,設計局部設計局部ER模型模型確定局部應用范圍確定局部應用范圍定義實體集、定義實體集、聯系集、屬性聯系集、屬性設計局部設計局部E-R圖圖

15、修改否?修改否?2022-3-533二、集成局部二、集成局部E-RE-R模型,模型,形成全局初步形成全局初步E-RE-R模型模型合并局部合并局部E-R圖圖檢查并消除沖突檢查并消除沖突確定公共實體型確定公共實體型修改否?修改否?局部局部E-R圖圖進入進入“全局模型優化全局模型優化”三、消除冗余,三、消除冗余,優化全局優化全局E-RE-R模型模型企業企業 E-R模型的設計方法(續)模型的設計方法(續)2022-3-534采用采用ER方法的數據庫概念設計方法的數據庫概念設計 之之設計局部設計局部ERER模式模式 有有需求分析結果需求分析結果確定局部結構范圍確定局部結構范圍實體定義實體定義聯系定義聯系

16、定義屬性分配屬性分配還有局部還有局部結構待分析結構待分析無無進入全局進入全局ER模式設計模式設計局部局部ERER模式設計模式設計范圍的劃分要自然,范圍的劃分要自然,易于管理;易于管理;范圍的大小要適度。范圍的大小要適度。太小了,會造成局部結構太小了,會造成局部結構過多,設計過程繁瑣,綜過多,設計過程繁瑣,綜合困難;太大了,則容易合困難;太大了,則容易造成內部結構復雜,不便造成內部結構復雜,不便分析分析 范圍之間的界面要清晰,范圍之間的界面要清晰,相互影響要小相互影響要小采用人們習慣的劃分;采用人們習慣的劃分;避免冗余,在一個局部結避免冗余,在一個局部結構中,對一個對象只取一構中,對一個對象只取

17、一種抽象形式,不要重復;種抽象形式,不要重復;依據用戶的信息處理需求依據用戶的信息處理需求 確定屬性的原則:確定屬性的原則: 屬性應該是不可再分解的語義屬性應該是不可再分解的語義單位;實體與屬性之間的關系只能單位;實體與屬性之間的關系只能是是1:N1:N的;不同實體類型的屬性之間的;不同實體類型的屬性之間應無直接關聯關系。應無直接關聯關系。 屬性分配的原則:屬性分配的原則: 當多個實體類型用到同一屬性時,當多個實體類型用到同一屬性時,一般把屬性分配給那些使用頻率最高一般把屬性分配給那些使用頻率最高的實體類型,或分配給實體值少的實的實體類型,或分配給實體值少的實體類型。體類型。 有些屬性不宜歸屬

18、于任一實體類有些屬性不宜歸屬于任一實體類型,只說明實體之間聯系的特性型,只說明實體之間聯系的特性 2022-3-5 35局部模式局部模式1現有的教學現有的教學管理系統管理系統初步分析系初步分析系統的對象統的對象根據服務種根據服務種類分析教師類分析教師子模塊子模塊人事管理局部應用的分人事管理局部應用的分E-R圖圖局部局部ER圖圖2022-3-536局部模式局部模式2學籍管理局部應用的分學籍管理局部應用的分E-RE-R圖圖導師導師班級班級學生學生組組成成管管理理班主任班主任檔案材料檔案材料宿舍宿舍住住宿宿歸歸檔檔指指導導系系有有參參加加學會學會1N111NNN11NMN1具具有有社會關系社會關系1

19、N現有的教學現有的教學管理系統管理系統初步分析系初步分析系統的對象統的對象根據服務種根據服務種類分析學生類分析學生子模塊子模塊局部局部ER圖圖2022-3-537局部模式局部模式3現有的教學現有的教學管理系統管理系統初步分析系初步分析系統的對象統的對象根據服務種根據服務種類分析課程類分析課程子模塊子模塊局部局部ER圖圖課程管理局部應用分課程管理局部應用分E-RE-R圖圖1教室教室M1教科書教科書教師教師擔任擔任課程課程系系開設開設N1學生學生選修選修NMN上課上課PN2022-3-538采用采用ER方法的數據庫概念設計方法的數據庫概念設計 之設計全局之設計全局ER模式模式無無全局全局ERER模

20、式設計模式設計 局部局部ER模式模式確定公共實體類型確定公共實體類型合并兩個局部合并兩個局部ER模式模式檢查并消除沖突檢查并消除沖突還有未合并還有未合并的局部模式的局部模式有有還有沖突嗎還有沖突嗎有有屬性沖突屬性沖突 :如,重量單位如,重量單位有的用公斤,有的用克。有的用公斤,有的用克。 結構沖突結構沖突 :同一對象在不同一對象在不同應用中的不同抽象同應用中的不同抽象 ;同同一實體在不同局部一實體在不同局部ERER圖中圖中屬性的個數或次序不同屬性的個數或次序不同 ;實體之間的聯系在不同的實體之間的聯系在不同的局部局部ERER圖中呈現不同的類圖中呈現不同的類型型 命名沖突命名沖突 :屬性名、實體

21、屬性名、實體名、聯系名之間存在同名名、聯系名之間存在同名異義或異名同義沖突異義或異名同義沖突2022-3-5 39采用采用ER方法的數據庫概念設計方法的數據庫概念設計 之全局之全局ER模式的優化模式的優化v實體類型的合并實體類型的合并1:11:1聯系的兩個實體類型聯系的兩個實體類型 具有相同碼的實體類型具有相同碼的實體類型 v冗余屬性的消除冗余屬性的消除 v冗余聯系的消除:冗余聯系的消除:利用規范化理論中函數依賴利用規范化理論中函數依賴的概念消除冗余聯系的概念消除冗余聯系 2022-3-540例:三個局部例:三個局部ER圖合并成一個圖合并成一個ER圖圖1合并后的教學管理合并后的教學管理E-RE

22、-R圖圖1N1P1N1N1N1MMNNNN社會關系社會關系具有具有1NNM1系系聘用聘用承接承接項目項目參加參加設置設置院長院長學院學院主管主管NN111教師教師評定評定職稱職稱分配分配工作量工作量111N檔案材料檔案材料歸檔歸檔參加參加學會學會1宿舍宿舍住宿住宿教科書教科書擔任擔任指導指導課程課程選修選修教室教室上課上課有有1班級班級學生學生組成組成N開設開設N管理管理11教師教師管理管理1 12022-3-5 41主要內容主要內容v現實世界的數據化過程現實世界的數據化過程v概念模型概念模型vER模型的設計方法模型的設計方法v數據模型數據模型v關系模型關系模型vER模型向關系模型的轉化模型向

23、關系模型的轉化2022-3-5 42數據模型數據模型v數據模型:數據模型:是對客觀事物及聯系的數據描述,是對客觀事物及聯系的數據描述,是是信息模型的數據化信息模型的數據化。v數據庫管理系統是建立在一定的數據模型之上,根據數據模型實現在計算機上存儲、處理、表示、組織數據,不同的數據模型對應不同類型的數據庫管理系統。2022-3-5 43v從計算機實現的觀點來對數據建模從計算機實現的觀點來對數據建模v是信息世界中的概念和聯系在計算機世界中的表示方法v一般有嚴格的形式化定義,以便于在計算機上實現v如層次模型、網狀模型、關系模型、面向對象模型數據模型(續)數據模型(續)2022-3-5 44四種類型數

24、據組織方法數據結構特點數據模型層次數據模型層次數據模型 層次方法有序樹或森林適于描述層次結構的數據網狀數據模型網狀數據模型 網狀方法圖速度快,不易掌握關系數據模型關系數據模型 關系方法二維表(關系)易于理解和使用、有嚴格的理論基礎面向對象數據面向對象數據模型模型面向對象方法對象適于模擬實體的行為四種常見數據模型四種常見數據模型2022-3-5 45數據模型的三要素數據模型的三要素v數據模型數據模型 = 數據的組織方法數據的組織方法 + 數據操作集合數據操作集合 +數據數據完整性集合完整性集合v1、數據的組織方法(數據結構)、數據的組織方法(數據結構)描述系統的靜態特性,即組成數據庫的對象類型描

25、述系統的靜態特性,即組成數據庫的對象類型數據本身v類型、內容、性質。如網狀模型中的數據項、記錄,關系模型中的域、屬性,關系等數據之間的聯系v例如網狀模型中的系型,關系模型中的外碼在數據庫系統中一般按數據結構的類型來命名數據模型2022-3-5 46數據模型的三要素(續)數據模型的三要素(續)v2、數據操作集合、數據操作集合描述系統的動態特性,即對數據庫中對象的實例允許執描述系統的動態特性,即對數據庫中對象的實例允許執行的操作的集合,包括操作及操作規則行的操作的集合,包括操作及操作規則一般有檢索、更新(插入、刪除、修改)操作數據模型要定義操作含義、操作符號、操作規則,以及實現操作的語言v3、數據

26、的完整性集合(數據的約束條件)、數據的完整性集合(數據的約束條件)數據的約束條件是完整性規則的集合,規定數據庫狀態數據的約束條件是完整性規則的集合,規定數據庫狀態及狀態變化所應滿足的條件,以保證數據的正確、有效、及狀態變化所應滿足的條件,以保證數據的正確、有效、相容相容2022-3-5 47主要內容主要內容v現實世界的數據化過程現實世界的數據化過程v概念模型概念模型vER模型的設計方法模型的設計方法v數據模型數據模型v關系模型關系模型vER模型向關系模型的轉化模型向關系模型的轉化2022-3-5 48關系模型關系模型vE.F.Codd于于70年代初提出關系數據理論,他因此年代初提出關系數據理論

27、,他因此獲得獲得1981年的年的ACM圖靈獎圖靈獎v關系理論是建立在集合代數理論基礎上的,有著堅關系理論是建立在集合代數理論基礎上的,有著堅實的數學基礎實的數學基礎v早期代表系統System:由IBM研制INGRES:由加州Berkeley分校研制v目前主流的商業數據庫系統Oracle, DB2, SQL Server,Sybase, MySQL,PostgreSQL,SQLiteAccess,Foxpro,FoxbaseACM圖靈獎圖靈獎v查爾斯查爾斯.巴赫曼巴赫曼 Charles W. Bachman(1924)網狀數據庫之父、網狀數據庫之父、DBTG之父之父v埃德加埃德加.弗蘭克弗蘭克.

28、科德科德 Edgar Frank Codd (19232003)關系數據庫之父關系數據庫之父v詹姆斯詹姆斯.格雷格雷 James Gray(1944)事務處理技術事務處理技術2022-3-550關系數據模型結構關系數據模型結構v用二維表二維表來表示實體及其相互聯系v數據結構:關系(俗稱表)幾個概念:關系名關系名表名關系模式關系模式屬性屬性(列)學生學學 號號 姓姓 名名 性別性別 出生日期出生日期 系號系號 000511001 張三 男 12/05/80 05 000511003 李四四 女 03/06/78 05 000511010 王五 男 06/09/79 05 000412120 賈六

29、 女 10/20/79 04 關關系系表D1D2D3D4D5域域元組元組行2022-3-5 51v關系模式:一個關系的靜態描述(關系名及其全部關系模式:一個關系的靜態描述(關系名及其全部屬性名的集合)屬性名的集合)v二維表的表頭那一行稱為二維表的表頭那一行稱為關系模式關系模式,又稱表的框架,又稱表的框架或記錄類型。或記錄類型。是記錄的型,決定二維表的內容。每一個關系模式都必須命名,且同一關系模型中關系模式名不允許相同。每一個關系模式都是由一些的屬性組成,關系模式的屬性名通常取自相關實體類型的屬性名。關系模式可表示為:關系模式名(屬性名關系模式名(屬性名1,屬性名,屬性名2,屬性名,屬性名n)v

30、示例:學生(學號,姓名,性別,出生日期,系別) 系(系號,系名,班主任)關系模式關系模式2022-3-5 52v對應于關系模式的一個具體的表稱為關系關系,又稱表(表(Table)。關系數據庫是若干表(關系)的集合關系模式決定其對應關系的內容每一個關系都必須命名(通常取對應的關系模式名),且同一關系數據模型中關系名互不相同。v關系模式與關系的聯系:關系模式:型(關系的結構)、相對穩定關系模式:型(關系的結構)、相對穩定關系:值(元組的集合)、隨時間變化關系:值(元組的集合)、隨時間變化關系關系(Relation)2022-3-5 53v元組(元組(Tuple): 關系中的每一行稱為關系的一個元組

31、,又稱行(行(Row) 或記錄記錄。一個關系可由多個元組構成一個關系中的元組和不相同v屬性(屬性(Attributes ) 關系中的每一列稱為關系的一個屬性,又稱列(列(Column)一個由n個屬性的關系稱為n元關系關系的屬性名就是對應關系模式的對應屬性名v變域(變域(Domain)關系中的每一屬性所對應的取值范圍叫屬性的變域,簡稱域域。域是值的集合,關系中所有屬性的實際值均來自它所對應的域如整數的集合、字符串的集合、全體學生的集合關系中每個屬性都必須有一個相應的域,不同屬性的域可不同也可相同。2022-3-5 54v笛卡爾積(笛卡爾積(Cartesian Product)一組域D1 , D2

32、 , Dn的笛卡爾積為:D1D2Dn = (d1 , d2 , , dn) | diDi , i=1,n笛卡爾積的每個元素(d1 , d2 , , dn)稱作一個n-元組(n-tuple)元組的每一個值di叫做一個分量(component)v關系關系笛卡爾積D1D2Dn的子集叫做在域D1 , D2 , Dn上的關系,用R(D1 , D2 , Dn )表示R是關系的名字,n是關系的度或目關系是笛卡爾積中有意義的子集關系是笛卡爾積中有意義的子集關系也可以表示為二維表2022-3-555例:設 D1為教師集合(T)= t1,t2 D2為學生集合(S)= s1,s2 ,s3 D3為課程集合(C)= c

33、1,c2 則D1D2D3是個三元組集合,元組個數為232,關系TEACH(T, S, C)是所有可能的(教師,學生,課程)元組集合,可表示為二維表的形式關系TEACH(T, S, C)TSCt1s1c1t1s1c2t1s2c1t2s3c2元組屬性2022-3-5 56關系模式中關系的六條性質關系模式中關系的六條性質:v表中的每一項都必須是不可分的基本數據項表中的每一項都必須是不可分的基本數據項滿足這一條件的關系稱作滿足第一范式(1NF)的v屬性間的順序無所謂屬性間的順序無所謂v元組間的順序無所謂元組間的順序無所謂v列必須是同質的列必須是同質的即每一列中的分量來自同一域,是同一類型的數據。如TE

34、ACH(T, S, C)=(t1 , s1 , c1), (t1 , t2 , c1)是錯誤的v不同的列可出自同一個域不同的列可出自同一個域如Person=t1,t2 , s1,s2 ,s3,C= c1,c2,則TEACH關系中的T和S都從Person域中取值,但不能寫成TEACH (P, P, C),還應寫成TEACH(T, S, C)v任兩個元組不能完全相同任兩個元組不能完全相同集合內不能有相同的兩個元素2022-3-5 57教工號教工名 所在部門 工資基本工資 補貼工資005001 王武管理學院 800.00 500.00005002 張三計算機學院 900.00 600.00學號姓名年

35、齡0050001李斯22005000223劉六學號姓名年齡0050001李斯220050001李斯220050002劉六23示例示例2022-3-5 58碼和外部碼碼和外部碼v碼(又稱關鍵字碼(又稱關鍵字,key)超碼超碼v在一個關系中,若某個屬性組的值對不同的元組互不相同,則稱該屬性組為該在一個關系中,若某個屬性組的值對不同的元組互不相同,則稱該屬性組為該關系的超碼(超關鍵字)。關系的超碼(超關鍵字)。候選碼候選碼v若某一屬性組是一個關系的超碼,但去掉其中任何一個屬性后就不再是超碼,若某一屬性組是一個關系的超碼,但去掉其中任何一個屬性后就不再是超碼,則稱該屬性組為該關系的候選碼。則稱該屬性組

36、為該關系的候選碼。v候選碼是超碼的最小集合。候選碼是超碼的最小集合。v只有一個屬性的超碼一定是候選碼。只有一個屬性的超碼一定是候選碼。合成碼合成碼v當候選碼包含多個屬性時,稱該候選碼為合成碼。當候選碼包含多個屬性時,稱該候選碼為合成碼。v候選碼的每個構成屬性稱為候選碼的每個構成屬性稱為主屬性主屬性。v關系模式的候選碼由所有屬性構成,稱為關系模式的候選碼由所有屬性構成,稱為全碼全碼(all-keyall-key)。)。主碼主碼v為關系組織物理文件時通常選用一個候選碼作為插入、刪除修改、檢索元組的為關系組織物理文件時通常選用一個候選碼作為插入、刪除修改、檢索元組的操作變量,被選用的候選碼成為主碼。

37、操作變量,被選用的候選碼成為主碼。v主碼一經選定通常不變,一個關系中只有一個主碼。主碼一經選定通常不變,一個關系中只有一個主碼。v外部碼外部碼如果關系如果關系R的某一屬性組不是該關系本身的候選碼,而是另一個關系的候的某一屬性組不是該關系本身的候選碼,而是另一個關系的候選碼,則稱該屬性組是選碼,則稱該屬性組是R的外部碼。的外部碼。2022-3-5 59表的關聯表的關聯供應商號供應商名所在城市B01紅星北京S10宇宙上海T20黎明天津Z01立新重慶零件號顏色供應商號010紅B01312白S10 201藍T20供應商關系供應商關系S S(主碼是(主碼是“供應商號供應商號”)零件關系零件關系P P(主

38、碼是(主碼是“零件號零件號”,外碼是外碼是“供應商號供應商號”) 表的關聯:數據庫中的數據表與數據表之間使用表的關聯:數據庫中的數據表與數據表之間使用相應的字段實現數據表的連接相應的字段實現數據表的連接2022-3-5 60數據完整性數據完整性v數據須符合的條件或數據之間的關系數據須符合的條件或數據之間的關系數據類型準確無誤數據的值滿足范圍設置同一表格數據之間不存在沖突多個表格數據之間不存在沖突v分類實體完整性實體完整性參照完整性參照完整性用戶自定義完整性用戶自定義完整性v系統支持實體完整性和參照完整性由系統自動支持系統應提供定義和檢驗用戶定義的完整性的機制2022-3-5 61v關系的主碼中

39、的屬性值不能為空值關系的主碼中的屬性值不能為空值空值:不知道或無意義空值:不知道或無意義v意義關系對應到現實世界中的實體集,元組對應到實體,實體是相互可區分的,通過主碼來唯一標識,若主碼為空,則出現不可標識的實體,這是不容許的v【例】有關系【例】有關系S(Sno, Sname, Sex, Dno) 則,關系則,關系S在主碼在主碼Sno上取值不可為空上取值不可為空實體完整性實體完整性2022-3-5 62v如果關系如果關系R2的外部碼的外部碼Fk與關系與關系R1的主碼的主碼Pk相對應,則相對應,則R2中的中的每一個元組的每一個元組的Fk值或者等于值或者等于R1 中某個元組的中某個元組的Pk 值,

40、或者為空值,或者為空值值v意義如果關系R2的某個元組t2參照了關系R1的某個元組t1,則t1必須存在v【例】【例】 有關系有關系S(Sno, Sname, Sex, Dno)和)和DEPT(Dno, Dname) 則關系則關系S在在Dno上的取值有兩種可能上的取值有兩種可能空值,表示該學生尚未分到任何系中若非空值,則必須是DEPT關系中某個元組的Dno值,表示該學生不可能分到一個不存在的系中參照完整性參照完整性2022-3-5 63v用戶針對具體的應用環境定義的完整性約束用戶針對具體的應用環境定義的完整性約束條件條件v【例】有關系【例】有關系S(Sno, Sname, Sex, Dno) Sn

41、o要求是要求是8位整數位整數 Sex要求取值為要求取值為“男男”或或“女女”用戶定義完整性用戶定義完整性2022-3-5 64示例示例供應商供應商號號供應供應商名商名所在城所在城市市B01紅星北京S10宇宙上海T20黎明天津Z01立新重慶零件號零件號顏色顏色供應供應商號商號010紅B01312白S10 201藍T20供應商關系供應商關系S S(主碼是(主碼是“供應商號供應商號”)零件關系零件關系P P(主碼是(主碼是“零件號零件號”,外碼是外碼是“供應商號供應商號”) 今要向關系今要向關系P P中插入新行,新行的值分別列出如下。哪些行中插入新行,新行的值分別列出如下。哪些行能夠插入?能夠插入?

42、A A( (037037,綠綠,null) Bnull) B(null(null,黃黃,T20T20) )C C( (201201,紅紅,T20T20) D) D( (105105,黑黑,B01B01) )E E( (101101,黃黃,T11T11) )若另要求零件的顏色不能為黑色的,上述結果如何變化?若另要求零件的顏色不能為黑色的,上述結果如何變化?2022-3-5 65v優點優點簡單,表的概念直觀、單一,用戶易理解非過程化的數據請求,數據請求可以不指明路徑數據獨立性,用戶只需提出“做什么”,無須說明“怎么做”堅實的理論基礎v缺點缺點由存取路經對用戶透明,查詢效率不高,速度慢,需要進行查詢

43、優化。采用靜態數據模型。關系數據模型優缺點關系數據模型優缺點2022-3-5 66主要內容主要內容v現實世界的數據化過程現實世界的數據化過程v概念模型概念模型vER模型的設計方法模型的設計方法v數據模型數據模型v關系模型關系模型vER模型向關系模型的轉化模型向關系模型的轉化2022-3-5 67ER圖向關系模型的轉換圖向關系模型的轉換v轉換內容轉換內容ER圖由實體、實體的屬性和實體之間的聯系三圖由實體、實體的屬性和實體之間的聯系三個要素組成個要素組成關系模型的邏輯結構是一組關系模式的集合關系模型的邏輯結構是一組關系模式的集合將將ER圖轉換為關系模型:將實體、實體的屬性圖轉換為關系模型:將實體、

44、實體的屬性和實體之間的聯系轉化為關系模式。和實體之間的聯系轉化為關系模式。2022-3-5 68ER圖向關系模型的轉換(續)圖向關系模型的轉換(續)v轉換原則轉換原則 一個實體型轉換為一個關系模式。一個實體型轉換為一個關系模式。:實體型的屬性:實體型的屬性:實體型的碼:實體型的碼學生學生 學號學號出生出生日期日期年級年級所在系所在系 平均平均成績成績姓名姓名例,學生實體可以轉換為如下關系模式:例,學生實體可以轉換為如下關系模式:學生(學號,姓名,出生日期,所在系,年級,平均成績)學生(學號,姓名,出生日期,所在系,年級,平均成績)性別、宿舍、班級、檔案材料、教師、課程、教室、教科書性別、宿舍、

45、班級、檔案材料、教師、課程、教室、教科書都分別轉換為一個關系模式。都分別轉換為一個關系模式。2022-3-5 69子類屬性繼承子類屬性繼承Attribute inheritancev同高層實體集相聯系的所有屬性和聯系也適用同高層實體集相聯系的所有屬性和聯系也適用于它的所有低層實體集于它的所有低層實體集v低層實體集中特定的性質僅僅適用于某個特定低層實體集中特定的性質僅僅適用于某個特定的低層實體集。的低層實體集。 職工(職工號,姓名,出生,部門)職工(職工號,姓名,出生,部門) 經理(職工號,姓名,出生,部門,任職時間)經理(職工號,姓名,出生,部門,任職時間)職 工經 理Isa姓名性別年齡職工號

46、任職時間姓名職工號職工出生部門經理任職時間IsaIsa2022-3-5 70ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 一個一個m:n聯系聯系轉換為一個關系模式。轉換為一個關系模式。:與該聯系相連的各實體的碼以及聯:與該聯系相連的各實體的碼以及聯系本身的屬性系本身的屬性:各實體碼的組合:各實體碼的組合例,例,“選修選修”聯系是一個聯系是一個m:n聯系,可以將它轉換為如下關系模式,聯系,可以將它轉換為如下關系模式, 其中學號與課程號為關系的組合碼:其中學號與課程號為關系的組合碼:選修(學號,課程號,成績)選修(學號,課程號,成績)學生學生課程課程選修選修成績成績mn2022-3-571

47、ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 一個一個1:n聯系聯系可以轉換為一個獨立的關系模式,也可以轉換為一個獨立的關系模式,也可以與可以與n端對應的關系模式合并。端對應的關系模式合并。1) 轉換為一個獨立的關系模式轉換為一個獨立的關系模式:與該聯系相連的各實體的碼以及:與該聯系相連的各實體的碼以及聯系本身的屬性聯系本身的屬性:n端實體的碼端實體的碼例,例,“組成組成”聯系為聯系為1:n聯系,將其轉換為關系模式:聯系,將其轉換為關系模式: 1)使其成為一個獨立的關系模式:使其成為一個獨立的關系模式:組成(學號,班級號)組成(學號,班級號)學生學生班級班級組成組成n12022-3-5

48、 72ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 一個一個1:n聯系聯系可以轉換為一個獨立的關系模式,也可以轉換為一個獨立的關系模式,也可以與可以與n端對應的關系模式合并。端對應的關系模式合并。2) 與與n端對應的關系模式合并端對應的關系模式合并:在:在n端關系中加入端關系中加入1端關端關系的碼和聯系本身的屬性系的碼和聯系本身的屬性:不變:不變可以減少系統中的關系個數,一般情況下更傾向可以減少系統中的關系個數,一般情況下更傾向于采用這種方法于采用這種方法 2)將其學生關系模式合并:將其學生關系模式合并:學生(學號,姓名,出生日期,所在系,年級,學生(學號,姓名,出生日期,所在系,年級

49、,班級號班級號,平均成績),平均成績)2022-3-5 73ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 一個一個1:1聯系聯系可以轉換為一個獨立的關系模式,也可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。可以與任意一端對應的關系模式合并。1) 轉換為一個獨立的關系模式轉換為一個獨立的關系模式:與該聯系相連的各實體的碼以及:與該聯系相連的各實體的碼以及聯系本身的屬性聯系本身的屬性:每個實體的碼均是該關系的候:每個實體的碼均是該關系的候選碼選碼教師教師班級班級管理管理112022-3-5 74ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 一個一個1:1聯系聯系

50、可以轉換為一個獨立的關系模式,也可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。可以與任意一端對應的關系模式合并。2) 與某一端對應的關系模式合并與某一端對應的關系模式合并:加入對應關系的碼和聯系:加入對應關系的碼和聯系本身的屬性本身的屬性:不變:不變2022-3-5 75ER圖向關系模型的轉換(續)圖向關系模型的轉換(續)例,例,“管理管理”聯系為聯系為1:1聯系,可以有三種轉換方法:聯系,可以有三種轉換方法:(1)轉換為一個獨立的關系模式:)轉換為一個獨立的關系模式: 管理(教師號,班級號)管理(教師號,班級號) 或或管理(教師號,班級號)管理(教師號,班級號)(2)“管

51、理管理”聯系與班級關系模式合并,則只需在班聯系與班級關系模式合并,則只需在班級關系中加入教師關系的碼,即職工號:級關系中加入教師關系的碼,即職工號: 班級(班級號,學生人數,班級(班級號,學生人數,教師號教師號)(3)“管理管理”聯系與教師關系模式合并,則只需在教聯系與教師關系模式合并,則只需在教師關系中加入班級關系的碼,即班級號:師關系中加入班級關系的碼,即班級號:教師(教師號,姓名,性別,職稱,教師(教師號,姓名,性別,職稱,班級號班級號,是否優秀班主任),是否優秀班主任)2022-3-5 76ER圖向關系模型的轉換(續)圖向關系模型的轉換(續)注意:注意:u從理論上講,從理論上講,1:1

52、聯系可以與任意一端對應的關系聯系可以與任意一端對應的關系模式合并。模式合并。u但在一些情況下,與不同的關系模式合并效率會大但在一些情況下,與不同的關系模式合并效率會大不一樣。因此究竟應該與哪端的關系模式合并需要不一樣。因此究竟應該與哪端的關系模式合并需要依應用的具體情況而定。依應用的具體情況而定。u由于連接操作是最費時的操作,所以一般應以盡量由于連接操作是最費時的操作,所以一般應以盡量減少連接操作為目標。減少連接操作為目標。 例如,如果經常要查詢某個班級的班主任姓名,則例如,如果經常要查詢某個班級的班主任姓名,則將管理聯系與教師關系合并更好些。將管理聯系與教師關系合并更好些。2022-3-5

53、77ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 三個或三個以上實體間的一個多元聯系轉換為一個三個或三個以上實體間的一個多元聯系轉換為一個關系模式。關系模式。:與該多元聯系相連的各實體的碼以:與該多元聯系相連的各實體的碼以及聯系本身的屬性及聯系本身的屬性:各實體碼的組合:各實體碼的組合例,例,“講授講授”聯系是一個三元聯系,可以將它轉換為如下關系模式,聯系是一個三元聯系,可以將它轉換為如下關系模式,其中課程號、教師號和書號為關系的組合碼:其中課程號、教師號和書號為關系的組合碼: 講授(課程號,教師號,書號)講授(課程號,教師號,書號)教師教師講授講授n課程課程教科書教科書mp2022-

54、3-5 78ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 同一實體集的實體間的聯系,即自聯系,也同一實體集的實體間的聯系,即自聯系,也可按上述可按上述1:1、1:n和和m:n三種情況分別處理。三種情況分別處理。例,如果教師實體集內部存在領導與被領導的例,如果教師實體集內部存在領導與被領導的1:n自聯系,自聯系,我們可以將該聯系與教師實體合并,這時主碼教師號將多次出現,我們可以將該聯系與教師實體合并,這時主碼教師號將多次出現,但作用不同,可用不同的屬性名加以區分:但作用不同,可用不同的屬性名加以區分:教師(教師號,姓名,性別,職稱,教師(教師號,姓名,性別,職稱,系主任系主任)教師教師管

55、理管理1n2022-3-5 79ER圖向關系模型的轉換(續)圖向關系模型的轉換(續) 具有相同碼的關系模式可合并。具有相同碼的關系模式可合并。目的:減少系統中的關系個數。目的:減少系統中的關系個數。合并方法:將其中一個關系模式的全部屬性加入合并方法:將其中一個關系模式的全部屬性加入到另一個關系模式中,然后去掉其中的同義屬性到另一個關系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當調整屬性的(可能同名也可能不同名),并適當調整屬性的次序。次序。2022-3-5 80ER圖向關系模型的轉換(續)圖向關系模型的轉換(續)例,例,“擁有擁有”關系模式:關系模式:擁有(學號,性別)擁有(

56、學號,性別)與學生關系模式:與學生關系模式: 學生(學號,姓名,出生日期,所在系,年級,學生(學號,姓名,出生日期,所在系,年級, 班級號,平均成績)班級號,平均成績)都以學號為碼,可以將它們合并為一個關系模式:都以學號為碼,可以將它們合并為一個關系模式:學生(學號,姓名,性別,出生日期,所在系,學生(學號,姓名,性別,出生日期,所在系, 年級,班級號,平均成績)年級,班級號,平均成績)2022-3-5 81總結:總結:ER圖轉換成關系模式集的規則圖轉換成關系模式集的規則v將每個實體類型轉換成一個關系模式,實體的屬性即為關系模將每個實體類型轉換成一個關系模式,實體的屬性即為關系模式的屬性,實體

57、標識符即為關系模式的碼。式的屬性,實體標識符即為關系模式的碼。v二元聯系類型的轉換二元聯系類型的轉換若實體間聯系是若實體間聯系是1:11:1,可以在兩個實體類型轉換成的兩個關系模式中任,可以在兩個實體類型轉換成的兩個關系模式中任意一個關系模式的屬性中加入另一個關系模式的碼和聯系類型的屬性。意一個關系模式的屬性中加入另一個關系模式的碼和聯系類型的屬性。 若實體間聯系是若實體間聯系是1:N1:N,則在,則在N N端實體類型轉換成的關系模式中加入端實體類型轉換成的關系模式中加入1 1端實端實體類型的碼和聯系類型的屬性。體類型的碼和聯系類型的屬性。 若實體間聯系是若實體間聯系是M:NM:N,則將聯系類

58、型也轉換成關系模式,其屬性為兩端,則將聯系類型也轉換成關系模式,其屬性為兩端實體類型的碼加上聯系類型的屬性,而碼為兩端實體碼的組合實體類型的碼加上聯系類型的屬性,而碼為兩端實體碼的組合 v一元聯系類型的轉換:一元聯系類型的轉換:同二元聯系同二元聯系 v三元聯系類型的轉換三元聯系類型的轉換總是將三元聯系類型轉換成關系模式,其屬性為三端實體類型的碼加上總是將三元聯系類型轉換成關系模式,其屬性為三端實體類型的碼加上聯系類型的屬性,而碼為三端實體碼的組合聯系類型的屬性,而碼為三端實體碼的組合。 2022-3-5 82ER模型到關系模型的轉換實例模型到關系模型的轉換實例運動員(編號,姓名,性別,名次,運

59、動員(編號,姓名,性別,名次,上一名次編號,下一名次編號上一名次編號,下一名次編號) 職工(工號,姓名,年齡,性別,職工(工號,姓名,年齡,性別,經理工號經理工號) 職工職工工號工號姓名姓名年齡年齡性別性別領導領導1N運動員運動員編號編號姓名姓名性別性別名次名次順序順序112022-3-5 83ER模型到關系模型的轉換實例模型到關系模型的轉換實例零件零件零件號零件號零件名零件名規規格格數量數量組成組成MN倉庫倉庫商品商品商店商店倉庫號倉庫號倉庫名倉庫名地址地址數量數量商店號商店號商品名商品名商品號商品號商店名商店名日期日期進貨進貨MNP零件(零件號,零件名,規格)零件(零件號,零件名,規格)組

60、成(零件號,組成(零件號,子零件號子零件號,數量),數量) 倉庫(倉庫號,倉庫名,地址)倉庫(倉庫號,倉庫名,地址)商店(商店號,商店名)商店(商店號,商店名)商品(商品號,商品名)商品(商品號,商品名)進貨(商店號,商品名,倉庫號,日期,數量)進貨(商店號,商品名,倉庫號,日期,數量) 2022-3-5 84采用采用ER方法的邏輯設計步驟方法的邏輯設計步驟 關系數據庫的邏輯設計關系數據庫的邏輯設計關系模式規范化關系模式規范化模式評價模式評價是否需要修正是否需要修正從從ER模式導出模式導出初始數據庫模式初始數據庫模式處理需求處理需求ER模式模式 DBMS特征特征用用DBMS語法描述語法描述模式

溫馨提示

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

評論

0/150

提交評論