ER圖和關(guān)系數(shù)據(jù)庫設(shè)計.ppt_第1頁
ER圖和關(guān)系數(shù)據(jù)庫設(shè)計.ppt_第2頁
ER圖和關(guān)系數(shù)據(jù)庫設(shè)計.ppt_第3頁
ER圖和關(guān)系數(shù)據(jù)庫設(shè)計.ppt_第4頁
ER圖和關(guān)系數(shù)據(jù)庫設(shè)計.ppt_第5頁
已閱讀5頁,還剩118頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、ER圖和關(guān)系數(shù)據(jù)庫設(shè)計ER圖和關(guān)系數(shù)據(jù)庫設(shè)計ER圖和關(guān)系數(shù)據(jù)庫設(shè)計2.1 實(shí)體-聯(lián)系模型( E-R圖)書籍能培養(yǎng)我們的道德情操,給我們巨大的精神力量,鼓舞我們前進(jìn)2.1 實(shí)體-聯(lián)系模型( E-R圖)2.1.1 基本概念 實(shí)體聯(lián)系模型(ER模型)為數(shù)據(jù)庫建模提供了3個基本的語義概念:實(shí)體(Entity)、聯(lián)系(Relationship)、屬性(Attributes)。 實(shí)體是指客觀存在的、對于建立數(shù)據(jù)庫有意義的、能夠被清晰地辨識的事物或概念,實(shí)體用它的若干屬性來描述的?!纠繉?shí)體“學(xué)生”,具有屬性“學(xué)號”、“姓名”、“性別”、“年齡”?;靖拍钏^屬性是指事物的某一方面的特征,屬性可以是基本屬性

2、或?qū)С鰧傩浴@?,學(xué)生的學(xué)號是一個簡單屬性;學(xué)生的家庭地址是一個復(fù)合屬性,它由簡單屬性“城市”、“街道”、“門牌號”等組成。 屬性可以是基本屬性或?qū)С鰧傩?。例如,一個人的生日是基本屬性,年齡是導(dǎo)出屬性,年齡可以根據(jù)生日和當(dāng)前日期導(dǎo)出。 屬性值的取值范圍稱為值域(Domain),例如人的年齡值域?yàn)?250,圖書館的館藏資料類型的值域?yàn)椋〞㈦s志、會議錄、內(nèi)部資料)。 基本概念 ER模型中的聯(lián)系是指實(shí)體類型之間的聯(lián)系。例如,教師教學(xué)生,“教”就是實(shí)體類型“教師”和“學(xué)生”之間的聯(lián)系。聯(lián)系也可以有屬性。例如,學(xué)生實(shí)體與課程實(shí)體之間的聯(lián)系“選課”,可以有屬性學(xué)號、課程號、成績等。2.1.2 ER圖的

3、組成在ER圖(E-R Diagram)中,基本的圖形元素有3個:實(shí)體集合框,聯(lián)系集合框和屬性框。實(shí)體集合框用矩形框表示,實(shí)體之間的聯(lián)系用菱形框表示,屬性用橢圓形框(或圓形框)表示。 ER圖示例基數(shù)比約束基數(shù)比約束(Cardinality Ratio Constraint) 是對參與聯(lián)系的實(shí)體的一種約束。一個聯(lián)系的基數(shù)(Cardinality)是指,對應(yīng)于該聯(lián)系的另一方的實(shí)體集的單個實(shí)體,本實(shí)體集的實(shí)體的數(shù)量。 ER模型支持的實(shí)體之間的一對一、一對多、多對多的聯(lián)系。 基數(shù)比約束示例參與約束 參與約束是對實(shí)體參與度的約束。在一個給定的聯(lián)系中的實(shí)體稱為該聯(lián)系的參與者。所謂實(shí)體參與度是指實(shí)體參與聯(lián)系的

4、最小和最大的次數(shù)。參與的次數(shù)可以用一個整數(shù)偶對(min , max)來表示,其中min和max分別是實(shí)體參與聯(lián)系的最小和最大的次數(shù)。 ER圖的聯(lián)系類型(1)ER圖中的聯(lián)系類型有:遞歸聯(lián)系、二元聯(lián)系和多元聯(lián)系。 遞歸聯(lián)系,即一個實(shí)體集合與其本身的聯(lián)系。二元聯(lián)系是指兩個實(shí)體集合之間的聯(lián)系。 ER圖的聯(lián)系類型(2)多元聯(lián)系是指三個以上實(shí)體集合之間的聯(lián)系。如何建立ER模型在建立ER模型中,首先確定實(shí)體集合,然后確定聯(lián)系集合,最后給出實(shí)體和聯(lián)系的屬性。下面的一些啟發(fā)性規(guī)則可以幫助確定實(shí)體:對于匯集和維護(hù)企業(yè)組織的數(shù)據(jù)有重要意義的、確定的、可以標(biāo)識的對象可以指定為實(shí)體;每個實(shí)質(zhì)性的確定的對象,如人員、位置

5、、事物等可指定為實(shí)體;抽象概念如部門或通信干線等可指定為實(shí)體;在由唯一的術(shù)語標(biāo)識的環(huán)境中的非實(shí)質(zhì)性的概念,也可指定為實(shí)體,例如信用貨款備忘錄中的信用度,可作為一個實(shí)體。 ER圖示例民航航班管理數(shù)據(jù)模型 首先選擇實(shí)體集及相應(yīng)的屬性。為表示方便,約定如下符號: CHAR(n) 長度為n的字符串 INT(n) n位數(shù)字的整數(shù) 實(shí)體集和屬性選擇如下。 實(shí)體集1 旅客 PASSENGERS 屬性: 姓名 NAME:CHAR(30) 住址 ADDRESS:CHAR(30) 電話 PHONE:INT(10) NAME和ADDRESS組成本實(shí)體集的關(guān)鍵字。 民航航班管理數(shù)據(jù)模型實(shí)體集2 航班FLIGHTS 屬

6、性: 航班號 NUMBER:INT(3) 出發(fā)地 SOURCE:CHAR(3) 目的地 DEST:CHAR(3) 開點(diǎn) DEP-TIME:INT(4) 到點(diǎn) ARR-TIME:INT(4) 為簡化起見,假設(shè)是直達(dá)航班。本實(shí)體集可用 NUMBER 作關(guān)鍵字, 也可用SOURCE與DEP-TIME組成關(guān)鍵字。 民航航班管理數(shù)據(jù)模型實(shí)體集3 航次DEPARTURES 屬性: 日期DATE:INT(3) 本實(shí)體集的每一個實(shí)體是在某日起飛的航次。實(shí)體集4 機(jī)型PLANES 屬性: 制造廠 MANUFACTURER:CHAR(10) 型號MODEL-NO:CHAR(10) 這兩個屬性組成實(shí)體集的關(guān)鍵字。實(shí)

7、體集5 飛機(jī)AIRCRAFT 屬性: 序號SERIAL-NO:INT(5) 民航航班管理數(shù)據(jù)模型實(shí)體集6 職工 PERSONNEL 屬性: 職工號 EMP-NO:INT(6) 姓名NAME:CHAR(30) 住址ADDRESS:CHAR(30) 工資SALARY:INT(6) 職工號EMP-NO是本實(shí)體集的關(guān)鍵字。實(shí)體集7 飛行員 PILOTS 實(shí)體集PILOTS 無屬性。民航航班管理數(shù)據(jù)模型實(shí)體集之間的聯(lián)系集定義如下: (1)ISA(PILOTS,PERSONNEL) 用于指明具體的飛行員個人,它是一對一聯(lián)系。 (2)BOOKED-ON(PASSENGERS,DEPARTURES) 表示訂票

8、,它是多對多聯(lián)系。 (3)INSTANCE-OF(DEPARTURES,F(xiàn)LIGHTS) 表示一次飛行航班,從DEPARTURES到FLIGHTS是多對一聯(lián)系。民航航班管理數(shù)據(jù)模型 (4)ASSIGNED-TO(PERSONNEL,DEPARTURES) 表示每個航次的空中乘務(wù)員,它是多對多聯(lián)系。 (5)CAN-FLY(PILOTS,PLANES) 表示能駕駛飛機(jī)的飛行員,是多對多聯(lián)系。(6)TYPE(AIRCRAFT,PLANES) 從AIRCRAFT到PLANES是多對一聯(lián)系,表示每架飛機(jī)的機(jī)型。 實(shí)體間的依賴如果一個實(shí)體集合的存在與否是依賴于另一個實(shí)體集合的,那么稱這兩個實(shí)體集合之間存在

9、依賴關(guān)系?!纠考覍俸吐毠?、病房和醫(yī)院前者稱為依賴實(shí)體集合,又叫作弱實(shí)體集合可用雙矩形框表示弱實(shí)體集合(或用帶圓角的矩形框表示)。后者叫作主實(shí)體集合或強(qiáng)實(shí)體集合,用單個矩形框表示。主實(shí)體集合與它的弱實(shí)體集合之間的聯(lián)系稱為弱聯(lián)系集合或依賴聯(lián)系。在表示聯(lián)系的菱形框內(nèi)加上字符E,可表示弱聯(lián)系集合(或用雙菱形框表示)。用一個指向弱實(shí)體集合框的箭頭表示依賴聯(lián)系。 【例】實(shí)體間的依賴2.2 實(shí)體-聯(lián)系模型轉(zhuǎn)換為關(guān)系模型把一個E-R模型轉(zhuǎn)化為關(guān)系模型,可遵守下列規(guī)則:轉(zhuǎn)換規(guī)則1規(guī)則1:每一個實(shí)體集轉(zhuǎn)換為一個關(guān)系。 實(shí)體集中的實(shí)體的屬性成為該關(guān)系的屬性。實(shí)體的標(biāo)識符成為該關(guān)系的關(guān)鍵字。每個實(shí)體由該關(guān)系的一個元

10、組表示。例如實(shí)體集product轉(zhuǎn)換成關(guān)系PRODUCT(product-number, product-name, cost-price)。 轉(zhuǎn)換規(guī)則2規(guī)則2:每一個聯(lián)系集轉(zhuǎn)換成一個關(guān)系, 該聯(lián)系集自身所擁有的屬性,加入到該關(guān)系中去,而該關(guān)系的主關(guān)鍵字由該聯(lián)系集所聯(lián)系的實(shí)體集的關(guān)鍵字組成。例如聯(lián)系集 Warehouse-product-order 轉(zhuǎn)換成關(guān)系 WAREHOUSE-PRODUCT-ORDER (warehouse-no, product-no, order-no,quantity-order) 轉(zhuǎn)換規(guī)則3規(guī)則3:如果一個聯(lián)系集的兩側(cè)標(biāo)明的基數(shù)比是1N(一對多聯(lián)系),且聯(lián)系無自身

11、的屬性,則在1側(cè)的實(shí)體集的關(guān)鍵字應(yīng)加入到另一側(cè)的實(shí)體轉(zhuǎn)換成的關(guān)系中,聯(lián)系集本身可不必單獨(dú)轉(zhuǎn)換成關(guān)系。例如下圖實(shí)體集CUSTOMER的關(guān)鍵字應(yīng)加入到對應(yīng)于實(shí)體集ORDER的關(guān)系中去。經(jīng)過轉(zhuǎn)換后可得關(guān)系模式為: CUSTOMER (cus-no, cus-name) ORDER(order-no, order-date, cus-no)其中,對于關(guān)系ORDER,屬性cus-no是外來關(guān)鍵字。 轉(zhuǎn)換規(guī)則3 11的聯(lián)系也可以類似處理。如果1n的n一方的實(shí)體是部分參與聯(lián)系,為了避免在轉(zhuǎn)換后的關(guān)系中的外來關(guān)鍵字出現(xiàn)空值(NULL),可以分別把實(shí)體集和聯(lián)系集按照規(guī)則1、2轉(zhuǎn)換成關(guān)系。 【轉(zhuǎn)換示例】 【例】一

12、個簡單的足球隊數(shù)據(jù)模型。 實(shí)體集選擇如下: (1)球員 PLAYERS 屬性:姓名 NAME 籍貫 BPLACE 生日BDATE NAME為關(guān)鍵字。 (2)位置POSITIONS 屬性:名稱POSNAME 人數(shù)POSNUMBER POSNAME或POSNUMBER均可作關(guān)鍵字,一般用POSNAME。 【轉(zhuǎn)換示例】 (3)球隊TEAMS 屬性:球隊名TEAM-NAME 城市 CITY 年 YEAR TEAM-NAME和YEAR組成關(guān)鍵字。 上述實(shí)體集之間的聯(lián)系集有: (1)打球PLAYS(PLAYERS,POSITIONS) 從PLAYERS到POSITIONS是多對多聯(lián)系。 (2)參賽SEAS

13、ON(PLAYERS,TEAMS) 從PLAYERS到TEAM是多對一聯(lián)系。它有一個屬性BA,表示比賽場次。 【轉(zhuǎn)換示例】 由上述實(shí)體集和聯(lián)系集構(gòu)成的ER圖如圖所示,它所轉(zhuǎn)換成的關(guān)系模型具有如下5個關(guān)系: PLAYERS (NAME,BPLACE,BDATE) TEAMS (TEAM-NAME,CITY,YEAR) POSITIONS (POSNAME,POSNUMBER) PLAYS (NAME,POSNAME) SEASON (NAME,TEAM-NAME,YEAR,BA)2.3 關(guān)系數(shù)據(jù)庫設(shè)計理論基礎(chǔ)概述關(guān)系數(shù)據(jù)庫設(shè)計的核心是關(guān)系模式的設(shè)計,即按照一定的原則,從數(shù)量眾多而又相互關(guān)聯(lián)的數(shù)據(jù)

14、中,構(gòu)造出一組既能較好地反映現(xiàn)實(shí)世界、又具有良好性能的關(guān)系模式。關(guān)系范例的描述SCT (S,C,CN,GRADE,TNAME,BDATE,SALARY).其中的屬性依次代表學(xué)號、課程號、課程名、成績、任課教師姓名、教師出生日期和工資。規(guī)定:每個學(xué)生選修每門課只有一個成績;每門課只有唯一的課程號,并且由一個教師擔(dān)任?!臼纠繂栴} SCT(學(xué)號,課程號,課程名,成績,任課教師姓名,教師出生日期和工資)通過分析不難發(fā)現(xiàn)SCT存在如下問題。 1數(shù)據(jù)冗余度問題(如教師姓名) 2修改問題(如修改教師工資) 3插入問題(如未開課的教師信息) 4刪除問題 (如教師調(diào)離學(xué)校)【示例】改進(jìn)如果把SCT分為如下三關(guān)

15、系模式:選課關(guān)系:SC(學(xué)號,課程號, 成績)課程關(guān)系:C(課程號,課程名,教師姓名)教師關(guān)系:T(教師姓名,教師出生日期,工資)則上述問題便都得到解決。函數(shù)依賴(1)設(shè)R(U)是屬性集U上的一個關(guān)系模式,X和Y均為UA1,A2,An的子集,r為R的任一個關(guān)系。如果對于r中的任意兩個元組u、v,只要有uXvX ,就有uYvY,則稱X 函數(shù)決定Y或稱Y函數(shù)依賴于X,記為X Y。其中X 稱為決定因素(Determinant)。即對于關(guān)系模式R中的屬性子集X的每一個值,任何時候都只有一個確定的Y值與之對應(yīng)。函數(shù)依賴示意圖但是S#和C#、S#和TNAME間不存在函數(shù)依賴關(guān)系。函數(shù)依賴(2)在R(U)中

16、,如果XY,并且對于X的任何真子集X 都有X Y,則稱Y完全函數(shù)依賴于X,記作 (簡記為XY )?!纠緾# CN如果XY,且X中存在一個真子集X ,使得X Y成立,則稱Y部分函數(shù)依賴于X,記作 。 【例】(S#,C#) CN 根據(jù)聯(lián)系確定函數(shù)依賴關(guān)系如果X和Y之間的聯(lián)系是1:1的,則存在函數(shù)依賴XY和YX。【如】C#和CN如果X和Y之間的聯(lián)系是n:1的,則它們之間只存在函數(shù)依賴XY。 【如】 C#TNAME如果X和Y之間的聯(lián)系是m:n的,則它們之間不存在函數(shù)依賴。 【如】 C#和S#關(guān)鍵字設(shè)R(U)為一關(guān)系模式,F(xiàn)為R的函數(shù)依賴集,X為屬性集U的子集,如果滿足: (1)XUF+; (2)不存

17、在Y X,使得YUF+; 則稱X是R的關(guān)鍵字。 分析條件(1)要求關(guān)鍵字能唯一地標(biāo)識元組。條件(2)保證關(guān)鍵字是最小的集合,不存在多余的屬性。關(guān)鍵字分類候選關(guān)鍵字:任何一個能函數(shù)決定全部屬性的最小屬性集。主關(guān)鍵字: 在候選關(guān)鍵字中選定一個作為關(guān)鍵字,稱為該關(guān)系的主關(guān)鍵字。關(guān)系中主關(guān)鍵字是唯一的。外部關(guān)鍵字:關(guān)系中某個屬性或?qū)傩越M合并非關(guān)鍵字,但卻是另一個關(guān)系的主關(guān)鍵字,稱此屬性或?qū)傩越M合為本關(guān)系的外部關(guān)鍵字。關(guān)系之間的聯(lián)系是通過外部關(guān)鍵字實(shí)現(xiàn)的。主屬性:包含在任一關(guān)鍵字中的屬性。關(guān)系模式的規(guī)范化第一范式(1NF)第二范式(2NF)第三范式(3NF)BCNF1、第一范式(1NF)如果關(guān)系模式R的

18、所有的域?yàn)楹唵斡?,其元素不可再分,則稱R為第一范式的關(guān)系,簡記為R1NF。1NF的關(guān)系模式要求屬性不能再分,即屬性項不能是屬性組。下列兩個關(guān)系模式均不是第一范式: 部門(部門號,名稱,經(jīng)理(正經(jīng)理,副經(jīng)理) 雇員(雇員號,姓名,工資(基本工資,補(bǔ)貼,獎金) 可以轉(zhuǎn)化為如下1NF的關(guān)系: 部門(部門號,名稱,正經(jīng)理,副經(jīng)理)。 雇員(雇員號,姓名,基本工資,補(bǔ)貼,獎金)。 2、第二范式(2NF)如果R1NF,且每個非主屬性完全函數(shù)依賴于關(guān)鍵字,則關(guān)系模式R屬于第二范式,簡記為R2NF。【例】SCT (S,C,CN,GRADE,TNAME,BDATE,SALARY). 它滿足第一范式,但是存在非主

19、屬性對關(guān)鍵字的部分函數(shù)依賴。 如:C TNAME可以把SCT分解為如下兩個關(guān)系模式: SC( S,C,GRADE) CT( C,CN, TNAME,BDATE,SALARY) 在CT中, C TNAME, TNAME SALARY, 存在SALARY對C 的傳遞函數(shù)依賴。 【問題】不能增加沒開課的教師信息。3、第三范式(3NF)如果R2NF,且每個非主屬性都不傳遞函數(shù)依賴于關(guān)鍵字,則稱關(guān)系模式R為第三范式,簡記為R3NF。SC是第三范式的,CT不是第三范式的,可以把CT進(jìn)一步分解為如下兩個關(guān)系模式: C( C ,CN,TNAME) T( TNAME ,BDATE,SALARY)3NF問題示例

20、關(guān)系模式R(S#,C#,CN,GRADE)中,(S#,C#)和(S#, CN)都可以作為關(guān)鍵字,S#、C#、CN都是主屬性,非主屬性GRADE沒有部分和傳遞函數(shù)依賴,所以R3NF?!締栴}】當(dāng)一門課被多個學(xué)生選修時,CN的數(shù)據(jù)冗余問題嚴(yán)重?!驹颉恐鲗傩訡# CN,存在部分函數(shù)依賴。【解決方案】 R(S#,C#,GRADE)4、BCNF若關(guān)系模式R1NF,且函數(shù)依賴集中每一個形式為XA的非平凡函數(shù)依賴的決定因素都含有關(guān)鍵字,則稱R是Boyde/Codd范式的,簡記為RBCNF??梢缘贸鲫P(guān)于BCNF關(guān)系模式的以下結(jié)論: (1)非主屬性對關(guān)鍵字完全函數(shù)依賴; (2)主屬性對不包含它的關(guān)鍵字完全函數(shù)依

21、賴; (3)沒有屬性完全函數(shù)依賴于一組非主屬性。 一個BCNF范式必定是3NF的。四種范式間的關(guān)系 四種范式之間存在如下的關(guān)系: BCNF3NF2NF1NF 即: 1NF 消除非主屬性對關(guān)鍵字的部分函數(shù)依賴 2NF 消除非主屬性對關(guān)鍵字的傳遞函數(shù)依賴 3NF 消除主屬性對關(guān)鍵字的部分和傳遞函數(shù)依賴 BCNF【注意】在實(shí)際應(yīng)用中最有價值的是3NF和BCNF,一般分解到3NF已經(jīng)足夠,但用來表示一個實(shí)體集或一個1:n聯(lián)系的關(guān)系一般已經(jīng)是BCNF。在應(yīng)用規(guī)范化理論時,千萬不要盲目追求高范式,因?yàn)椴⒎且?guī)范化程度越高的關(guān)系模式越好。2.4 關(guān)系數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計的含義 數(shù)據(jù)庫設(shè)計一般不是指DBMS的設(shè)

22、計,而是指在現(xiàn)有DBMS上建立數(shù)據(jù)庫的過程。數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計包含兩方面的內(nèi)容:結(jié)構(gòu)特性的設(shè)計,也就是數(shù)據(jù)庫模型或數(shù)據(jù)結(jié)構(gòu)的設(shè)計。(重點(diǎn))行為特性的設(shè)計,即應(yīng)用程序、事務(wù)處理的設(shè)計。 數(shù)據(jù)庫設(shè)計的目標(biāo) 1滿足用戶的應(yīng)用要求,即能夠正確地反映用戶的現(xiàn)實(shí)環(huán)境。 2準(zhǔn)確模擬現(xiàn)實(shí)世界,即準(zhǔn)確地反映現(xiàn)實(shí)世界的信息類別與信息之間的聯(lián)系。 3能被某個DBMS所接受。 4具有良好的性能、較高的質(zhì)量。存取效率:每個邏輯存取所需的平均物理存取次數(shù)的倒數(shù)。存儲效率:存儲每個未加工的數(shù)據(jù)所需要的實(shí)際存儲空間的平均字節(jié)數(shù)的倒數(shù)。其他性能,如便于維護(hù)與擴(kuò)充,有較好的安全性與完整性,系統(tǒng)出現(xiàn)故障時容易恢復(fù)等。 數(shù)據(jù)庫設(shè)計

23、的一般過程數(shù)據(jù)庫生命周期一般包含數(shù)據(jù)庫系統(tǒng)的規(guī)劃、設(shè)計、實(shí)現(xiàn)、運(yùn)行管理和維護(hù)、擴(kuò)充和重構(gòu)等大的階段。數(shù)據(jù)庫設(shè)計過程大致分為以下四個階段。 1需求分析 2概念模型設(shè)計 3邏輯設(shè)計 4物理設(shè)計 2.4.1 數(shù)據(jù)需求分析主要任務(wù)是通過對現(xiàn)行的手工系統(tǒng)或已有的計算機(jī)系統(tǒng)進(jìn)行調(diào)查和分析,以確定企業(yè)對即將建立的數(shù)據(jù)庫應(yīng)用系統(tǒng)的信息要求和處理要求。系統(tǒng)調(diào)查系統(tǒng)分析系統(tǒng)分析文檔系統(tǒng)調(diào)查 系統(tǒng)調(diào)查:目的是了解企業(yè)的業(yè)務(wù)狀況、信息流程、經(jīng)營方式、處理要求以及組織機(jī)構(gòu)等??梢园ㄒ韵聨讉€方面: (1)組織機(jī)構(gòu)調(diào)查。 (2)業(yè)務(wù)流程調(diào)查。 (3)各部門對系統(tǒng)的信息要求和處理要求。 (4)企業(yè)的限制和目標(biāo)。系統(tǒng)分析 對

24、調(diào)查所獲得的原始資料必須進(jìn)行綜合的分析,權(quán)衡各方面的利弊,確定數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和程序設(shè)計的策略和方案。 (1)業(yè)務(wù)流程分析。 (2)信息收集和分析。 (3)處理要求分析。 (4)其他各種限制和要求分析。系統(tǒng)分析文檔 系統(tǒng)分析的結(jié)果形成系統(tǒng)分析報告,其主要內(nèi)容包括系統(tǒng)目標(biāo)、需求定義、功能說明、系統(tǒng)結(jié)構(gòu)、計算機(jī)處理的邊界與流程、工作量與預(yù)算經(jīng)費(fèi)等。 其中,與數(shù)據(jù)庫設(shè)計關(guān)系最大的文檔有業(yè)務(wù)流程圖、數(shù)據(jù)流圖、數(shù)據(jù)詞典等。一、數(shù)據(jù)流圖數(shù)據(jù)流圖 數(shù)據(jù)流圖(Data Flow Diagram,簡稱DFD)是描述系統(tǒng)的重要工具,它力圖從數(shù)據(jù)傳遞和處理的角度,以圖形的方式表示數(shù)據(jù)處理系統(tǒng)的工作狀況。 數(shù)據(jù)流圖的組

25、成數(shù)據(jù)流圖通常由如圖所示的4種基本符號組成。數(shù)據(jù)加工(P)外部項(S)數(shù)據(jù)流(F)數(shù)據(jù)存儲(D)數(shù)據(jù)流圖的組成 數(shù)據(jù)流。數(shù)據(jù)流即流動中的數(shù)據(jù),代表信息流過的通道。 數(shù)據(jù)加工。數(shù)據(jù)加工是對進(jìn)入的數(shù)據(jù)流進(jìn)行特定加工的過程,數(shù)據(jù)流被處理后將產(chǎn)生新的數(shù)據(jù)流。 數(shù)據(jù)存儲。代表一種數(shù)據(jù)的暫存場所,可對其進(jìn)行存取操作。 外部項。外部項用以說明數(shù)據(jù)的來源和歸宿,即表示數(shù)據(jù)的源點(diǎn)和終點(diǎn)。 示例下圖是一個簡單的DFD。它表示數(shù)據(jù)流“付款單”從外部項“客戶”(源點(diǎn))流出,經(jīng)加工“帳務(wù)處理”轉(zhuǎn)換成數(shù)據(jù)流“明細(xì)帳”,再經(jīng)加工“打印帳簿”轉(zhuǎn)換成數(shù)據(jù)流“帳簿”,最后流向外部項“會計”(終點(diǎn)),加工“打印帳簿”在進(jìn)行轉(zhuǎn)換時,

26、從數(shù)據(jù)存儲“總帳”中讀取數(shù)據(jù)。F3帳簿F2明細(xì)帳F1付款單D總帳打印帳簿P2帳務(wù)處理P1S1客戶S2會計說明兩個符號(加工、外部項、數(shù)據(jù)存儲)之間可以有多個數(shù)據(jù)流存在。加工的符號分成標(biāo)識部分和功能描述部分。標(biāo)識部分用于標(biāo)注加工編號,應(yīng)具有唯一性;功能描述部分用來簡要寫出加工名。加工要逐層分解,以求得分解后的加工功能簡單、易于理解。數(shù)據(jù)流圖的繪制步驟(1)(1)確定所開發(fā)的系統(tǒng)的外部項(外部實(shí)體),即系統(tǒng)的數(shù)據(jù)來源和去處。(2)確定整個系統(tǒng)的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流,把系統(tǒng)作為一個加工環(huán)節(jié),畫出關(guān)聯(lián)圖。(3)確定系統(tǒng)的主要信息處理功能,按此將整個系統(tǒng)分解成幾個加工環(huán)節(jié)(子系統(tǒng))確定每個加工的輸出與

27、輸入數(shù)據(jù)流以及與這些加工有關(guān)的數(shù)據(jù)存儲。 (4)根據(jù)自頂向下,逐層分解的原則,對上層圖中全部或部分加工環(huán)節(jié)進(jìn)行分解,分為若干子圖,下層是上層的進(jìn)一步說明。 數(shù)據(jù)流圖的繪制步驟(2)(5)重復(fù)步驟(4),直到逐層分解結(jié)束。(6)對圖進(jìn)行檢查和合理布局,主要檢查分解是否恰當(dāng)、徹底,DFD中各層是否有遺漏、重復(fù)、沖突之處,各層DFD及同層DFD之間關(guān)系是否爭取及命名、編號是否確切、合理等,對錯誤與不當(dāng)之處進(jìn)行修改。(7)和用戶進(jìn)行交流,在用戶完全理解數(shù)據(jù)圖的內(nèi)容的基礎(chǔ)上征求用戶的意見。 數(shù)據(jù)流圖的繪制步驟(3)a關(guān)聯(lián)圖.3.2圖0BQRLSMABCABCDEFG12356圖2.131NMPBL圖2b

28、頂層圖d三層圖c二層圖繪制數(shù)據(jù)流圖過程示意圖銀行取款數(shù)據(jù)流圖(1)(1)儲戶將填好的取款單、存折交銀行,銀行做如下處理: 審核并查對帳目,將不合格的存折、取款單退回儲戶,合格的存折、取款單送取款處理。 處理取款修改帳目,將存折、利息單、結(jié)算清單及現(xiàn)金交儲戶,同時將取款單存檔。銀行取款數(shù)據(jù)流圖(2)畫出銀行取款處理數(shù)據(jù)流圖。第一步,畫出關(guān)聯(lián)數(shù)據(jù)流圖。F2存折、利率單、結(jié)算清單、現(xiàn)金F1取款單、存折取款系統(tǒng)PS儲戶S儲戶 取款處理關(guān)聯(lián)圖銀行取款數(shù)據(jù)流圖(3) 第二步,逐層分解加工,畫出下層DFD。 取款處理頂層圖F1取款單、存折F1.2不合格存折、取款單F2存折、利率單、結(jié)算清單、現(xiàn)金 D1帳目庫

29、F1.1合格存折、取款單取款審核P1S儲戶S儲戶 D2取款記錄取款處理P2【說明】數(shù)據(jù)流圖只能描述系統(tǒng)的概貌,無法表達(dá)出每個數(shù)據(jù)和處理的具體含義,這就需要用數(shù)據(jù)字典來彌補(bǔ)缺點(diǎn)。二、數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典(Data Dictionary,DD)用于定義數(shù)據(jù)流圖中出現(xiàn)的所有數(shù)據(jù)元素和處理,即給出其確切的內(nèi)涵解釋。這些元素是:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯和外部實(shí)體。采用的符號= 表示定義為。例如,學(xué)生情況學(xué)號+姓名+成績+地址;+ 表示“與”: | 表示“或”。如,性別男|女;( ) 表示整體,與數(shù)學(xué)中用法相同;m.n 表示值域。如,星期幾=1.7,月份=1.12;采用的符號 表

30、示重復(fù)若干次。例如,通訊錄文件:姓名+電話+郵碼 表示可選。例如,存款單=儲戶帳號+存款額+日期+密碼,表示存款時可以/不帶密碼?!窘ㄗh】數(shù)據(jù)流編號用字母”DF”打頭,數(shù)據(jù)結(jié)構(gòu)用”DS”打頭,數(shù)據(jù)元素用“D”打頭,文件”F”打頭,加工”P”打頭,外部項”E”打頭。1、數(shù)據(jù)項數(shù)據(jù)項又稱數(shù)據(jù)元素,是系統(tǒng)處理的基本數(shù)據(jù)單元。在數(shù)據(jù)字典中,數(shù)據(jù)項條目包括數(shù)據(jù)項編號(唯一)、名稱、別名、意義、類型、長度、值域、備注等屬性?!纠繑?shù)據(jù)項 數(shù)據(jù)項編號:D02 01 數(shù)據(jù)項名稱:材料編號 別 名:材料代號 簡 述: 某種材料的代碼 類型及寬度:字符型,4位 取 值 范 圍: 0001-9999 2、數(shù)據(jù)結(jié)構(gòu)數(shù)

31、據(jù)結(jié)構(gòu)描述數(shù)據(jù)項間的關(guān)系,可由若干數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)項+數(shù)據(jù)結(jié)構(gòu)混合組成。數(shù)據(jù)字典中,數(shù)據(jù)結(jié)構(gòu)條目包括數(shù)據(jù)結(jié)構(gòu)的名稱、編號、簡單描述及其組成等?!纠繑?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)編號:DS03-01 數(shù)據(jù)結(jié)構(gòu)名稱:用戶訂貨單 簡 述:用戶填的用戶情況 及訂貨信息 數(shù)據(jù)結(jié)構(gòu)組成:DS03-02+DS03-03 + DS03-043、數(shù)據(jù)流數(shù)據(jù)流描述數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中的傳輸路徑。數(shù)據(jù)流條目包括數(shù)據(jù)流來源、去向、組成和流量等屬性。【例】數(shù)據(jù)流 數(shù)據(jù)流的編號:DF03 08 數(shù)據(jù)流的名稱:領(lǐng)料單 簡 述:車間開出的領(lǐng)料單 數(shù)據(jù)流的來源:車間 數(shù)據(jù)流的去向:發(fā)料處理模塊 數(shù)據(jù)流的組成:材料編號+材料名稱+

32、 需用 數(shù)量+日期+領(lǐng)用單位 數(shù) 據(jù) 流 量: 10份/每小時 高 峰 流 量: 20份/小時 (上午 9:0011:00 )4、數(shù)據(jù)存儲數(shù)據(jù)存儲指數(shù)據(jù)暫存或永久保存的地方。數(shù)據(jù)存儲條目包括:名稱、編號、流入/流出的數(shù)據(jù)流、組成、存取分析和關(guān)鍵字說明等?!纠繑?shù)據(jù)存儲 數(shù)據(jù)存儲編號:F03-08 數(shù)據(jù)存儲名稱:庫存賬 簡 述:存放配件的庫存量和單價 數(shù)據(jù)存儲組成:配件編號 +配件名稱 +單價 +庫存量 +備注 關(guān) 鍵 字:配件編號 相關(guān)聯(lián)的處理:P02,P035、處理邏輯處理邏輯條目是對數(shù)據(jù)流程圖中最底層的處理邏輯加以說明。處理邏輯條目包括:在數(shù)據(jù)流程圖中的名稱、編號、對處理過程的簡單描述、處

33、理過程的輸入/輸出、數(shù)據(jù)流及其來源和去向、主要功能的描述等。【例】處理邏輯 處理邏輯編號:P02 03處理邏輯名稱: 檢查庫存情況簡 述:根據(jù)合格訂單零件號檢查 零件庫存,決定是否供貨輸入的數(shù)據(jù)流:合格訂單處 理:若庫存量=訂貨量, 則供貨,否則不供貨 輸出的數(shù)據(jù)流:缺貨通知單,供貨單 6、外部實(shí)體外部實(shí)體是系統(tǒng)環(huán)境中的源點(diǎn)和終點(diǎn)。數(shù)據(jù)字典中,外部實(shí)體條目的內(nèi)容包括編號、名稱、輸出數(shù)據(jù)流、輸入數(shù)據(jù)流、備注?!纠客獠繉?shí)體 外部實(shí)體編號: E03 01 外部實(shí)體名稱: 用戶 簡 述: 購置本單位配件的用戶 輸入的數(shù)據(jù)流: F03-06,F(xiàn)03-08 輸出的數(shù)據(jù)流: F03-01 說明數(shù)據(jù)字典(D

34、D)可以是手工的,也可以是自動化的。手工DD是把字典條目逐一填寫到卡片或表格中,再把它們按一定順序排好、裝訂成冊以便查閱。(適合小型系統(tǒng)) 也可以編寫電子DD。用計算機(jī)對字典實(shí)施管理。(適合大、中型系統(tǒng))2.4.2 概念結(jié)構(gòu)設(shè)計 概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念模型是獨(dú)立于任何計算機(jī)系統(tǒng)的信息結(jié)構(gòu)模型,它是現(xiàn)實(shí)世界的“純粹”表示。按照從簡單到復(fù)雜的原則,使用E-R方法設(shè)計概念模型一般要經(jīng)過三個步驟,即設(shè)計用戶分E-R圖,合并用戶分E-R圖構(gòu)成總體 E-R圖,以及對總體E-R圖進(jìn)行優(yōu)化。一、分E-R圖的設(shè)計分E-R圖即用戶局部視圖。(1)劃分用戶組 首先應(yīng)將數(shù)據(jù)要求和處理要求接近的用戶分在一組;其次應(yīng)考

35、慮用戶組的規(guī)模(一般局部視圖內(nèi)的實(shí)體數(shù)不超過9個)。(2)確定實(shí)體及其屬性 實(shí)體和屬性之間并不存在一個形式上可以截然劃分的界限。 【例】學(xué)生-系分E-R圖的設(shè)計在給定的應(yīng)用環(huán)境中,可以遵循以下基本準(zhǔn)則來劃分實(shí)體和屬性。 屬性與它所描述的實(shí)體之間只能是單值聯(lián)系,即聯(lián)系只能是一對多的。【例】一個學(xué)生參加社會團(tuán)體 屬性不能再有需要進(jìn)一步描述的性質(zhì)。【例】學(xué)生和系 作為屬性的數(shù)據(jù)項,除了它所描述的實(shí)體之外,不能再與其他實(shí)體具有聯(lián)系。【例】社會團(tuán)體的指導(dǎo)教師符合這三條準(zhǔn)則的數(shù)據(jù)項,一般把它作為屬性。 分E-R圖的設(shè)計 (3)確定實(shí)體之間的聯(lián)系及其屬性 在標(biāo)定實(shí)體和屬性的同時,要通過分析確定實(shí)體之間的聯(lián)系

36、以及聯(lián)系的屬性,并根據(jù)語義確定聯(lián)系的類型?!纠肯?教師:1:n;學(xué)生-課程:m:n 聯(lián)系“選課”的屬性:成績分E-R圖的設(shè)計(4)設(shè)計分E-R圖 在確定了實(shí)體、聯(lián)系和屬性之后,各分E-R圖的設(shè)計就水到渠成了?!纠?學(xué)校教學(xué)管理師資:涉及系、教師、課程、課題等教務(wù):系、學(xué)生、課程、教師等文體:學(xué)生、指導(dǎo)教師、課外團(tuán)體、特長等【例】師資部門分E-R圖【例】教務(wù)部門分E-R圖【例】文體部門分E-R圖二、總體E-R圖的設(shè)計總體E-R圖即全局視圖,它的設(shè)計就是分E-R圖的綜合,即所謂視圖的集成。視圖集成的具體做法是:選出最大的一個分E-R圖作為基礎(chǔ),將其他分E-R圖逐一合并上去。總體E-R圖的設(shè)計在

37、合并的過程中必須注意以下工作。 (1)消除命名沖突 (2)綜合同一實(shí)體的所有屬性 (3)保留兩實(shí)體之間的不同聯(lián)系【例如】工廠管理數(shù)據(jù)庫中:職工-設(shè)備對生產(chǎn)部門來講,聯(lián)系為:使用對設(shè)備管理部門來講,聯(lián)系為:保養(yǎng)這兩個聯(lián)系均應(yīng)保留。【說明】 為了使總體E-R圖簡潔,可以不給出屬性?!纠烤C合的教學(xué)管理數(shù)據(jù)庫總體E-R圖三、總體E-R圖的優(yōu)化設(shè)法消去冗余。所謂優(yōu)化主要就是指冗余信息的消除,使其保持最小冗余度。冗余的數(shù)據(jù)可用分析的方法加以消除。冗余的聯(lián)系還可用規(guī)范化理論來消除,方法是: (1)用函數(shù)依賴表達(dá)式表達(dá)E-R圖中的每一個聯(lián)系。 (2)求函數(shù)依賴表達(dá)式的最小覆蓋。 (3)逐一檢查不在最小覆蓋中

38、的函數(shù)依賴表達(dá)式,確認(rèn)是否為冗余,若是則其對應(yīng)的聯(lián)系為冗余的聯(lián)系,應(yīng)當(dāng)消去。 總體E-R圖的優(yōu)化例如,對于學(xué)生、課程、教師這三個實(shí)體的兩兩之間的聯(lián)系?!敖虒W(xué)”聯(lián)系是冗余的,因?yàn)槟骋唤處熃踢^哪些學(xué)生或某一學(xué)生聽過哪些教師的課,完全可以通過學(xué)生所學(xué)過的課程間接求得。 2.4.3 邏輯結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計關(guān)系數(shù)據(jù)模型是通過關(guān)系來反映客觀世界的。關(guān)系數(shù)據(jù)庫的邏輯設(shè)計的任務(wù),就是采取一定的策略,按照若干準(zhǔn)則將概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫管理系統(tǒng)所能接受的一組關(guān)系模式,并利用規(guī)范化的理論和方法對這組關(guān)系模式進(jìn)行處理。E-R圖轉(zhuǎn)換為關(guān)系模式(1)(1)根據(jù)規(guī)則1,對E-R圖中的每一個實(shí)體分別建立一個關(guān)系模式。

39、 系(系號,系名,系主任) 教師(教師號,教師名,年齡,職稱) 學(xué)生(學(xué)號,姓名,性別,年齡,籍貫) 課程(課程號,課程名,學(xué)分) 課題(課題號,課題名,負(fù)責(zé)人,完成日期,經(jīng)費(fèi)) 團(tuán)體(編號,名稱,負(fù)責(zé)人,活動地點(diǎn)) 特長(編號,名稱,特點(diǎn)) E-R圖轉(zhuǎn)換為關(guān)系模式(2)(2)根據(jù)規(guī)則3: 學(xué)生(學(xué)號,姓名,性別,年齡,籍貫,系號,入學(xué)日期) 教師(教師號,姓名,年齡,職稱,系號,入系日期) 團(tuán)體(編號,名稱,負(fù)責(zé)人,活動地點(diǎn),教師號) 課程(課程號,課程名,學(xué)時,學(xué)分,先修課)E-R圖轉(zhuǎn)換為關(guān)系模式(3)(3)根據(jù)規(guī)則2,對于實(shí)體之間的m:n聯(lián)系,必須為它單獨(dú)建立一個關(guān)系模式: 選課(學(xué)號,課程號,成績) 同樣,應(yīng)對任課、參加、愛好、研究等m:n聯(lián)系各建立一個關(guān)系模式: 任課(課程號,教師號,班級,學(xué)生數(shù)) 參加(學(xué)號,編號,參加日期) 愛好(學(xué)號,編號,程度) 研究(教師號,課程號,任務(wù)) 轉(zhuǎn)換后的關(guān)系 系(系號,系名,系主任) 學(xué)生(學(xué)號,姓名,性別,年齡,籍貫,系號,入學(xué)日期) 教師(教師號,姓名,年齡,職稱,系號,入系日期) 課程(課程號,課程名,學(xué)分,先修課) 課題(課題號,課題名,負(fù)責(zé)人,完成日期,經(jīng)費(fèi)) 團(tuán)體(編號,名稱,負(fù)責(zé)人,活動地點(diǎn),教師號) 特長(編號

溫馨提示

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

最新文檔

評論

0/150

提交評論