《數(shù)據(jù)庫設計課件》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)庫設計課件(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標題樣式,An Introduction to Database System,數(shù)據(jù)庫系統(tǒng)概論,An Introduction to Database System,第七章 數(shù)據(jù)庫設計,Client,DB,DB,server,Client,Java,、,C#,C,、,Python,Develop2000,DBS,的,C/S,計算模式,網(wǎng),絡,設,備,Oracle,、,MySQL,SQLServer,、,DB2,Infomix,、,Syb
2、ase,7.1,數(shù)據(jù)庫設計概述,1,、,數(shù)據(jù)庫設計的概念,數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,,構造優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結構,并,據(jù)此建立高效數(shù)據(jù)庫及其應用系統(tǒng),滿足各,種用戶的應用需求。,2,、數(shù)據(jù)庫設計的基本步驟,第,0,步 規(guī)劃,第,1,步 需求分析,第,2,步 概念設計,第,3,步 邏輯設計,第,4,步 物理設計,信息需求,處理需求,DBMS,特征,OS,特征,數(shù)據(jù)庫設計各個階段的設計描述,數(shù)據(jù)庫設計中的各級模式,(1),實體(,Entity,),客觀存在并可相互區(qū)別的事物稱為實體。,可以是具體的人、事、物或抽象的概念。,(2),屬性(,Attribute,),實體所具有的某一
3、特性稱為屬性。,(3),碼(,Key,),唯一標識實體的屬性集稱為碼。,1,、信息世界中的基本概念,7.2,概念結構設計,信息世界中的基本概念,(,續(xù),),(7),聯(lián)系(,Relationship,),現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系,聯(lián)系有,3,種:,1:1 1:n m:n,2,、,概念模型的一種表示方法,ER,方法,ER,方法是,P.P.S.Chen,于,1976,提出的,,ER,方法,也稱,ER,模型,有,ER,圖表示。能夠方便準確地,表達信息世界常用的概念。,一個實例,(,續(xù),),實體之間的聯(lián)系如下:,(1),一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多
4、對多的聯(lián)系。用庫存量來表示某種零件在某個倉庫中的數(shù)量。,(2),一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯(lián)系。,(3),職工之間具有領導,-,被領導關系。即倉庫主任領導若干保管員。,(4),供應商、項目和零件三者之間具有多對多的聯(lián)系,5,、概念模型設計方法和步驟,(1),、設計方法,采用自頂向下和自底向上相結合,(2),、具體做法,選擇局部應用,逐一設計分,ER,圖,多個,ER,圖的集成,消除屬性、命名、結構沖突,消除不必要的冗余(,redundance,),邏輯結構設計步驟圖示,3,、,E-R,圖向關系模型的轉換方法,(,1,)轉化內(nèi)容,將,E-R
5、,圖中的實體轉化為關系,將,E-R,圖中的實體與實體間的聯(lián)系轉化為關系,(,2,)轉換原則,實體:,實體名為關系名;實體屬性為關系屬性,實體間聯(lián)系:,E-R,圖向關系模型的轉換(續(xù)),(,2,)實體型間的聯(lián)系轉換原則,1:1,聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。,1:n,聯(lián)系可以轉換為一個獨立的關系模式,也可以與,n,端對應的關系模式合并。,m:n,聯(lián)系轉換為一個關系模式。,三個或三個以上實體間的一個,多元聯(lián)系,轉換為一個關系模式。,E-R,圖向關系模型的轉換舉例,m:n,聯(lián)系轉換為一個關系模式。,選修(,學號,,,課程號,,成績),三個或三個以上實體間的一個
6、,多元聯(lián)系,轉換為一個關系模式。,講授(,課程號,職工號,書號,),工廠物資管理,ER,圖,4,、數(shù)據(jù)模型的優(yōu)化,得到初步數(shù)據(jù)模型后,還應該適當?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結構,以進一步提高數(shù)據(jù)庫應用系統(tǒng)的性能,這就是,數(shù)據(jù)模型的優(yōu)化,關系數(shù)據(jù)模型的優(yōu)化通常以,規(guī)范化理論,為指導,優(yōu)化數(shù)據(jù)模型的方法,1,、確定數(shù)據(jù)依賴,消除冗余的聯(lián)系,2,、在保持語義的前提下,將關系分解成,3NF,3,、分析對于這樣的應用環(huán)境這些模式是否合適,,確定是否要對它們進行合并,(,反規(guī)范化,),或分解。,優(yōu)化數(shù)據(jù)模型的方法,(,續(xù),),4,、按照需求分析階段得到的各種應用對數(shù)據(jù)處理的要求,對關系模式進行必要的分解,以提高
7、數(shù)據(jù)操作的效率和存儲空間的利用率,常用分解方法,水平分解,垂直分解,基本原則,易變,部分與,穩(wěn)定,部分分開存放,存取頻率較高,部分與,存取頻率較低,部分,分開存放,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解,什么是垂直分解,把關系模式,R,的屬性分解為若干子集合,形成若干子關系模式,垂直分解的適用范圍,取決于分解后,R,上的所有事務的總效率是否得到了提高,4,、設計用戶視圖,(,外模式,),定義用戶外模式時應該注重的問題,(1),使用更符合用戶習慣的別名,(2),針對不同級別的用戶定義不同的,View,,以 滿足系統(tǒng)對安全性的要求。,(3),簡化用戶對系統(tǒng)的使用,元數(shù)據(jù)(,metadata,),描述數(shù)據(jù)庫
8、對象,(,表、屬性、數(shù)據(jù)類型,(,域,),、視圖、索引、權限、主碼、外碼、存儲過程、觸發(fā)器等,),的數(shù)據(jù)。,系統(tǒng)目錄,(System Catalog),是一個數(shù)據(jù)庫,存儲元數(shù)據(jù)的數(shù)據(jù)庫。,7.5,設計案例,系統(tǒng)目錄,系統(tǒng)目錄存儲下列信息,設計案例,系統(tǒng)目錄(續(xù)),關系名、屬性名、數(shù)據(jù)類型,主鍵、外鍵,視圖的外部描述、索引的內(nèi)部描述,用戶對不同數(shù)據(jù)庫對象相應權限的描述,數(shù)據(jù)完整性規(guī)則,說明:,在,Oracle,中,系統(tǒng)目錄由,42,個關系組成,,DBMS,可更新之,用戶只能查詢之。,設計案例,系統(tǒng)目錄(續(xù)),關系定義表,REL_AND_ATTR_CATALOG,(REL_NAME,ATTR_NAME,ATTR_TYPE,PK,FK,FK_REL),視圖的外部描述,VIEW_QUERIES,(VIEW_NAME,QUERY),VIEW_ATTRUBUTES,(VIEW_NAME,ATTR_NAME,),索引的內(nèi)部描述,REL_INDEXES,(REL_NAME,INDEX_NAME,MEMBER_ATTR,ASC_DESC),存儲過程、觸發(fā)器、權限對象描述表略,設計案例,系統(tǒng)目錄(續(xù)),系統(tǒng)目錄的,ED,圖,