




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)n 了解關(guān)系模式規(guī)范化的提出背景及數(shù)據(jù)冗余帶來的一系列問了解關(guān)系模式規(guī)范化的提出背景及數(shù)據(jù)冗余帶來的一系列問題;題;n 掌握函數(shù)依賴的基本概念及涵義;掌握掌握函數(shù)依賴的基本概念及涵義;掌握Armstrong公理;公理;n 掌握第一范式、第二范式、第三范式和掌握第一范式、第二范式、第三范式和BCN范式的含義、聯(lián)范式的含義、聯(lián)系與區(qū)別;系與區(qū)別;n 掌握通過模式分解實現(xiàn)規(guī)范化的一般方法;掌握通過模式分解實現(xiàn)規(guī)范化的一般方法;n 掌握數(shù)據(jù)庫設(shè)計的步驟及方法;掌握數(shù)據(jù)庫設(shè)計的步驟及方法; n 掌握概念結(jié)構(gòu)、邏輯結(jié)構(gòu)和的物理結(jié)構(gòu)的設(shè)計;掌握概念結(jié)構(gòu)、邏輯結(jié)構(gòu)和的物理結(jié)構(gòu)的設(shè)計;n 了解數(shù)
2、據(jù)庫應(yīng)用開發(fā)的基本方法及工具。了解數(shù)據(jù)庫應(yīng)用開發(fā)的基本方法及工具。主要內(nèi)容主要內(nèi)容n 5.1 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化n 5.2 數(shù)據(jù)庫系統(tǒng)設(shè)計數(shù)據(jù)庫系統(tǒng)設(shè)計n 5.3 需求分析需求分析n 5.4 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計n 5.5 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計n 5.6 物理設(shè)計物理設(shè)計n 5.7 數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)n 5.8 數(shù)據(jù)庫應(yīng)用開發(fā)數(shù)據(jù)庫應(yīng)用開發(fā)5.1 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化n 關(guān)系數(shù)據(jù)庫的設(shè)計:關(guān)系模式的設(shè)計關(guān)系數(shù)據(jù)庫的設(shè)計:關(guān)系模式的設(shè)計n 關(guān)系模式設(shè)計的好壞將直接影響到數(shù)據(jù)庫設(shè)計的成敗關(guān)系模式設(shè)計的好壞將直接影響到數(shù)據(jù)庫設(shè)計的成敗n 問題:如何評價關(guān)系模式
3、好和壞?問題:如何評價關(guān)系模式好和壞?5.1.1規(guī)范化問題的提出規(guī)范化問題的提出討論:存在什么問題?討論:存在什么問題?關(guān)系模式關(guān)系模式TC中存在的問題中存在的問題1. 1. 數(shù)據(jù)冗余太大數(shù)據(jù)冗余太大2. 2. 更新異常(更新異常(Update AnomaliesUpdate Anomalies)3. 3. 插入異常(插入異常(Insertion AnomaliesInsertion Anomalies)4. 4. 刪除異常(刪除異常(Deletion AnomaliesDeletion Anomalies)關(guān)系模式關(guān)系模式TC中存在的問題中存在的問題n 結(jié)論:結(jié)論:uTC關(guān)系模式不是一個好的
4、模式。關(guān)系模式不是一個好的模式。n 原因:原因:由存在于模式中的某些數(shù)據(jù)依賴引起的由存在于模式中的某些數(shù)據(jù)依賴引起的n “好好”的模式:的模式:u元組的每個分量必須是不可分的數(shù)據(jù)項元組的每個分量必須是不可分的數(shù)據(jù)項 u數(shù)據(jù)冗余應(yīng)盡可能少數(shù)據(jù)冗余應(yīng)盡可能少u不會發(fā)生插入異常、刪除異常、更新異常不會發(fā)生插入異常、刪除異常、更新異常n 解決方法:解決方法:通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴表表5.1分解成表分解成表5.2和表和表5.3討論:以上異常問題是否解決?討論:以上異常問題是否解決?數(shù)據(jù)依賴數(shù)據(jù)依賴n 一個關(guān)系內(nèi)部屬性與屬性之間的約束關(guān)系一個關(guān)
5、系內(nèi)部屬性與屬性之間的約束關(guān)系n 現(xiàn)實世界屬性間相互聯(lián)系的抽象現(xiàn)實世界屬性間相互聯(lián)系的抽象n 數(shù)據(jù)內(nèi)在的性質(zhì)數(shù)據(jù)內(nèi)在的性質(zhì)n 語義語義的體現(xiàn)的體現(xiàn)u完整性約束完整性約束u函數(shù)依賴函數(shù)依賴、多值依賴等、多值依賴等5.1.2 函數(shù)依賴數(shù)據(jù)依賴函數(shù)依賴數(shù)據(jù)依賴n 函數(shù)依賴的定義函數(shù)依賴的定義n 函數(shù)依賴的邏輯蘊(yùn)含函數(shù)依賴的邏輯蘊(yùn)含n 函數(shù)依賴的分類函數(shù)依賴的分類u平凡函數(shù)依賴與非平凡函數(shù)依賴平凡函數(shù)依賴與非平凡函數(shù)依賴u完全函數(shù)依賴與部分函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴u傳遞函數(shù)依賴傳遞函數(shù)依賴n 碼的重新定義(基于函數(shù)依賴)碼的重新定義(基于函數(shù)依賴)5.1.2 函數(shù)依賴函數(shù)依賴一、函數(shù)依賴的定
6、義一、函數(shù)依賴的定義設(shè)有關(guān)系模式設(shè)有關(guān)系模式R(A1,A2,An),簡記為,簡記為R(U),其中,其中U= A1,A2,An 。設(shè)。設(shè)X,Y是是U的子集,如果對的子集,如果對R的任一實例關(guān)的任一實例關(guān)系中的任意兩個元組系中的任意兩個元組s和和t,均滿足以下性質(zhì):若它們在屬性集,均滿足以下性質(zhì):若它們在屬性集X上取值相等上取值相等(即即sX = tX),則它們在屬性集,則它們在屬性集Y上取值也相等上取值也相等(即即sY = tY),則稱,則稱X函數(shù)決定函數(shù)決定Y,或,或Y函數(shù)依賴于函數(shù)依賴于X,記為,記為XY。X稱為稱為決定因素決定因素,Y稱為稱為依賴因素依賴因素。一、函數(shù)依賴的定義一、函數(shù)依賴
7、的定義n 1)在一個關(guān)系中,如果屬性在一個關(guān)系中,如果屬性X、Y有有1 1聯(lián)系,則聯(lián)系,則X、Y相互相互函數(shù)依賴,即函數(shù)依賴,即XY、YX。記作。記作X Y。 n 2)如果屬性如果屬性X、Y是是1 m的聯(lián)系,則存在函數(shù)依賴的聯(lián)系,則存在函數(shù)依賴YX,即,即X函數(shù)依賴于函數(shù)依賴于Y。 n 3)如果屬性如果屬性X、Y是是m n的聯(lián)系,則的聯(lián)系,則X與與Y之間不存在任何函之間不存在任何函數(shù)依賴。數(shù)依賴。函數(shù)依賴?yán)瘮?shù)依賴?yán)航虒W(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) u SNO學(xué)生學(xué)號;學(xué)
8、生學(xué)號;u SNAME學(xué)生姓名;學(xué)生姓名;u SEX學(xué)生性別;學(xué)生性別;u AGE學(xué)生年齡;學(xué)生年齡;u DNO學(xué)生所在系編號;學(xué)生所在系編號;u DNAME-學(xué)生所在系名;學(xué)生所在系名;u DADDRESS系所在地址;系所在地址;u CNO學(xué)生所選課程號;學(xué)生所選課程號;u CNAME課程名;課程名;u GRADE學(xué)生成績學(xué)生成績 討論:存在什么問題?討論:存在什么問題?函數(shù)依賴?yán)瘮?shù)依賴?yán)航虒W(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 原因分析:屬性間的依賴關(guān)系:原因分析:屬性間的
9、依賴關(guān)系:uSNO SNAME;uSNO SEX, uSNO AGE;uSNO DNO;uDNO DNAME;uDNO DADDRESS;u (SNO,CNO) GRADE函數(shù)依賴?yán)瘮?shù)依賴?yán)航虒W(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 解決辦法:分解解決辦法:分解討論:問題是否解決?討論:問題是否解決?S(SNO,SNAME, AGE ,DNO);SC(SNO,CNO,GRADE);D(DNO, DNAME, DADDRESS);二、函數(shù)依賴的邏輯蘊(yùn)含二、函數(shù)依賴的邏輯蘊(yùn)含n 【定
10、義定義5.2】 設(shè)有關(guān)系模式設(shè)有關(guān)系模式R(A1,A2,An),簡記為,簡記為R(U),其中,其中U= A1,A2,An 。設(shè)。設(shè)X,Y是是U的子集,的子集,F(xiàn)為屬性集為屬性集U上的所有函數(shù)依賴的集合,如果從上的所有函數(shù)依賴的集合,如果從F能推出函數(shù)依能推出函數(shù)依賴賴XY,則稱,則稱F邏輯蘊(yùn)涵邏輯蘊(yùn)涵XY。n 例如例如:SNO DNO; DNO DNAME 推出推出: SNO DNAME n 【定義定義5.3】 設(shè)設(shè)F是函數(shù)依賴集,是函數(shù)依賴集,F(xiàn)及由及由F推出的所有函數(shù)依賴推出的所有函數(shù)依賴稱為函數(shù)依賴集稱為函數(shù)依賴集F的閉包,記為的閉包,記為F+。二、函數(shù)依賴的邏輯蘊(yùn)含二、函數(shù)依賴的邏輯蘊(yùn)
11、含n Armstrong公理系統(tǒng)公理系統(tǒng) uA1.自反律自反律(Reflexivity rule):若:若 ,則,則F邏輯蘊(yùn)涵邏輯蘊(yùn)涵XY 。uA2.增廣律增廣律(Augmentation rule):若:若F邏輯蘊(yùn)涵邏輯蘊(yùn)涵XY,且,且, 則則F邏輯邏輯蘊(yùn)涵蘊(yùn)涵XZYZ。uA3.傳遞律傳遞律(Transitivity rule ):F邏輯蘊(yùn)涵邏輯蘊(yùn)涵XY、YZ,則,則F邏輯蘊(yùn)邏輯蘊(yùn)涵涵XZ。 二、函數(shù)依賴的邏輯蘊(yùn)含二、函數(shù)依賴的邏輯蘊(yùn)含n Armstrong公理的推理規(guī)則公理的推理規(guī)則u合并規(guī)則合并規(guī)則(Union rule):若:若XY、XZ,則,則XYZ。u偽傳遞規(guī)則偽傳遞規(guī)則(Pseu
12、do transitivity rule):若:若XY、WYZ,則,則XWZ。u分解規(guī)則分解規(guī)則(decomposition rule):若:若XYZ,則,則XY, XZ。 三、三、函數(shù)依賴的分類函數(shù)依賴的分類 平凡函數(shù)依賴與非平凡函數(shù)依賴平凡函數(shù)依賴與非平凡函數(shù)依賴n 【定義定義5.4】 如果如果XY,并且,并且Y不是不是X的子集,記為,則稱的子集,記為,則稱XY是非平凡是非平凡(nontrivial)的函數(shù)依賴。的函數(shù)依賴。n 【定義定義5.5】 如果如果XY,并且,并且Y是是X的子集,記為,則稱的子集,記為,則稱XY是平凡是平凡(trivial)的函數(shù)依賴。的函數(shù)依賴。三、三、函數(shù)依賴的
13、分類函數(shù)依賴的分類 完全函數(shù)依賴與部分函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴n 【定義定義5.6】 在關(guān)系模式在關(guān)系模式R(U)中,如果中,如果XY,并且對于,并且對于X的的任意一個真子集任意一個真子集X1,X1Y均不成立,則稱均不成立,則稱Y完全完全(full)函數(shù)函數(shù)依賴于依賴于X。n 【定義定義5.7】 在關(guān)系模式在關(guān)系模式R(U)中,如果中,如果XY,并且至少存在,并且至少存在X的真子集的真子集X1,使,使X1Y成立,則稱成立,則稱Y部分部分(partial)函數(shù)依賴函數(shù)依賴于于X。 函數(shù)依賴分類例函數(shù)依賴分類例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SE
14、X,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 屬性間的依賴關(guān)系:屬性間的依賴關(guān)系:uSNO SNAME;uSNO SEX, uSNO AGE;uSNO DNO;uDNO DNAME;uDNO DADDRESS;u (SNO,CNO) GRADE函數(shù)依賴分類例函數(shù)依賴分類例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 非平凡函數(shù)依賴、完全函數(shù)依賴:非平凡函數(shù)依賴、完全函數(shù)依賴:uSNO SNAMEuSNO AGEuSNO SEXuDNO DNAME u
15、DNO DADDRESSu(SNO,CNO) GRADE函數(shù)依賴分類例函數(shù)依賴分類例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 平凡函數(shù)依賴:平凡函數(shù)依賴:u(SNO,SNAME) SNAME 部分函數(shù)依賴:部分函數(shù)依賴:u(SNO,CNO) SNAME 三、三、函數(shù)依賴的分類函數(shù)依賴的分類 傳遞函數(shù)依賴傳遞函數(shù)依賴n 【定義定義5.8】 在關(guān)系模式在關(guān)系模式R(U)中,如果中,如果XY,并且,并且YZ,且,且YX,則,則XZ,稱,稱Z傳遞傳遞(Transitive)函數(shù)依賴于函數(shù)
16、依賴于X。 n 傳遞依賴?yán)簜鬟f依賴?yán)簎SNODNOuDNO DNAMEu根據(jù)傳遞律得:根據(jù)傳遞律得:SNODNAME 四、用函數(shù)依賴重新定義關(guān)系模式的碼四、用函數(shù)依賴重新定義關(guān)系模式的碼 n 【定義定義5.9】設(shè)有關(guān)系模式設(shè)有關(guān)系模式R(U),F(xiàn)是是R上的函數(shù)依賴集,上的函數(shù)依賴集,K是是U的一個子集。若的一個子集。若F邏輯蘊(yùn)涵邏輯蘊(yùn)涵 KU,則,則K稱為稱為R的的超碼超碼;u如果如果KU,且不存在,且不存在K的任何真子集的任何真子集K1使得使得F邏輯蘊(yùn)涵邏輯蘊(yùn)涵 K1U,換句話,換句話說,如果說,如果U完全依賴于完全依賴于K,則稱,則稱K是是R的的候選碼或候選鍵候選碼或候選鍵。u當(dāng)候選碼
17、多于一個時,可以選中其中的一個作為當(dāng)候選碼多于一個時,可以選中其中的一個作為主碼主碼。n 【定義定義5.10】包含在任意一個候選碼中的屬性稱為包含在任意一個候選碼中的屬性稱為主屬性主屬性。不。不包含在任何候選碼中的屬性稱為包含在任何候選碼中的屬性稱為非主屬性非主屬性。函數(shù)依賴定義碼例函數(shù)依賴定義碼例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 屬性間的依賴關(guān)系:屬性間的依賴關(guān)系:uSNO SNAME;uSNO SEX, uSNO AGE;uSNO DNO;uDNO DNAME;uDN
18、O DADDRESS;u (SNO,CNO) GRADEn確定候選碼、主碼、主屬性、非主屬性?確定候選碼、主碼、主屬性、非主屬性?5.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化n 范式是符合某一種級別的關(guān)系模式的集合范式是符合某一種級別的關(guān)系模式的集合n 關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式范式n 范式的種類:范式的種類:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF)n 各種范式之間存在聯(lián)系:各種范式之
19、間存在聯(lián)系:n 某一關(guān)系模式某一關(guān)系模式R為第為第n范式,可簡記為范式,可簡記為RnNF。n 一個低一級范式的關(guān)系模式,通過一個低一級范式的關(guān)系模式,通過模式分解模式分解可以轉(zhuǎn)換為若干個高一級范可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合,這種過程就叫式的關(guān)系模式的集合,這種過程就叫規(guī)范化規(guī)范化 NFNFBCNFNFNFNF543215.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化n 1NF的定義的定義如果一個關(guān)系模式如果一個關(guān)系模式R的所有屬性都是的所有屬性都是不可分的基本數(shù)據(jù)項不可分的基本數(shù)據(jù)項,則,則R1NFn 第一范式是對關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式第一范式是對關(guān)系模式的最
20、起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫不能稱為關(guān)系數(shù)據(jù)庫n 但是滿足第一范式的關(guān)系模式并不一定是一個好的關(guān)系模式但是滿足第一范式的關(guān)系模式并不一定是一個好的關(guān)系模式5.1.3 關(guān)系模式規(guī)范化范式關(guān)系模式規(guī)范化范式 1NF5.1.3 關(guān)系模式規(guī)范化范式關(guān)系模式規(guī)范化范式 2NFn 若關(guān)系模式若關(guān)系模式R1NF,且每一個,且每一個非主屬性完全函數(shù)依賴非主屬性完全函數(shù)依賴于關(guān)于關(guān)系系R的任意一個的任意一個候選碼候選碼,則關(guān)系,則關(guān)系R為第二范式,記為為第二范式,記為R2NFn 例:例:范式例范式例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AG
21、E, DNO, DNAME, DADDRESS, CNO,GRADE) 屬性間的依賴關(guān)系:屬性間的依賴關(guān)系:uSNO SNAME;uSNO SEX, uSNO AGE;uSNO DNO;uDNO DNAME;uDNO DADDRESS;u (SNO,CNO) GRADEn是否屬于第是否屬于第2范式?范式?范式例范式例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 候選碼:候選碼:u(SNO ,CNO);非主屬性對碼的部分依賴:非主屬性對碼的部分依賴:uSNO SEX, uSNO AGE
22、;uSNO DNO;uDNO DNAME;uDNO DADDRESS;n結(jié)論:不屬于第結(jié)論:不屬于第2范式范式范式例范式例例:教學(xué)管理系統(tǒng)關(guān)系模式例:教學(xué)管理系統(tǒng)關(guān)系模式 R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE) 解決辦法:消除非主屬性對碼的部分依賴分解解決辦法:消除非主屬性對碼的部分依賴分解uR1(SNO,SNAME,SEX, AGE, DNO, DNAME, DADDRESS)uR2(SNO,CNO, GRADE)5.1.3 關(guān)系模式規(guī)范化范式關(guān)系模式規(guī)范化范式 3NFn 若關(guān)系模式若關(guān)系模式R2NF,若每一個非主屬性都不傳
23、遞依賴于某,若每一個非主屬性都不傳遞依賴于某個候選碼,則關(guān)系個候選碼,則關(guān)系R屬于第三范式,記為:屬于第三范式,記為:R3NF。 另一種定義:另一種定義:n 設(shè)有一個關(guān)系模式設(shè)有一個關(guān)系模式R1NF,若,若R的任一非平凡函數(shù)依賴的任一非平凡函數(shù)依賴XA滿足以下兩個條件其中之一,則滿足以下兩個條件其中之一,則R3NFu決定因素決定因素X是超碼;是超碼;u屬于屬于A但不屬于但不屬于X即即XA中的每個屬性都包含在候選碼中中的每個屬性都包含在候選碼中5.1.3 關(guān)系模式規(guī)范化例關(guān)系模式規(guī)范化例 3NF例:上例分解后的教學(xué)管理系統(tǒng)關(guān)系模式:例:上例分解后的教學(xué)管理系統(tǒng)關(guān)系模式: uR1(SNO,SNAM
24、E,SEX, AGE, DNO, DNAME, DADDRESS)uR2(SNO,CNO, GRADE)是否為第三范式?是否為第三范式?分析:分析:R2 中,主碼為(中,主碼為(SNO,CNO),不存在傳遞依賴,屬于第),不存在傳遞依賴,屬于第3范式;范式;R1 中,主碼為中,主碼為SNO, SNO DNO DNAME, 傳遞依賴,不屬于第傳遞依賴,不屬于第3范式范式解決辦法:解決辦法:5.1.3 關(guān)系模式規(guī)范化范式關(guān)系模式規(guī)范化范式 BCNFn 【定義定義5.14】設(shè)有一個關(guān)系模式設(shè)有一個關(guān)系模式R1NF,若,若R的任一非平凡的任一非平凡函數(shù)依賴函數(shù)依賴XA滿足以下條件:決定因素滿足以下條件
25、:決定因素X必是超碼,則稱必是超碼,則稱R屬于屬于BCNF,記為,記為RBCNF。n 一個滿足一個滿足BCNF必定滿足如下條件:必定滿足如下條件:u所有非主屬性對每一個碼都是完全函數(shù)依賴;所有非主屬性對每一個碼都是完全函數(shù)依賴;u所有的主屬性對每一個不包含它的碼,也是完全函數(shù)依賴;所有的主屬性對每一個不包含它的碼,也是完全函數(shù)依賴;u沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。 5.1.3 關(guān)系模式規(guī)范化范式關(guān)系模式規(guī)范化范式 BCNF與與3NF對比對比n BCNF不僅強(qiáng)調(diào)其他屬性對碼的完全的直接的依賴,而且不僅強(qiáng)調(diào)其他屬性對碼的完全的直接的依賴
26、,而且強(qiáng)調(diào)主屬性對碼的完全的直接的依賴,即如果強(qiáng)調(diào)主屬性對碼的完全的直接的依賴,即如果RBCNF,則,則R排除了任何屬性對碼的傳遞依賴與部分依賴排除了任何屬性對碼的傳遞依賴與部分依賴, 所以所以R3NF。但是若。但是若R3NF,則則R未必屬于未必屬于BCNF。 n 3NF只強(qiáng)調(diào)非主屬性對碼的完全直接依賴,這樣就可能出只強(qiáng)調(diào)非主屬性對碼的完全直接依賴,這樣就可能出現(xiàn)主屬性對碼的部分依賴和傳遞依賴。現(xiàn)主屬性對碼的部分依賴和傳遞依賴。例例【例例5.6】關(guān)系模式關(guān)系模式STC(S,T,C)中,中,S表示學(xué)生,表示學(xué)生,T表示教師,表示教師,C表示課程。每一個教師只教一門課。每門課有若干個教師,某一表示
27、課程。每一個教師只教一門課。每門課有若干個教師,某一學(xué)生選定某門課,就對應(yīng)一個固定的教師。確定學(xué)生選定某門課,就對應(yīng)一個固定的教師。確定STC是否符合是否符合BCNF。分析:分析: 由語義可得到如下函數(shù)依賴:由語義可得到如下函數(shù)依賴: (S,C)T ; TC 可以推出:可以推出: (S,C),(S,T)都是候選碼,即都是候選碼,即S, T, C都是主屬性都是主屬性,因此不存在非主屬性對碼的傳遞依賴,因此不存在非主屬性對碼的傳遞依賴,STC是是3NF。 但但STC不是不是BCNF關(guān)系,因為在關(guān)系,因為在TC中,中,T是決定因素但是決定因素但T不不是超碼。是超碼。解決辦法:解決辦法:分解為分解為S
28、T(S, T)和和TC(T, C),則兩者都達(dá)到了,則兩者都達(dá)到了BCNF。n 規(guī)范化過程:模式分解規(guī)范化過程:模式分解n 在分解時我們關(guān)心的是分解后的關(guān)系模式是否能準(zhǔn)確的反映在分解時我們關(guān)心的是分解后的關(guān)系模式是否能準(zhǔn)確的反映原有關(guān)系模式的所有信息,并且不會增加不存在的信息。原有關(guān)系模式的所有信息,并且不會增加不存在的信息。 n 模式分解有兩種準(zhǔn)則:模式分解有兩種準(zhǔn)則:u只滿足無損分解只滿足無損分解(lossless decomposition)要求;要求;u既滿足無損分解要求,又滿足保持依賴既滿足無損分解要求,又滿足保持依賴(preserving dependencies)要求。要求。5.
29、1.3 關(guān)系模式規(guī)范化模式分解關(guān)系模式規(guī)范化模式分解n (1) 無損分解無損分解u無損分解就是要求分解前后的關(guān)系模式是等價的,即對任何相同的查無損分解就是要求分解前后的關(guān)系模式是等價的,即對任何相同的查詢總是產(chǎn)生相同的查詢結(jié)果。這實際上可通過詢總是產(chǎn)生相同的查詢結(jié)果。這實際上可通過“連接連接”分解后的諸關(guān)分解后的諸關(guān)系來重構(gòu)原關(guān)系。否則就是有損分解。系來重構(gòu)原關(guān)系。否則就是有損分解。n (2) 保持依賴分解保持依賴分解u保持依賴分解就是要求分解后的關(guān)系模式中的函數(shù)依賴仍然邏輯蘊(yùn)涵保持依賴分解就是要求分解后的關(guān)系模式中的函數(shù)依賴仍然邏輯蘊(yùn)涵原關(guān)系模式中的函數(shù)依賴。這是一種理想的模式分解。原關(guān)系模
30、式中的函數(shù)依賴。這是一種理想的模式分解。5.1.3 關(guān)系模式規(guī)范化模式分解關(guān)系模式規(guī)范化模式分解 無損分解與保持依賴分解無損分解與保持依賴分解5.1.3 關(guān)系模式規(guī)范化模式分解關(guān)系模式規(guī)范化模式分解 無損分解(例)無損分解(例)n 【例例5.7】關(guān)系模式關(guān)系模式S(SNO,SNAME,AGE,DNO,DNAME),其上的函數(shù)依賴為:其上的函數(shù)依賴為:F=SNOSNAME,SNOAGE,SNODNO,DNODNAME5.1.3 關(guān)系模式規(guī)范化模式分解關(guān)系模式規(guī)范化模式分解 無損分解(例)無損分解(例)n 分解:分解:5.1.3 關(guān)系模式規(guī)范化模式分解關(guān)系模式規(guī)范化模式分解 無損分解(例)無損分解
31、(例)n 分解后重構(gòu):分解后重構(gòu):無損分解無損分解有損分解例有損分解例n 原關(guān)系:原關(guān)系:F=A-B,B-C有損分解例有損分解例n 分解:分解:有損分解例有損分解例n 分解后重構(gòu):分解后重構(gòu):有損分解有損分解n 假設(shè)一個關(guān)系模式將假設(shè)一個關(guān)系模式將R(U, F) (其中其中U為為R的屬性的集合,的屬性的集合,F(xiàn)為為R的函數(shù)依賴集合的函數(shù)依賴集合)分解為分解為R1(U1, F1)和和R2(U2, F2),且,且U=U1U2,F(xiàn)1和和F2是是F在在R1和和R2上的投影,則判定該分解上的投影,則判定該分解為無損分解的規(guī)則或充分必要條件是:為無損分解的規(guī)則或充分必要條件是:uU1U2U1-U2或或U1
32、U2U2-U1。u以上分解中,如果以上分解中,如果F1, F2邏輯蘊(yùn)涵邏輯蘊(yùn)涵F, 則該分解為保持依賴分解。則該分解為保持依賴分解。5.1.3 關(guān)系模式規(guī)范化模式分解關(guān)系模式規(guī)范化模式分解 無損分解與保持依賴分解無損分解與保持依賴分解 如何判斷如何判斷n 分解具有無損連接性和保持函數(shù)依賴性是兩個互相獨立的分解具有無損連接性和保持函數(shù)依賴性是兩個互相獨立的分解標(biāo)準(zhǔn)。具有無損連接性的分解不一定保持函數(shù)依賴,保分解標(biāo)準(zhǔn)。具有無損連接性的分解不一定保持函數(shù)依賴,保持函數(shù)依賴的分解不一定具有無損連接性。持函數(shù)依賴的分解不一定具有無損連接性。n 若要求分解具有無損連接性,那么模式分解一定可以達(dá)到若要求分解
33、具有無損連接性,那么模式分解一定可以達(dá)到BCNF。n 若要求分解既保持無損連接又保持函數(shù)依賴,那么模式分若要求分解既保持無損連接又保持函數(shù)依賴,那么模式分解可以達(dá)到解可以達(dá)到3NF,但不一定能達(dá)到,但不一定能達(dá)到BCNF。5.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化 通過模式分解實現(xiàn)規(guī)范化通過模式分解實現(xiàn)規(guī)范化 n 如果一個分解具有無損連接性,則它能夠保證不丟失信息如果一個分解具有無損連接性,則它能夠保證不丟失信息n 如果一個分解保持了函數(shù)依賴,則它可以減輕或解決各種異常情如果一個分解保持了函數(shù)依賴,則它可以減輕或解決各種異常情況況n 分解具有無損連接性和分解保持函數(shù)依賴是兩個互相獨立的標(biāo)準(zhǔn)分解具
34、有無損連接性和分解保持函數(shù)依賴是兩個互相獨立的標(biāo)準(zhǔn)。具有無損連接性的分解不一定能夠保持函數(shù)依賴;同樣,保持。具有無損連接性的分解不一定能夠保持函數(shù)依賴;同樣,保持函數(shù)依賴的分解也不一定具有無損連接性。函數(shù)依賴的分解也不一定具有無損連接性。5.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化 通過模式分解實現(xiàn)規(guī)范化通過模式分解實現(xiàn)規(guī)范化 【例例5.10】有一商品供應(yīng)的關(guān)系模式有一商品供應(yīng)的關(guān)系模式SP(SNO,PNO,SCITY,STATUS,PRICE,QTY)其中各屬性的含義如下:其中各屬性的含義如下:SNO供應(yīng)商編號;供應(yīng)商編號;SCITY供供應(yīng)商所在的城市;應(yīng)商所在的城市;STATUS供應(yīng)商的狀態(tài);
35、供應(yīng)商的狀態(tài);PNO零件編號;零件編號;PRICE零件的價格;零件的價格;QTY零件的數(shù)量。其屬性組上的函數(shù)依賴集零件的數(shù)量。其屬性組上的函數(shù)依賴集F如下:如下: F=SNOSCITY,SCITYSTATUS,PNOPRICE, (SNO,PNO)QTY 判斷判斷SP屬于第幾范式,并將其通過無損連接和保持依賴分解為第三范式屬于第幾范式,并將其通過無損連接和保持依賴分解為第三范式5.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化 通過模式分解實現(xiàn)規(guī)范化通過模式分解實現(xiàn)規(guī)范化 (例)(例) 分析分析: 模式模式SP屬于第一范式,根據(jù)屬于第一范式,根據(jù)Armstrong推理規(guī)則,由推理規(guī)則,由F可以推出可以推
36、出: (SNO,PNO)(SNO,PNO,SCITY,STATUS,PRICE,QTY) SP的候選鍵是:的候選鍵是:(SNO,PNO) SP的非主屬性為:的非主屬性為:SCITY,STATUS,PRICE,QTY 非主屬性非主屬性SCITY,PRICE對候選碼是部分函數(shù)依賴,對候選碼是部分函數(shù)依賴,STATUS對候選碼是對候選碼是傳遞函數(shù)依賴,傳遞函數(shù)依賴,所以所以該關(guān)系模式滿足第一范式。該關(guān)系模式滿足第一范式。為除去部分函數(shù)依賴可將關(guān)系模式為除去部分函數(shù)依賴可將關(guān)系模式SP分解為:分解為:SP1(SNO,SCITY,STATUS)SP2(PNO,PRICE)SP3(SNO,PNO,QTY)
37、5.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化 通過模式分解實現(xiàn)規(guī)范化通過模式分解實現(xiàn)規(guī)范化 (例)(例) 在在SP1的候選碼是的候選碼是SNO,在其中存在著非主屬性對候選鍵的傳遞函數(shù)依賴性,在其中存在著非主屬性對候選鍵的傳遞函數(shù)依賴性,為除去傳遞函數(shù)依賴,可將,為除去傳遞函數(shù)依賴,可將SP1分解為:分解為:SP11(SNO,SCITY)SP12(SCITY,STATUS)所以關(guān)系模式分解為所以關(guān)系模式分解為3NF范式的結(jié)果為:范式的結(jié)果為:SP11(SNO,SCITY)SP12(SCITY,STATUS)SP2(PNO,PRICE)SP3(SNO,PNO,QTY)可以證明以上每次分解均符合無損連接
38、和保持依賴的條件??梢宰C明以上每次分解均符合無損連接和保持依賴的條件。5.1.3 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化 通過模式分解實現(xiàn)規(guī)范化通過模式分解實現(xiàn)規(guī)范化 (例)(例)主要內(nèi)容主要內(nèi)容n 5.1 關(guān)系模式規(guī)范化關(guān)系模式規(guī)范化n 5.2 數(shù)據(jù)庫系統(tǒng)設(shè)計數(shù)據(jù)庫系統(tǒng)設(shè)計n 5.3 需求分析需求分析n 5.4 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計n 5.5 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計n 5.6 物理設(shè)計物理設(shè)計n 5.7 數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)n 5.8 數(shù)據(jù)庫應(yīng)用開發(fā)數(shù)據(jù)庫應(yīng)用開發(fā)5.2.1 數(shù)據(jù)庫系統(tǒng)設(shè)計概述數(shù)據(jù)庫系統(tǒng)設(shè)計概述n 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計u數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計
39、)優(yōu)化的數(shù)據(jù)數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。求和數(shù)據(jù)操作要求。u目標(biāo):為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效率的運行目標(biāo):為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效率的運行環(huán)境環(huán)境數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點n 數(shù)據(jù)庫建設(shè)的基本規(guī)律數(shù)據(jù)庫建設(shè)的基本規(guī)律u三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)三分技術(shù),
40、七分管理,十二分基礎(chǔ)數(shù)據(jù) u管理管理 數(shù)據(jù)庫建設(shè)項目管理數(shù)據(jù)庫建設(shè)項目管理 企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理 u基礎(chǔ)數(shù)據(jù)基礎(chǔ)數(shù)據(jù) 收集、入庫收集、入庫 更新新的數(shù)據(jù)更新新的數(shù)據(jù)n 結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合 u將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理設(shè)計密切結(jié)合將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理設(shè)計密切結(jié)合數(shù)據(jù)庫設(shè)計的特點(續(xù))數(shù)據(jù)庫設(shè)計的特點(續(xù))現(xiàn)實世界現(xiàn)實世界概念模型設(shè)計概念模型設(shè)計子模式設(shè)計子模式設(shè)計物理數(shù)據(jù)庫設(shè)計物理數(shù)據(jù)庫設(shè)計邏輯數(shù)據(jù)庫設(shè)計邏輯數(shù)據(jù)庫設(shè)計建立數(shù)據(jù)庫建立數(shù)據(jù)庫數(shù)據(jù)分析數(shù)據(jù)分析功能分析功能分析功能模型功能模型功能說明
41、功能說明事務(wù)設(shè)計事務(wù)設(shè)計程序說明程序說明應(yīng)用程序設(shè)計應(yīng)用程序設(shè)計程序編碼調(diào)試程序編碼調(diào)試結(jié)構(gòu)和行為分離的設(shè)計結(jié)構(gòu)和行為分離的設(shè)計 5.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法n 傳統(tǒng)數(shù)據(jù)庫設(shè)計方法傳統(tǒng)數(shù)據(jù)庫設(shè)計方法u新奧爾良(新奧爾良(New Orleans)方法)方法將數(shù)據(jù)庫設(shè)計分為若干階段和步驟將數(shù)據(jù)庫設(shè)計分為若干階段和步驟 u基于基于E-R模型的數(shù)據(jù)庫設(shè)計方法模型的數(shù)據(jù)庫設(shè)計方法概念設(shè)計階段廣泛采用概念設(shè)計階段廣泛采用u3NF(第三范式)的設(shè)計方法(第三范式)的設(shè)計方法邏輯階段可采用的有效方法邏輯階段可采用的有效方法 uODL(Object Definition Language)方法)方法
42、面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法(續(xù))數(shù)據(jù)庫設(shè)計方法(續(xù))n 計算機(jī)輔助設(shè)計計算機(jī)輔助設(shè)計(數(shù)據(jù)庫建模工具數(shù)據(jù)庫建模工具)uORACLE Designer 2000uSYBASE PowerDesigneruERWinuRational Rose5.2.3 數(shù)據(jù)庫設(shè)計過程數(shù)據(jù)庫設(shè)計過程 數(shù)據(jù)庫運行和維護(hù) 需求分析 概念結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計 物理結(jié)構(gòu)設(shè)計 需求描述 轉(zhuǎn)換規(guī)則 DBMS 功能 應(yīng)用需求 DBMS 特征 參數(shù) 性能評價與預(yù)測 符合要求? 物理實現(xiàn) 試運行 滿意? 系統(tǒng)需求分析階段 概念結(jié)構(gòu)設(shè)計階段 邏輯結(jié)構(gòu)設(shè)計階段 物理設(shè)計階段 數(shù)據(jù)庫實施階段 數(shù)據(jù)庫
43、運行與維護(hù)階段 N N Y Y 5.2.3 數(shù)據(jù)庫設(shè)計過程數(shù)據(jù)庫設(shè)計過程n 數(shù)據(jù)庫設(shè)計分?jǐn)?shù)據(jù)庫設(shè)計分6個階段個階段u需求分析需求分析u概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計u邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計u物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計u數(shù)據(jù)庫實施數(shù)據(jù)庫實施u數(shù)據(jù)庫運行和維護(hù)數(shù)據(jù)庫運行和維護(hù) n 需求分析和概念設(shè)計獨立于任何數(shù)據(jù)庫管理系統(tǒng)需求分析和概念設(shè)計獨立于任何數(shù)據(jù)庫管理系統(tǒng) n 邏輯設(shè)計和物理設(shè)計與選用的邏輯設(shè)計和物理設(shè)計與選用的DBMS密切相關(guān)密切相關(guān)數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫設(shè)計過程(續(xù))一、數(shù)據(jù)庫設(shè)計的準(zhǔn)備工作:一、數(shù)據(jù)庫設(shè)計的準(zhǔn)備工作:選定參加設(shè)計的人選定參加設(shè)計的人1.系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計人員系統(tǒng)分
44、析人員、數(shù)據(jù)庫設(shè)計人員 u 自始至終參與數(shù)據(jù)庫設(shè)計自始至終參與數(shù)據(jù)庫設(shè)計2. 用戶和數(shù)據(jù)庫管理員用戶和數(shù)據(jù)庫管理員 u 主要參加需求分析和數(shù)據(jù)庫的運行維護(hù)主要參加需求分析和數(shù)據(jù)庫的運行維護(hù)3.應(yīng)用開發(fā)人員(程序員和操作員)應(yīng)用開發(fā)人員(程序員和操作員) u 在系統(tǒng)實施階段參與進(jìn)來,負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境在系統(tǒng)實施階段參與進(jìn)來,負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境 數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫設(shè)計過程(續(xù))概念結(jié)構(gòu)設(shè)計階段概念結(jié)構(gòu)設(shè)計階段u整個數(shù)據(jù)庫設(shè)計的關(guān)鍵整個數(shù)據(jù)庫設(shè)計的關(guān)鍵u通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體DBMS的概
45、念模型的概念模型數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))邏輯結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段u將概念結(jié)構(gòu)轉(zhuǎn)換為某個將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型所支持的數(shù)據(jù)模型u對其進(jìn)行優(yōu)化對其進(jìn)行優(yōu)化數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫物理設(shè)計階段數(shù)據(jù)庫物理設(shè)計階段u為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)和存取方法)數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施階段u運用運用DBMS提供的數(shù)據(jù)庫語言(如提供的數(shù)據(jù)庫語言(如SQL)及宿主語言,根據(jù)邏輯設(shè)計
46、)及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫建立數(shù)據(jù)庫編制與調(diào)試應(yīng)用程序編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫組織數(shù)據(jù)入庫進(jìn)行試運行進(jìn)行試運行數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫運行和維護(hù)階段數(shù)據(jù)庫運行和維護(hù)階段u數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行u在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改數(shù)據(jù)庫設(shè)計過程(續(xù))數(shù)據(jù)庫設(shè)計過程(續(xù)) 設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)(P10
47、3圖圖5.1)n 把數(shù)據(jù)庫設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來把數(shù)據(jù)庫設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來n 將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進(jìn)行,相將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計互參照,相互補(bǔ)充,以完善兩方面的設(shè)計數(shù)據(jù)庫設(shè)計各個階段的設(shè)計描述數(shù)據(jù)庫設(shè)計各個階段的設(shè)計描述數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫的各級模式 主要內(nèi)容主要內(nèi)容n 5.1 關(guān)系模式關(guān)系模式規(guī)范化規(guī)范化n 5.2 數(shù)據(jù)庫系統(tǒng)設(shè)
48、計數(shù)據(jù)庫系統(tǒng)設(shè)計n 5.3 需求分析需求分析n 5.4 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計n 5.5 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計n 5.6 物理設(shè)計物理設(shè)計n 5.7 數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)n 5.8 數(shù)據(jù)庫應(yīng)用開發(fā)數(shù)據(jù)庫應(yīng)用開發(fā)需求分析的任務(wù)需求分析的任務(wù)n 詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等)詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等)n 充分了解原系統(tǒng)(手工系統(tǒng)或計算機(jī)系統(tǒng))充分了解原系統(tǒng)(手工系統(tǒng)或計算機(jī)系統(tǒng))n 明確用戶的各種需求明確用戶的各種需求n 確定新系統(tǒng)的功能確定新系統(tǒng)的功能n 充分考慮今后可能的擴(kuò)充和改變充分考慮今后可能的擴(kuò)充和改變需求分析的重點需求分析的
49、重點n 調(diào)查的重點是調(diào)查的重點是“數(shù)據(jù)數(shù)據(jù)”和和“處理處理”,獲得用戶對數(shù)據(jù)庫要求,獲得用戶對數(shù)據(jù)庫要求u 信息要求信息要求u處理要求處理要求u安全性與完整性要求安全性與完整性要求需求分析的難點需求分析的難點n 確定用戶最終需求確定用戶最終需求u用戶用戶缺少計算機(jī)知識缺少計算機(jī)知識u設(shè)計人員設(shè)計人員缺少用戶的專業(yè)知識缺少用戶的專業(yè)知識n 解決方法解決方法u設(shè)計人員必須不斷設(shè)計人員必須不斷深入深入地與用戶進(jìn)行地與用戶進(jìn)行交流交流需求分析的方法需求分析的方法n調(diào)查需求調(diào)查需求n達(dá)成共識達(dá)成共識n分析表達(dá)需求分析表達(dá)需求調(diào)查用戶需求的具體步驟調(diào)查用戶需求的具體步驟 調(diào)查組織機(jī)構(gòu)情況調(diào)查組織機(jī)構(gòu)情況
50、調(diào)查各部門的業(yè)務(wù)活動情況。調(diào)查各部門的業(yè)務(wù)活動情況。 在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。求。 確定新系統(tǒng)的邊界確定新系統(tǒng)的邊界進(jìn)一步分析和表達(dá)用戶需求進(jìn)一步分析和表達(dá)用戶需求n 結(jié)構(gòu)化分析方法(結(jié)構(gòu)化分析方法(Structured Analysis,簡稱,簡稱SA方法)方法)u從最上層的系統(tǒng)組織機(jī)構(gòu)入手從最上層的系統(tǒng)組織機(jī)構(gòu)入手u 自頂向下、逐層分解分析系統(tǒng)自頂向下、逐層分解分析系統(tǒng)進(jìn)一步分析和表達(dá)用戶需求(續(xù))進(jìn)一步分析和表達(dá)用戶需求(續(xù))1首先把任何一個系統(tǒng)都抽象為:首先把任何一個系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)
51、流數(shù)據(jù)數(shù)據(jù)存儲存儲信息要求信息要求數(shù)據(jù)數(shù)據(jù)來源來源處理處理數(shù)據(jù)數(shù)據(jù)輸出輸出處理要求處理要求進(jìn)一步分析和表達(dá)用戶需求(續(xù))進(jìn)一步分析和表達(dá)用戶需求(續(xù))2分解處理功能和數(shù)據(jù)分解處理功能和數(shù)據(jù) (1)分解處理功能分解處理功能將處理功能的具體內(nèi)容分解為若干子功能將處理功能的具體內(nèi)容分解為若干子功能 (2)分解數(shù)據(jù)分解數(shù)據(jù)處理功能逐步分解同時,逐級分解所用數(shù)據(jù),形成處理功能逐步分解同時,逐級分解所用數(shù)據(jù),形成若干層次的若干層次的數(shù)據(jù)流圖數(shù)據(jù)流圖 (3)表達(dá)方法表達(dá)方法 處理邏輯:用判定表或判定樹來描述處理邏輯:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述數(shù)據(jù):用數(shù)據(jù)字典來描述3將分析結(jié)果再次提交給用
52、戶,征得用戶的認(rèn)可將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可需求分析過程需求分析過程需求分析過程 數(shù)據(jù)字典及其表示數(shù)據(jù)字典及其表示n 數(shù)據(jù)字典的用途數(shù)據(jù)字典的用途u 進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果n 數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容u數(shù)據(jù)項數(shù)據(jù)項u數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)u數(shù)據(jù)流數(shù)據(jù)流u數(shù)據(jù)存儲數(shù)據(jù)存儲u處理過程處理過程 數(shù)據(jù)項數(shù)據(jù)項n 數(shù)據(jù)項是不可再分的數(shù)據(jù)單位數(shù)據(jù)項是不可再分的數(shù)據(jù)單位n 對數(shù)據(jù)項的描述對數(shù)據(jù)項的描述 數(shù)據(jù)項描述數(shù)據(jù)項描述 數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名,數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名, 數(shù)據(jù)類型,長度,取值范圍,取值含義,數(shù)據(jù)類
53、型,長度,取值范圍,取值含義,與其他數(shù)據(jù)項的邏輯關(guān)系,數(shù)據(jù)項之間的與其他數(shù)據(jù)項的邏輯關(guān)系,數(shù)據(jù)項之間的聯(lián)系聯(lián)系 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)n 數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。n 一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。n 對數(shù)據(jù)結(jié)構(gòu)的描述對數(shù)據(jù)結(jié)構(gòu)的描述 數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)名,含義說明,數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)名,含義說明, 組成組成:數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)流數(shù)據(jù)流n 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸
54、的路徑。數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。n 對數(shù)據(jù)流的描述對數(shù)據(jù)流的描述 數(shù)據(jù)流描述數(shù)據(jù)流描述 數(shù)據(jù)流名,說明,數(shù)據(jù)流來源,數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量平均流量,高峰期流量 數(shù)據(jù)存儲數(shù)據(jù)存儲n 數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。源和去向之一。n 對數(shù)據(jù)存儲的描述對數(shù)據(jù)存儲的描述 數(shù)據(jù)存儲描述數(shù)據(jù)存儲名,說明,編號,數(shù)據(jù)存儲描述數(shù)據(jù)存儲名,說明,編號,輸入的數(shù)據(jù)流輸入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流,輸出的數(shù)據(jù)流 ,組成組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,
55、存取頻度,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,存取頻度,存取方式存取方式 處理過程處理過程n 具體處理邏輯一般用判定表或判定樹來描述具體處理邏輯一般用判定表或判定樹來描述n 處理過程說明性信息的描述處理過程說明性信息的描述處理過程描述處理過程名,說明,輸入處理過程描述處理過程名,說明,輸入:數(shù)據(jù)流,數(shù)據(jù)流, 輸出輸出:數(shù)據(jù)流,處理數(shù)據(jù)流,處理:簡要說明簡要說明數(shù)據(jù)字典舉例數(shù)據(jù)字典舉例例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。 數(shù)據(jù)項數(shù)據(jù)項,以,以“學(xué)號學(xué)號”為例:為例: 數(shù)據(jù)項:學(xué)號數(shù)據(jù)項:學(xué)號 含義說明:唯一標(biāo)識每個學(xué)生含義說明:唯一標(biāo)識每個學(xué)生別名:學(xué)生編號別名:學(xué)生編號 類型:字
56、符型類型:字符型 長度:長度:8 取值范圍:取值范圍:00000000至至99999999取值含義:前兩位標(biāo)別該學(xué)生所在年級,取值含義:前兩位標(biāo)別該學(xué)生所在年級, 后六位按順序編號后六位按順序編號與其他數(shù)據(jù)項的邏輯關(guān)系:與其他數(shù)據(jù)項的邏輯關(guān)系:處理過程(續(xù))處理過程(續(xù))數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu),以以“學(xué)生學(xué)生”為例為例“學(xué)生學(xué)生”是該系統(tǒng)中的一個核心數(shù)據(jù)結(jié)構(gòu):是該系統(tǒng)中的一個核心數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)結(jié)構(gòu):學(xué)生數(shù)據(jù)結(jié)構(gòu):學(xué)生 含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu), 定義了一個學(xué)生的有關(guān)信息定義了一個學(xué)生的有關(guān)信息 組成:學(xué)號,姓名,性別,年齡,所在系,年級組
57、成:學(xué)號,姓名,性別,年齡,所在系,年級處理過程(續(xù))處理過程(續(xù))數(shù)據(jù)流,數(shù)據(jù)流,“體檢結(jié)果體檢結(jié)果”可如下描述:可如下描述: 數(shù)據(jù)流:體檢結(jié)果數(shù)據(jù)流:體檢結(jié)果 說明:學(xué)生參加體格檢查的最終結(jié)果說明:學(xué)生參加體格檢查的最終結(jié)果 數(shù)據(jù)流來源:體檢數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準(zhǔn)數(shù)據(jù)流去向:批準(zhǔn) 組成:組成:平均流量:平均流量:高峰期流量:高峰期流量:處理過程(續(xù))處理過程(續(xù))數(shù)據(jù)存儲,數(shù)據(jù)存儲,“學(xué)生登記表學(xué)生登記表”可如下描述:可如下描述: 數(shù)據(jù)存儲:學(xué)生登記表數(shù)據(jù)存儲:學(xué)生登記表 說明:記錄學(xué)生的基本情況說明:記錄學(xué)生的基本情況流入數(shù)據(jù)流:流入數(shù)據(jù)流: 流出數(shù)據(jù)流:流出數(shù)據(jù)流: 組成:
58、組成: 數(shù)據(jù)量:每年數(shù)據(jù)量:每年3000張張 存取方式:隨機(jī)存取存取方式:隨機(jī)存取 處理過程(續(xù))處理過程(續(xù))處理過程處理過程“分配宿舍分配宿舍”可如下描述:可如下描述:處理過程:分配宿舍處理過程:分配宿舍說明:為所有新生分配學(xué)生宿舍說明:為所有新生分配學(xué)生宿舍輸入:學(xué)生,宿舍輸入:學(xué)生,宿舍輸出:宿舍安排輸出:宿舍安排處理:在新生報到后,為所有新生分配學(xué)生宿舍。處理:在新生報到后,為所有新生分配學(xué)生宿舍。 要求同一間宿舍只能安排同一性別的學(xué)生,要求同一間宿舍只能安排同一性別的學(xué)生, 同一個學(xué)生只能安排在一個宿舍中。同一個學(xué)生只能安排在一個宿舍中。 每個學(xué)生的居住面積不小于每個學(xué)生的居住面積
59、不小于3平方米。平方米。 安排新生宿舍其處理時間應(yīng)不超過安排新生宿舍其處理時間應(yīng)不超過15分鐘。分鐘。 數(shù)據(jù)字典數(shù)據(jù)字典n 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,是元數(shù)據(jù),而不是數(shù)據(jù)本身數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,是元數(shù)據(jù),而不是數(shù)據(jù)本身n 數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、完善完善 需求分析小結(jié)需求分析小結(jié)n 設(shè)計人員應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計易于更改,系設(shè)計人員應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計易于更改,系統(tǒng)易于擴(kuò)充統(tǒng)易于擴(kuò)充 n 必須強(qiáng)調(diào)用戶的參與必須強(qiáng)調(diào)用戶的參與六、數(shù)據(jù)流圖舉例六、
60、數(shù)據(jù)流圖舉例倉庫管理系統(tǒng)數(shù)據(jù)流圖倉庫管理系統(tǒng)數(shù)據(jù)流圖保管員保管員車間車間財務(wù)部財務(wù)部采購部采購部入庫入庫處理處理1入庫單入庫單領(lǐng)料單領(lǐng)料單采購單采購單材料金額表材料金額表材料消耗表材料消耗表出庫出庫處理處理2更新更新庫存庫存3產(chǎn)生產(chǎn)生報表報表4出庫文件出庫文件出庫數(shù)據(jù)出庫數(shù)據(jù)出庫數(shù)據(jù)出庫數(shù)據(jù)出庫數(shù)據(jù)出庫數(shù)據(jù)入庫文件入庫文件入庫數(shù)據(jù)入庫數(shù)據(jù)庫存臺帳庫存臺帳入庫數(shù)據(jù)入庫數(shù)據(jù)庫存數(shù)據(jù)庫存數(shù)據(jù)庫存數(shù)據(jù)庫存數(shù)據(jù)數(shù)據(jù)加數(shù)據(jù)加工名工名數(shù)據(jù)源數(shù)據(jù)源/終點名終點名車間車間庫存臺帳材料入庫輸入入庫單材料出庫輸入出庫單入庫文件更新庫存采購單出庫文件開始財務(wù)部全天工作結(jié)束庫存量少于臨界值到月末生成采購單生成材料金額表
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州城市職業(yè)學(xué)院《影視攝像基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 漯河食品職業(yè)學(xué)院《會展項目綜合運營二》2023-2024學(xué)年第二學(xué)期期末試卷
- 武昌工學(xué)院《測試自動化》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽理工大學(xué)《酒店財務(wù)管理實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國地質(zhì)大學(xué)(北京)《電力電子變流技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年氣體檢測監(jiān)控系統(tǒng)合作協(xié)議書
- 浙江建設(shè)職業(yè)技術(shù)學(xué)院《畫法幾何及陰影透視》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧泌泰膠囊項目效益評估報告
- 河南2025年河南鄭州大學(xué)第一附屬醫(yī)院招聘819人筆試歷年參考題庫附帶答案詳解
- 大連軟件職業(yè)學(xué)院《食品營養(yǎng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《魔方知識普及》課件
- 東芝授權(quán)委托書標(biāo)準(zhǔn)版
- 2023施工項目部標(biāo)準(zhǔn)化工作手冊
- 中小學(xué)幼兒園中班下冊點點回家公開課教案教學(xué)設(shè)計課件案例測試練習(xí)卷題
- 中型轎車的盤式制動器的設(shè)計
- 低血糖急救護(hù)理課件
- 陰道鏡檢查臨床醫(yī)學(xué)知識及操作方法講解培訓(xùn)PPT
- 建設(shè)工程前期工作咨詢費收費計算表
- 行為矯正技術(shù)-課件
- 八年級物理下冊《實驗題》專項練習(xí)題及答案(人教版)
- 腦血管造影術(shù)后病人的護(hù)理查房
評論
0/150
提交評論