概念設(shè)計(jì)階段建立分區(qū)概念設(shè)計(jì)圖課件_第1頁(yè)
概念設(shè)計(jì)階段建立分區(qū)概念設(shè)計(jì)圖課件_第2頁(yè)
概念設(shè)計(jì)階段建立分區(qū)概念設(shè)計(jì)圖課件_第3頁(yè)
概念設(shè)計(jì)階段建立分區(qū)概念設(shè)計(jì)圖課件_第4頁(yè)
概念設(shè)計(jì)階段建立分區(qū)概念設(shè)計(jì)圖課件_第5頁(yè)
已閱讀5頁(yè),還剩123頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第11章建立關(guān)聯(lián)式資料庫(kù)著作權(quán)所有?旗標(biāo)出版股份有限公司第11章建立關(guān)聯(lián)式資料庫(kù)著作權(quán)所有?旗標(biāo)出版股份有限1本章提要如何設(shè)計(jì)一個(gè)完善的資料庫(kù)從客戶分析到建立實(shí)體-關(guān)係圖整合為全區(qū)的概念模型將實(shí)體-關(guān)係圖轉(zhuǎn)換為關(guān)聯(lián)式的資料表本章提要如何設(shè)計(jì)一個(gè)完善的資料庫(kù)2如何設(shè)計(jì)一個(gè)完善的資料庫(kù)資料庫(kù)的設(shè)計(jì)流程了解客戶需求概念設(shè)計(jì)階段邏輯設(shè)計(jì)階段建立資料庫(kù)如何設(shè)計(jì)一個(gè)完善的資料庫(kù)資料庫(kù)的設(shè)計(jì)流程3如何設(shè)計(jì)一個(gè)完善的資料庫(kù)操作介面設(shè)計(jì):就Access而言,操作介面設(shè)計(jì)就是表單的設(shè)計(jì),或是以程式語(yǔ)言所撰寫(xiě)的操作介面。讓使用者不必接觸資料庫(kù)的結(jié)構(gòu),就能操作資料庫(kù),如新增、刪除資料...等等工作。結(jié)構(gòu)設(shè)計(jì):結(jié)構(gòu)設(shè)計(jì)是指設(shè)計(jì)出適當(dāng)且最佳化的資料表。一個(gè)結(jié)構(gòu)良好的資料庫(kù)可提升其整體的存取效率及儲(chǔ)存效率。如何設(shè)計(jì)一個(gè)完善的資料庫(kù)操作介面設(shè)計(jì):就Access而言4資料庫(kù)的設(shè)計(jì)流程資料庫(kù)發(fā)展初期,資料庫(kù)規(guī)劃的完善與否,通常依設(shè)計(jì)者的經(jīng)驗(yàn)、方法及知識(shí)水準(zhǔn)不同而有所差別。但最後的成果未必能符合使用者的需求。資料庫(kù)的規(guī)劃過(guò)程大致可分為4個(gè)階段:資料庫(kù)的設(shè)計(jì)流程資料庫(kù)發(fā)展初期,資料庫(kù)規(guī)劃的完善與否,通5了解客戶需求針對(duì)客戶需求,確定設(shè)計(jì)範(fàn)圍

在規(guī)劃資料庫(kù)之前,當(dāng)然要先拜訪客戶,了解他們實(shí)際的工作流程、各部門(mén)執(zhí)掌範(fàn)圍及資料的處理方式。確定資料庫(kù)設(shè)計(jì)的範(fàn)圍及應(yīng)具備的功能。了解客戶需求針對(duì)客戶需求,確定設(shè)計(jì)範(fàn)圍

在規(guī)劃資料庫(kù)之前,6了解客戶需求收集和分析資料

在調(diào)查過(guò)程中,除了要明確而具體地找出客戶的需求外,還要盡量收集他們平時(shí)使用的各類表單、報(bào)表、檔案...,這些都是規(guī)劃資料庫(kù)的重要依據(jù)。了解客戶需求收集和分析資料

在調(diào)查過(guò)程中,除了要明確而具體7了解客戶需求了解客戶需求8概念設(shè)計(jì)階段在此階段,設(shè)計(jì)者不需考慮資料的儲(chǔ)存及處理等與電腦有關(guān)的問(wèn)題。主要工作是將收集的資料,經(jīng)過(guò)分析及整理後,產(chǎn)生一個(gè)能符合使用者需求的資料庫(kù)模型,並以簡(jiǎn)單的形式表現(xiàn)出來(lái)(例如實(shí)體-關(guān)係圖)。主要流程如下:概念設(shè)計(jì)階段在此階段,設(shè)計(jì)者不需考慮資料的儲(chǔ)存及處理等與電9概念設(shè)計(jì)階段概念設(shè)計(jì)階段10建立分區(qū)概念設(shè)計(jì)圖概念設(shè)計(jì)的第一個(gè)步驟要分別針對(duì)不同需求的使用者,確定使用範(fàn)圍。例如公司的資料庫(kù)系統(tǒng)必須面對(duì)業(yè)務(wù)部、財(cái)務(wù)部、產(chǎn)品部...等不同部門(mén)的使用者,這些使用者牽涉到資料庫(kù)中的資料及處理的方式各不相同,所以應(yīng)針對(duì)不同的需求,設(shè)計(jì)不同的概念模型。建立分區(qū)概念設(shè)計(jì)圖概念設(shè)計(jì)的第一個(gè)步驟要分別針對(duì)不同需求的使11整合為全區(qū)概念設(shè)計(jì)圖解決各分區(qū)概念設(shè)計(jì)之間不一致的情形:由於分區(qū)概念設(shè)計(jì)所面對(duì)的使用者不同,所以對(duì)於共同事務(wù)的看法及重要性有時(shí)會(huì)出現(xiàn)差異,而此步驟最主要的工作就是要消糜各分區(qū)模型之間的不一致。刪除概念設(shè)計(jì)中重複或多餘的物件,以免造成後續(xù)設(shè)計(jì)時(shí)的困擾。整合為全區(qū)概念設(shè)計(jì)圖解決各分區(qū)概念設(shè)計(jì)之間不一致的情形:由於12邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段13邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段的主要工作,是將概念設(shè)計(jì)階段產(chǎn)生的結(jié)果,轉(zhuǎn)換為實(shí)際使用的資料表。以實(shí)體-關(guān)係圖來(lái)說(shuō),此階段的工作可分為轉(zhuǎn)換為資料表及資料表正規(guī)化等兩項(xiàng)。邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段的主要工作,是將概念設(shè)計(jì)階段產(chǎn)生的14邏輯設(shè)計(jì)階段轉(zhuǎn)換為資料表

完成概念設(shè)計(jì)階段後,我們還必須遵循規(guī)則,將實(shí)體-關(guān)係圖正確無(wú)誤地轉(zhuǎn)換為實(shí)際使用的資料表,才能為資料庫(kù)所使用。邏輯設(shè)計(jì)階段轉(zhuǎn)換為資料表

完成概念設(shè)計(jì)階段後,我們還必須遵15邏輯設(shè)計(jì)階段資料表正規(guī)化

為了達(dá)到資料庫(kù)最佳化的目的,在轉(zhuǎn)換資料表後,能依照正規(guī)化的步驟重新檢驗(yàn)一次,最好讓每一個(gè)資料表都能符合BCNF(Boyce-CoddNormalForm)的規(guī)範(fàn)(我們將在下一章中為您介紹資料表的正規(guī)化步驟)。邏輯設(shè)計(jì)階段資料表正規(guī)化

為了達(dá)到資料庫(kù)最佳化的目的,在轉(zhuǎn)16建立資料庫(kù)經(jīng)過(guò)邏輯設(shè)計(jì)階段之後,紙上的分析工作即已完成。接著要將結(jié)果建到資料庫(kù)中(例如Access)。建立資料庫(kù)經(jīng)過(guò)邏輯設(shè)計(jì)階段之後,紙上的分析工作即已完成。接17從客戶分析到建立實(shí)體–

關(guān)係圖Step1:收集資料,確定設(shè)計(jì)範(fàn)圍Step2:依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍Step3:列出系統(tǒng)中的實(shí)體及其屬性Step4:建立實(shí)體之間的關(guān)係Step5:加入屬性從客戶分析到建立實(shí)體–

關(guān)係圖Step1:收集資料,18收集資料,確定設(shè)計(jì)範(fàn)圍假設(shè)某圖書(shū)公司要開(kāi)發(fā)公司的資料庫(kù)系統(tǒng),經(jīng)過(guò)評(píng)估和詳細(xì)的調(diào)查後,決定要建立倉(cāng)庫(kù)管理、書(shū)籍銷售和人事管理等系統(tǒng)(在此我們僅說(shuō)明書(shū)籍銷售系統(tǒng)的建立步驟)。經(jīng)過(guò)了設(shè)計(jì)者調(diào)查整理後,規(guī)劃出該系統(tǒng)的主要工作為:收集資料,確定設(shè)計(jì)範(fàn)圍假設(shè)某圖書(shū)公司要開(kāi)發(fā)公司的資料庫(kù)系統(tǒng)19收集資料,確定設(shè)計(jì)範(fàn)圍處理客戶訂單,產(chǎn)生出貨單交倉(cāng)庫(kù)出貨。將出貨單中詳列的書(shū)籍產(chǎn)品包裝後,運(yùn)送到客戶手中。依照出貨單上的書(shū)籍產(chǎn)品產(chǎn)生請(qǐng)款單,送到客戶手中??蛻粢勒照?qǐng)款單上的金額繳付,公司收到客戶的帳款後,便開(kāi)立發(fā)票寄送到客戶處。收集資料,確定設(shè)計(jì)範(fàn)圍處理客戶訂單,產(chǎn)生出貨單交倉(cāng)庫(kù)出貨20收集資料,確定設(shè)計(jì)範(fàn)圍收集資料,確定設(shè)計(jì)範(fàn)圍21依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍此工作範(fàn)圍內(nèi)牽涉到3個(gè)不同部門(mén)的使用者:分別為業(yè)務(wù)部門(mén)(負(fù)責(zé)處理訂單事宜)、發(fā)行部門(mén)(負(fù)責(zé)依照業(yè)務(wù)人員開(kāi)立的出貨單,將書(shū)籍送到客戶手上)及財(cái)務(wù)部門(mén)(負(fù)責(zé)處理開(kāi)立發(fā)票及催收帳款事宜),所以設(shè)計(jì)時(shí),必須針對(duì)不同需求,分別設(shè)計(jì)。以下為各部門(mén)的工作描述:依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍此工作範(fàn)圍內(nèi)牽涉到3個(gè)22依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍23列出系統(tǒng)中的實(shí)體及其屬性規(guī)劃出設(shè)計(jì)範(fàn)圍後,就要先確定實(shí)體。實(shí)體通常是整理資料中的名詞,例如地點(diǎn)、人物、概念、事件及設(shè)備等。若從業(yè)務(wù)部門(mén)的描述中,可得知實(shí)體為:列出系統(tǒng)中的實(shí)體及其屬性規(guī)劃出設(shè)計(jì)範(fàn)圍後,就要先確定實(shí)體。24列出系統(tǒng)中的實(shí)體及其屬性訂單:包含(*訂單編號(hào))、客戶名稱、聯(lián)絡(luò)人、地址、電話、訂單日期、訂單細(xì)目、總金額及備註等屬性。書(shū)籍:包含(*書(shū)籍編號(hào))、書(shū)籍名稱及單價(jià)等屬性??蛻簦喊?*客戶編號(hào))、客戶名稱、聯(lián)絡(luò)人、地址及電話等屬性。出貨單:包含(*出貨單編號(hào))、書(shū)籍名稱、地址、電話、客戶名稱及聯(lián)絡(luò)人等屬性。列出系統(tǒng)中的實(shí)體及其屬性訂單:包含(*訂單編號(hào))、客戶名稱25建立實(shí)體之間的關(guān)係實(shí)體及屬性確定後,接下來(lái)就要討論各實(shí)體之間的關(guān)係。以業(yè)務(wù)部門(mén)為例,其實(shí)體之間的關(guān)係:訂單和書(shū)籍的關(guān)係客戶和訂單的關(guān)係出貨單和訂單的關(guān)係建立實(shí)體之間的關(guān)係實(shí)體及屬性確定後,接下來(lái)就要討論各實(shí)體之26建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單是由訂單編號(hào)、客戶資料及訂單細(xì)目組成。我們必須透過(guò)訂單上的訂單細(xì)目才能了解客戶訂購(gòu)了哪些書(shū)籍,所以訂單和書(shū)籍的關(guān)係必須細(xì)分為訂單和訂單細(xì)目的關(guān)係及訂單細(xì)目和書(shū)籍

(亦即將訂單細(xì)目視為一個(gè)實(shí)體,屬性包括細(xì)目編號(hào)、書(shū)籍編號(hào)、書(shū)籍名稱、單價(jià)及數(shù)量)。以下就3者之間的關(guān)係探討:建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單是由訂單編號(hào)、客27建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單細(xì)目與訂單之間的關(guān)係:一個(gè)訂單可包含多個(gè)訂單細(xì)目,一份訂單細(xì)目只能屬於一份訂單,是一對(duì)多的組成關(guān)係。訂單細(xì)目與書(shū)籍之間的關(guān)係:一個(gè)訂單細(xì)目只可訂購(gòu)一種書(shū)籍,但一種書(shū)籍卻能屬於多個(gè)訂單細(xì)目,所以是為一對(duì)多的包含關(guān)係。建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單細(xì)目與訂單之間的28建立實(shí)體之間的關(guān)係–

客戶和訂單的關(guān)係一個(gè)客戶可填寫(xiě)多份訂單,但一份訂單只能屬於一個(gè)客戶,所以訂單與客戶之間的關(guān)係是一對(duì)多的填寫(xiě)關(guān)係。建立實(shí)體之間的關(guān)係–

客戶和訂單的關(guān)係一個(gè)客戶可填寫(xiě)多份訂29建立實(shí)體之間的關(guān)係–

出貨單和訂單的關(guān)係一份出貨單可由多份訂單組成,但一份訂單只能屬於一張出貨單,否則客戶就會(huì)收到好幾份相同的書(shū)籍。所以訂單與出貨單之間的關(guān)係,也是一對(duì)多的產(chǎn)生關(guān)係。建立實(shí)體之間的關(guān)係–

出貨單和訂單的關(guān)係一份出貨單可由多份30建立實(shí)體之間的關(guān)係綜合以上說(shuō)明,可得到如下的關(guān)係:建立實(shí)體之間的關(guān)係綜合以上說(shuō)明,可得到如下的關(guān)係:31加入屬性加入屬性32將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖33將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖34整合為全區(qū)的概念模型由於各分區(qū)實(shí)體-關(guān)係模型所面對(duì)的問(wèn)題不同,且通常由不同的設(shè)計(jì)者設(shè)計(jì),如此容易導(dǎo)致各個(gè)分區(qū)圖存在許多不一致的地方。因此在整合時(shí),最重要的工作就是要消除各分區(qū)圖的不一致,產(chǎn)生一個(gè)能被所有使用者接受的概念模型。整合為全區(qū)的概念模型由於各分區(qū)實(shí)體-關(guān)係模型所面對(duì)的問(wèn)題35整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–屬性不一致有時(shí)各分區(qū)圖,對(duì)於相同實(shí)體的屬性類型、範(fàn)圍、單位...會(huì)有不同。例如不同部門(mén),對(duì)於相同零件的編號(hào)方式不同;員工的年齡屬性,有的部門(mén)以出生日期表示,有的則直接用數(shù)字來(lái)表示;或產(chǎn)品的重量,有的部門(mén)以公斤為單位,有的卻以公克為單位。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–屬性不一致有時(shí)各36整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–命名不一致同名不同義:不同的物件,在不同的分區(qū)圖中,具有相同的名稱。同義不同名:相同的物件,在不同的分區(qū)圖中,具有不同的名稱。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–命名不一致同名不37整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一物件在不同的分區(qū)圖中的表現(xiàn)的方式不同。例如員工在某個(gè)分區(qū)圖中被視為實(shí)體,但在另一個(gè)分區(qū)圖中卻被視為屬性。

解決之道:必須檢查該物件在實(shí)體-關(guān)係圖中是否擁有屬性,或和其他實(shí)體產(chǎn)生關(guān)係。若是,則可將之設(shè)定為實(shí)體。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一物38整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一個(gè)實(shí)體在不同的分區(qū)圖中,所包含的屬性不相同。

這類情形相當(dāng)常見(jiàn),因?yàn)槊總€(gè)分區(qū)圖所重視的物件屬性並不相同,解決的方式是將所有的屬性都納入。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一個(gè)39整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致實(shí)體間的關(guān)係在不同的分區(qū)圖中不相同。例如甲實(shí)體和乙實(shí)體在某一個(gè)分區(qū)圖中是多對(duì)多的關(guān)係,但是在另一個(gè)分區(qū)圖中卻是一對(duì)多的關(guān)係;或是甲實(shí)體和乙實(shí)體在某一分區(qū)概念圖中具有關(guān)係,但在其他分區(qū)圖中卻沒(méi)有關(guān)係。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致實(shí)體間40整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致例如有的系所規(guī)定學(xué)生只能參加一個(gè)社團(tuán),而有的系所可讓學(xué)生參加多個(gè)社團(tuán)。則學(xué)生和社團(tuán)的關(guān)係上就產(chǎn)生了一對(duì)多及多對(duì)多的關(guān)係。為了滿足不同的需求,在整合時(shí),就可使用多對(duì)多的關(guān)係來(lái)表示。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致例如有41以『書(shū)籍銷售系統(tǒng)』為例,

說(shuō)明整合全區(qū)的概念設(shè)計(jì)Step1:整合實(shí)體Step2:整合關(guān)係Step3:整合屬性Step4:消除不必要的實(shí)體、關(guān)係及屬性以『書(shū)籍銷售系統(tǒng)』為例,

說(shuō)明整合全區(qū)的概念設(shè)計(jì)Step42整合實(shí)體實(shí)體的整合主要是檢討各分區(qū)圖中,實(shí)體的名稱及其代表的意義是否有衝突。在書(shū)籍銷售系統(tǒng)中,可整合得到以下的實(shí)體:整合實(shí)體實(shí)體的整合主要是檢討各分區(qū)圖中,實(shí)體的名稱及其代表43整合關(guān)係關(guān)係的整合主要是針對(duì)不同分區(qū)圖中相同實(shí)體之間的關(guān)係整合,看看是否有不一致的地方。整合關(guān)係關(guān)係的整合主要是針對(duì)不同分區(qū)圖中相同實(shí)體之間的關(guān)係整44整合屬性屬性的整合主要是檢討各實(shí)體中的屬性名稱及其代表的意義是否有衝突。整合屬性屬性的整合主要是檢討各實(shí)體中的屬性名稱及其代表的意義45消除不必要的實(shí)體、關(guān)係及

屬性從初步整合的實(shí)體-關(guān)係圖中,可發(fā)現(xiàn)許多實(shí)體、關(guān)係及屬性可由其他的實(shí)體、關(guān)係及屬性推導(dǎo)出來(lái)。因?yàn)檫@些實(shí)體和關(guān)係留在資料庫(kù)的結(jié)構(gòu)內(nèi),可能會(huì)破壞資料庫(kù)的完整性,增加維護(hù)的困難度,因此必須將其刪除。消除不必要的實(shí)體、關(guān)係及

屬性從初步整合的實(shí)體-關(guān)係圖中46消除不必要的實(shí)體、關(guān)係及

屬性以下從書(shū)籍銷售圖中列舉幾個(gè)例子來(lái)說(shuō)明:出貨單及請(qǐng)款單都是依據(jù)訂單所產(chǎn)生,所以我們可利用訂單來(lái)產(chǎn)生出貨單及請(qǐng)款單。因此,便可將這兩個(gè)實(shí)體刪除,當(dāng)然它的關(guān)係也就跟著刪除了。訂單中的客戶名稱、聯(lián)絡(luò)人、地址...等屬性亦可由客戶實(shí)體中取得,因此可將它們刪除。消除不必要的實(shí)體、關(guān)係及

屬性以下從書(shū)籍銷售圖中列舉幾個(gè)例子47消除不必

要的實(shí)體

、關(guān)係及

屬性消除不必

要的實(shí)體

、關(guān)係及

屬性48將實(shí)體-關(guān)係圖轉(zhuǎn)換為關(guān)聯(lián)式的資料表實(shí)體及屬性的轉(zhuǎn)換弱實(shí)體的轉(zhuǎn)換多值屬性的轉(zhuǎn)換實(shí)體間關(guān)係的轉(zhuǎn)換超類型和子類型的轉(zhuǎn)換以『書(shū)籍銷售系統(tǒng)』為例,說(shuō)明如何轉(zhuǎn)換為關(guān)聯(lián)式的資料表

將實(shí)體-關(guān)係圖轉(zhuǎn)換為關(guān)聯(lián)式的資料表實(shí)體及屬性的轉(zhuǎn)換49實(shí)體及屬性的轉(zhuǎn)換實(shí)體-關(guān)係圖中所有的實(shí)體都用資料表來(lái)表示;而屬性則轉(zhuǎn)換成為資料表的欄位,若為鍵屬性,則會(huì)成為該資料表的主鍵。如下圖所示:實(shí)體及屬性的轉(zhuǎn)換實(shí)體-關(guān)係圖中所有的實(shí)體都用資料表來(lái)表示50複合屬性的轉(zhuǎn)換若該屬性為複合屬性時(shí),必須將複合屬性中的所有屬性,都轉(zhuǎn)換為該資料表的欄位。如下圖所示:複合屬性的轉(zhuǎn)換若該屬性為複合屬性時(shí),必須將複合屬性中的所有51複合屬性的轉(zhuǎn)換在轉(zhuǎn)換時(shí),必須將聯(lián)絡(luò)人屬性中的姓氏及名字屬性當(dāng)作是客戶實(shí)體的屬性之一。轉(zhuǎn)換後的資料表如右:複合屬性的轉(zhuǎn)換在轉(zhuǎn)換時(shí),必須將聯(lián)絡(luò)人屬性中的姓氏及名字屬性52弱實(shí)體的轉(zhuǎn)換如果是弱實(shí)體,轉(zhuǎn)換時(shí),必須將其依賴實(shí)體的鍵屬性加入,做為該弱實(shí)體的連外鍵,並與該弱實(shí)體的識(shí)別屬性合起來(lái),成為弱實(shí)體的主鍵。如下圖所示:弱實(shí)體的轉(zhuǎn)換如果是弱實(shí)體,轉(zhuǎn)換時(shí),必須將其依賴實(shí)體的鍵屬53弱實(shí)體的轉(zhuǎn)換作者弱實(shí)體在轉(zhuǎn)換過(guò)程中,必須加入書(shū)籍實(shí)體的鍵屬性作為連外鍵,並結(jié)合作者編號(hào)成為作者資料表的主鍵,如下表所示:弱實(shí)體的轉(zhuǎn)換作者弱實(shí)體在轉(zhuǎn)換過(guò)程中,必須加入書(shū)籍實(shí)體的鍵屬54多值屬性的轉(zhuǎn)換若實(shí)體中的屬性為多值屬性,則在轉(zhuǎn)換時(shí),必須為該屬性另外建立資料表,假設(shè)書(shū)籍實(shí)體中的單價(jià)屬性為多值屬性。如下圖所示:多值屬性的轉(zhuǎn)換若實(shí)體中的屬性為多值屬性,則在轉(zhuǎn)換時(shí),必須55多值屬性的轉(zhuǎn)換我們必須為單價(jià)屬性另外建立一個(gè)單價(jià)資料表,然後將書(shū)籍實(shí)體的鍵屬性(書(shū)籍編號(hào))加入單價(jià)資料表中,成為該實(shí)體的連外鍵,並且與單價(jià)編號(hào)(識(shí)別屬性)合起來(lái)成為單價(jià)資料表的主鍵。多值屬性的轉(zhuǎn)換我們必須為單價(jià)屬性另外建立一個(gè)單價(jià)資料表,然56實(shí)體間關(guān)係的轉(zhuǎn)換『一對(duì)一』關(guān)係的轉(zhuǎn)換

將部份參與實(shí)體的主鍵放入全部參與的實(shí)體中,做為連外鍵。例如公司員工(全部參與,假設(shè)所有的員工都會(huì)分配到汽車)和汽車(部分參與,並非所有的汽車都分配給員工)之間為一對(duì)一的關(guān)係:實(shí)體間關(guān)係的轉(zhuǎn)換『一對(duì)一』關(guān)係的轉(zhuǎn)換

將部份參與實(shí)體的主鍵放57實(shí)體間關(guān)係的轉(zhuǎn)換首先,將員工及汽車實(shí)體分別轉(zhuǎn)換成資料表,然後再將汽車資料表的主鍵放到員工資料表中,做為連外鍵),如下所示:實(shí)體間關(guān)係的轉(zhuǎn)換首先,將員工及汽車實(shí)體分別轉(zhuǎn)換成資料表,58實(shí)體間關(guān)係的轉(zhuǎn)換『一對(duì)多』關(guān)係的轉(zhuǎn)換

在實(shí)體-關(guān)係圖中,一對(duì)多的關(guān)係是將一個(gè)父資料表("一"的這一方)中的主鍵放入子資料表("多"的這一方)中,做為子資料表的連外鍵。我們將客戶及訂單的一對(duì)多關(guān)係轉(zhuǎn)換後,可產(chǎn)生下列的結(jié)果:實(shí)體間關(guān)係的轉(zhuǎn)換『一對(duì)多』關(guān)係的轉(zhuǎn)換

在實(shí)體-關(guān)係圖中,一59實(shí)體間關(guān)係的轉(zhuǎn)換實(shí)體間關(guān)係的轉(zhuǎn)換60實(shí)體間關(guān)係的轉(zhuǎn)換『多對(duì)多』關(guān)係的轉(zhuǎn)換

當(dāng)實(shí)體間是多對(duì)多的關(guān)係時(shí),就必須為關(guān)係另外建立一個(gè)資料表,且該資料表要包含它所關(guān)聯(lián)的實(shí)體的主鍵。例如員工和專案的關(guān)係,可得到如下的結(jié)果:實(shí)體間關(guān)係的轉(zhuǎn)換『多對(duì)多』關(guān)係的轉(zhuǎn)換

當(dāng)實(shí)體間是多對(duì)多的關(guān)係61實(shí)體間關(guān)係的轉(zhuǎn)換實(shí)體間關(guān)係的轉(zhuǎn)換62以『書(shū)籍銷售系統(tǒng)』為例,說(shuō)明如何轉(zhuǎn)換為關(guān)聯(lián)式的資料表Step1:將實(shí)體轉(zhuǎn)換為資料表、屬性轉(zhuǎn)換為欄位以『書(shū)籍銷售系統(tǒng)』為例,說(shuō)明如何轉(zhuǎn)換為關(guān)聯(lián)式的資料表Ste63以『書(shū)籍銷售系統(tǒng)』為例,說(shuō)明如何轉(zhuǎn)換為關(guān)聯(lián)式的資料表Step2:建立資料表之間的關(guān)聯(lián):以『書(shū)籍銷售系統(tǒng)』為例,說(shuō)明如何轉(zhuǎn)換為關(guān)聯(lián)式的資料表Ste64第11章建立關(guān)聯(lián)式資料庫(kù)著作權(quán)所有?旗標(biāo)出版股份有限公司第11章建立關(guān)聯(lián)式資料庫(kù)著作權(quán)所有?旗標(biāo)出版股份有限65本章提要如何設(shè)計(jì)一個(gè)完善的資料庫(kù)從客戶分析到建立實(shí)體-關(guān)係圖整合為全區(qū)的概念模型將實(shí)體-關(guān)係圖轉(zhuǎn)換為關(guān)聯(lián)式的資料表本章提要如何設(shè)計(jì)一個(gè)完善的資料庫(kù)66如何設(shè)計(jì)一個(gè)完善的資料庫(kù)資料庫(kù)的設(shè)計(jì)流程了解客戶需求概念設(shè)計(jì)階段邏輯設(shè)計(jì)階段建立資料庫(kù)如何設(shè)計(jì)一個(gè)完善的資料庫(kù)資料庫(kù)的設(shè)計(jì)流程67如何設(shè)計(jì)一個(gè)完善的資料庫(kù)操作介面設(shè)計(jì):就Access而言,操作介面設(shè)計(jì)就是表單的設(shè)計(jì),或是以程式語(yǔ)言所撰寫(xiě)的操作介面。讓使用者不必接觸資料庫(kù)的結(jié)構(gòu),就能操作資料庫(kù),如新增、刪除資料...等等工作。結(jié)構(gòu)設(shè)計(jì):結(jié)構(gòu)設(shè)計(jì)是指設(shè)計(jì)出適當(dāng)且最佳化的資料表。一個(gè)結(jié)構(gòu)良好的資料庫(kù)可提升其整體的存取效率及儲(chǔ)存效率。如何設(shè)計(jì)一個(gè)完善的資料庫(kù)操作介面設(shè)計(jì):就Access而言68資料庫(kù)的設(shè)計(jì)流程資料庫(kù)發(fā)展初期,資料庫(kù)規(guī)劃的完善與否,通常依設(shè)計(jì)者的經(jīng)驗(yàn)、方法及知識(shí)水準(zhǔn)不同而有所差別。但最後的成果未必能符合使用者的需求。資料庫(kù)的規(guī)劃過(guò)程大致可分為4個(gè)階段:資料庫(kù)的設(shè)計(jì)流程資料庫(kù)發(fā)展初期,資料庫(kù)規(guī)劃的完善與否,通69了解客戶需求針對(duì)客戶需求,確定設(shè)計(jì)範(fàn)圍

在規(guī)劃資料庫(kù)之前,當(dāng)然要先拜訪客戶,了解他們實(shí)際的工作流程、各部門(mén)執(zhí)掌範(fàn)圍及資料的處理方式。確定資料庫(kù)設(shè)計(jì)的範(fàn)圍及應(yīng)具備的功能。了解客戶需求針對(duì)客戶需求,確定設(shè)計(jì)範(fàn)圍

在規(guī)劃資料庫(kù)之前,70了解客戶需求收集和分析資料

在調(diào)查過(guò)程中,除了要明確而具體地找出客戶的需求外,還要盡量收集他們平時(shí)使用的各類表單、報(bào)表、檔案...,這些都是規(guī)劃資料庫(kù)的重要依據(jù)。了解客戶需求收集和分析資料

在調(diào)查過(guò)程中,除了要明確而具體71了解客戶需求了解客戶需求72概念設(shè)計(jì)階段在此階段,設(shè)計(jì)者不需考慮資料的儲(chǔ)存及處理等與電腦有關(guān)的問(wèn)題。主要工作是將收集的資料,經(jīng)過(guò)分析及整理後,產(chǎn)生一個(gè)能符合使用者需求的資料庫(kù)模型,並以簡(jiǎn)單的形式表現(xiàn)出來(lái)(例如實(shí)體-關(guān)係圖)。主要流程如下:概念設(shè)計(jì)階段在此階段,設(shè)計(jì)者不需考慮資料的儲(chǔ)存及處理等與電73概念設(shè)計(jì)階段概念設(shè)計(jì)階段74建立分區(qū)概念設(shè)計(jì)圖概念設(shè)計(jì)的第一個(gè)步驟要分別針對(duì)不同需求的使用者,確定使用範(fàn)圍。例如公司的資料庫(kù)系統(tǒng)必須面對(duì)業(yè)務(wù)部、財(cái)務(wù)部、產(chǎn)品部...等不同部門(mén)的使用者,這些使用者牽涉到資料庫(kù)中的資料及處理的方式各不相同,所以應(yīng)針對(duì)不同的需求,設(shè)計(jì)不同的概念模型。建立分區(qū)概念設(shè)計(jì)圖概念設(shè)計(jì)的第一個(gè)步驟要分別針對(duì)不同需求的使75整合為全區(qū)概念設(shè)計(jì)圖解決各分區(qū)概念設(shè)計(jì)之間不一致的情形:由於分區(qū)概念設(shè)計(jì)所面對(duì)的使用者不同,所以對(duì)於共同事務(wù)的看法及重要性有時(shí)會(huì)出現(xiàn)差異,而此步驟最主要的工作就是要消糜各分區(qū)模型之間的不一致。刪除概念設(shè)計(jì)中重複或多餘的物件,以免造成後續(xù)設(shè)計(jì)時(shí)的困擾。整合為全區(qū)概念設(shè)計(jì)圖解決各分區(qū)概念設(shè)計(jì)之間不一致的情形:由於76邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段77邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段的主要工作,是將概念設(shè)計(jì)階段產(chǎn)生的結(jié)果,轉(zhuǎn)換為實(shí)際使用的資料表。以實(shí)體-關(guān)係圖來(lái)說(shuō),此階段的工作可分為轉(zhuǎn)換為資料表及資料表正規(guī)化等兩項(xiàng)。邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段的主要工作,是將概念設(shè)計(jì)階段產(chǎn)生的78邏輯設(shè)計(jì)階段轉(zhuǎn)換為資料表

完成概念設(shè)計(jì)階段後,我們還必須遵循規(guī)則,將實(shí)體-關(guān)係圖正確無(wú)誤地轉(zhuǎn)換為實(shí)際使用的資料表,才能為資料庫(kù)所使用。邏輯設(shè)計(jì)階段轉(zhuǎn)換為資料表

完成概念設(shè)計(jì)階段後,我們還必須遵79邏輯設(shè)計(jì)階段資料表正規(guī)化

為了達(dá)到資料庫(kù)最佳化的目的,在轉(zhuǎn)換資料表後,能依照正規(guī)化的步驟重新檢驗(yàn)一次,最好讓每一個(gè)資料表都能符合BCNF(Boyce-CoddNormalForm)的規(guī)範(fàn)(我們將在下一章中為您介紹資料表的正規(guī)化步驟)。邏輯設(shè)計(jì)階段資料表正規(guī)化

為了達(dá)到資料庫(kù)最佳化的目的,在轉(zhuǎn)80建立資料庫(kù)經(jīng)過(guò)邏輯設(shè)計(jì)階段之後,紙上的分析工作即已完成。接著要將結(jié)果建到資料庫(kù)中(例如Access)。建立資料庫(kù)經(jīng)過(guò)邏輯設(shè)計(jì)階段之後,紙上的分析工作即已完成。接81從客戶分析到建立實(shí)體–

關(guān)係圖Step1:收集資料,確定設(shè)計(jì)範(fàn)圍Step2:依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍Step3:列出系統(tǒng)中的實(shí)體及其屬性Step4:建立實(shí)體之間的關(guān)係Step5:加入屬性從客戶分析到建立實(shí)體–

關(guān)係圖Step1:收集資料,82收集資料,確定設(shè)計(jì)範(fàn)圍假設(shè)某圖書(shū)公司要開(kāi)發(fā)公司的資料庫(kù)系統(tǒng),經(jīng)過(guò)評(píng)估和詳細(xì)的調(diào)查後,決定要建立倉(cāng)庫(kù)管理、書(shū)籍銷售和人事管理等系統(tǒng)(在此我們僅說(shuō)明書(shū)籍銷售系統(tǒng)的建立步驟)。經(jīng)過(guò)了設(shè)計(jì)者調(diào)查整理後,規(guī)劃出該系統(tǒng)的主要工作為:收集資料,確定設(shè)計(jì)範(fàn)圍假設(shè)某圖書(shū)公司要開(kāi)發(fā)公司的資料庫(kù)系統(tǒng)83收集資料,確定設(shè)計(jì)範(fàn)圍處理客戶訂單,產(chǎn)生出貨單交倉(cāng)庫(kù)出貨。將出貨單中詳列的書(shū)籍產(chǎn)品包裝後,運(yùn)送到客戶手中。依照出貨單上的書(shū)籍產(chǎn)品產(chǎn)生請(qǐng)款單,送到客戶手中??蛻粢勒照?qǐng)款單上的金額繳付,公司收到客戶的帳款後,便開(kāi)立發(fā)票寄送到客戶處。收集資料,確定設(shè)計(jì)範(fàn)圍處理客戶訂單,產(chǎn)生出貨單交倉(cāng)庫(kù)出貨84收集資料,確定設(shè)計(jì)範(fàn)圍收集資料,確定設(shè)計(jì)範(fàn)圍85依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍此工作範(fàn)圍內(nèi)牽涉到3個(gè)不同部門(mén)的使用者:分別為業(yè)務(wù)部門(mén)(負(fù)責(zé)處理訂單事宜)、發(fā)行部門(mén)(負(fù)責(zé)依照業(yè)務(wù)人員開(kāi)立的出貨單,將書(shū)籍送到客戶手上)及財(cái)務(wù)部門(mén)(負(fù)責(zé)處理開(kāi)立發(fā)票及催收帳款事宜),所以設(shè)計(jì)時(shí),必須針對(duì)不同需求,分別設(shè)計(jì)。以下為各部門(mén)的工作描述:依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍此工作範(fàn)圍內(nèi)牽涉到3個(gè)86依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍依照不同的使用者訂出分區(qū)的設(shè)計(jì)範(fàn)圍87列出系統(tǒng)中的實(shí)體及其屬性規(guī)劃出設(shè)計(jì)範(fàn)圍後,就要先確定實(shí)體。實(shí)體通常是整理資料中的名詞,例如地點(diǎn)、人物、概念、事件及設(shè)備等。若從業(yè)務(wù)部門(mén)的描述中,可得知實(shí)體為:列出系統(tǒng)中的實(shí)體及其屬性規(guī)劃出設(shè)計(jì)範(fàn)圍後,就要先確定實(shí)體。88列出系統(tǒng)中的實(shí)體及其屬性訂單:包含(*訂單編號(hào))、客戶名稱、聯(lián)絡(luò)人、地址、電話、訂單日期、訂單細(xì)目、總金額及備註等屬性。書(shū)籍:包含(*書(shū)籍編號(hào))、書(shū)籍名稱及單價(jià)等屬性??蛻簦喊?*客戶編號(hào))、客戶名稱、聯(lián)絡(luò)人、地址及電話等屬性。出貨單:包含(*出貨單編號(hào))、書(shū)籍名稱、地址、電話、客戶名稱及聯(lián)絡(luò)人等屬性。列出系統(tǒng)中的實(shí)體及其屬性訂單:包含(*訂單編號(hào))、客戶名稱89建立實(shí)體之間的關(guān)係實(shí)體及屬性確定後,接下來(lái)就要討論各實(shí)體之間的關(guān)係。以業(yè)務(wù)部門(mén)為例,其實(shí)體之間的關(guān)係:訂單和書(shū)籍的關(guān)係客戶和訂單的關(guān)係出貨單和訂單的關(guān)係建立實(shí)體之間的關(guān)係實(shí)體及屬性確定後,接下來(lái)就要討論各實(shí)體之90建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單是由訂單編號(hào)、客戶資料及訂單細(xì)目組成。我們必須透過(guò)訂單上的訂單細(xì)目才能了解客戶訂購(gòu)了哪些書(shū)籍,所以訂單和書(shū)籍的關(guān)係必須細(xì)分為訂單和訂單細(xì)目的關(guān)係及訂單細(xì)目和書(shū)籍

(亦即將訂單細(xì)目視為一個(gè)實(shí)體,屬性包括細(xì)目編號(hào)、書(shū)籍編號(hào)、書(shū)籍名稱、單價(jià)及數(shù)量)。以下就3者之間的關(guān)係探討:建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單是由訂單編號(hào)、客91建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單細(xì)目與訂單之間的關(guān)係:一個(gè)訂單可包含多個(gè)訂單細(xì)目,一份訂單細(xì)目只能屬於一份訂單,是一對(duì)多的組成關(guān)係。訂單細(xì)目與書(shū)籍之間的關(guān)係:一個(gè)訂單細(xì)目只可訂購(gòu)一種書(shū)籍,但一種書(shū)籍卻能屬於多個(gè)訂單細(xì)目,所以是為一對(duì)多的包含關(guān)係。建立實(shí)體之間的關(guān)係–

訂單和書(shū)籍的關(guān)係訂單細(xì)目與訂單之間的92建立實(shí)體之間的關(guān)係–

客戶和訂單的關(guān)係一個(gè)客戶可填寫(xiě)多份訂單,但一份訂單只能屬於一個(gè)客戶,所以訂單與客戶之間的關(guān)係是一對(duì)多的填寫(xiě)關(guān)係。建立實(shí)體之間的關(guān)係–

客戶和訂單的關(guān)係一個(gè)客戶可填寫(xiě)多份訂93建立實(shí)體之間的關(guān)係–

出貨單和訂單的關(guān)係一份出貨單可由多份訂單組成,但一份訂單只能屬於一張出貨單,否則客戶就會(huì)收到好幾份相同的書(shū)籍。所以訂單與出貨單之間的關(guān)係,也是一對(duì)多的產(chǎn)生關(guān)係。建立實(shí)體之間的關(guān)係–

出貨單和訂單的關(guān)係一份出貨單可由多份94建立實(shí)體之間的關(guān)係綜合以上說(shuō)明,可得到如下的關(guān)係:建立實(shí)體之間的關(guān)係綜合以上說(shuō)明,可得到如下的關(guān)係:95加入屬性加入屬性96將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖97將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖將其他流程圖轉(zhuǎn)變?yōu)閷?shí)體–

關(guān)係圖98整合為全區(qū)的概念模型由於各分區(qū)實(shí)體-關(guān)係模型所面對(duì)的問(wèn)題不同,且通常由不同的設(shè)計(jì)者設(shè)計(jì),如此容易導(dǎo)致各個(gè)分區(qū)圖存在許多不一致的地方。因此在整合時(shí),最重要的工作就是要消除各分區(qū)圖的不一致,產(chǎn)生一個(gè)能被所有使用者接受的概念模型。整合為全區(qū)的概念模型由於各分區(qū)實(shí)體-關(guān)係模型所面對(duì)的問(wèn)題99整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–屬性不一致有時(shí)各分區(qū)圖,對(duì)於相同實(shí)體的屬性類型、範(fàn)圍、單位...會(huì)有不同。例如不同部門(mén),對(duì)於相同零件的編號(hào)方式不同;員工的年齡屬性,有的部門(mén)以出生日期表示,有的則直接用數(shù)字來(lái)表示;或產(chǎn)品的重量,有的部門(mén)以公斤為單位,有的卻以公克為單位。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–屬性不一致有時(shí)各100整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–命名不一致同名不同義:不同的物件,在不同的分區(qū)圖中,具有相同的名稱。同義不同名:相同的物件,在不同的分區(qū)圖中,具有不同的名稱。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–命名不一致同名不101整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一物件在不同的分區(qū)圖中的表現(xiàn)的方式不同。例如員工在某個(gè)分區(qū)圖中被視為實(shí)體,但在另一個(gè)分區(qū)圖中卻被視為屬性。

解決之道:必須檢查該物件在實(shí)體-關(guān)係圖中是否擁有屬性,或和其他實(shí)體產(chǎn)生關(guān)係。若是,則可將之設(shè)定為實(shí)體。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一物102整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一個(gè)實(shí)體在不同的分區(qū)圖中,所包含的屬性不相同。

這類情形相當(dāng)常見(jiàn),因?yàn)槊總€(gè)分區(qū)圖所重視的物件屬性並不相同,解決的方式是將所有的屬性都納入。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致同一個(gè)103整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致實(shí)體間的關(guān)係在不同的分區(qū)圖中不相同。例如甲實(shí)體和乙實(shí)體在某一個(gè)分區(qū)圖中是多對(duì)多的關(guān)係,但是在另一個(gè)分區(qū)圖中卻是一對(duì)多的關(guān)係;或是甲實(shí)體和乙實(shí)體在某一分區(qū)概念圖中具有關(guān)係,但在其他分區(qū)圖中卻沒(méi)有關(guān)係。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致實(shí)體間104整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致例如有的系所規(guī)定學(xué)生只能參加一個(gè)社團(tuán),而有的系所可讓學(xué)生參加多個(gè)社團(tuán)。則學(xué)生和社團(tuán)的關(guān)係上就產(chǎn)生了一對(duì)多及多對(duì)多的關(guān)係。為了滿足不同的需求,在整合時(shí),就可使用多對(duì)多的關(guān)係來(lái)表示。整合實(shí)體-關(guān)係圖時(shí)

可能遭遇的問(wèn)題–結(jié)構(gòu)不一致例如有105以『書(shū)籍銷售系統(tǒng)』為例,

說(shuō)明整合全區(qū)的概念設(shè)計(jì)Step1:整合實(shí)體Step2:整合關(guān)係Step3:整合屬性Step4:消除不必要的實(shí)體、關(guān)係及屬性以『書(shū)籍銷售系統(tǒng)』為例,

說(shuō)明整合全區(qū)的概念設(shè)計(jì)Step106整合實(shí)體實(shí)體的整合主要是檢討各分區(qū)圖中,實(shí)體的名稱及其代表的意義是否有衝突。在書(shū)籍銷售系統(tǒng)中,可整合得到以下的實(shí)體:整合實(shí)體實(shí)體的整合主要是檢討各分區(qū)圖中,實(shí)體的名稱及其代表107整合關(guān)係關(guān)係的整合主要是針對(duì)不同分區(qū)圖中相同實(shí)體之間的關(guān)係整合,看看是否有不一致的地方。整合關(guān)係關(guān)係的整合主要是針對(duì)不同分區(qū)圖中相同實(shí)體之間的關(guān)係整108整合屬性屬性的整合主要是檢討各實(shí)體中的屬性名稱及其代表的意義是否有衝突。整合屬性屬性的整合主要是檢討各實(shí)體中的屬性名稱及其代表的意義109消除不必要的實(shí)體、關(guān)係及

屬性從初步整合的實(shí)體-關(guān)係圖中,可發(fā)現(xiàn)許多實(shí)體、關(guān)係及屬性可由其他的實(shí)體、關(guān)係及屬性推導(dǎo)出來(lái)。因?yàn)檫@些實(shí)體和關(guān)係留在資料庫(kù)的結(jié)構(gòu)內(nèi),可能會(huì)破壞資料庫(kù)的完整性,增加維護(hù)的困難度,因此必須將其刪除。消除不必要的實(shí)體、關(guān)係及

屬性從初步整合的實(shí)體-關(guān)係圖中110消除不必要的實(shí)體、關(guān)係及

屬性以下從書(shū)籍銷售圖中列舉幾個(gè)例子來(lái)說(shuō)明:出貨單及請(qǐng)款單都是依據(jù)訂單所產(chǎn)生,所以我們可利用訂單來(lái)產(chǎn)生出貨單及請(qǐng)款單。因此,便可將這兩個(gè)實(shí)體刪除,當(dāng)然它的關(guān)係也就跟著刪除了。訂單中的客戶名稱、聯(lián)絡(luò)人、地址...等屬性亦可由客戶實(shí)體中取得,因此可將它們刪除。消除不必要的實(shí)體、關(guān)係及

屬性以下從書(shū)籍銷售圖中列舉幾個(gè)例子111消除不必

要的實(shí)體

、關(guān)係及

屬性消除不必

要的實(shí)體

、關(guān)係及

屬性112將實(shí)體-關(guān)係圖轉(zhuǎn)換為關(guān)聯(lián)式的資料表實(shí)體及屬性的轉(zhuǎn)換弱實(shí)體的轉(zhuǎn)換多值屬性的轉(zhuǎn)換實(shí)體間關(guān)係的轉(zhuǎn)換超類型和子類型的轉(zhuǎn)換以『書(shū)籍銷售系統(tǒng)』為例,說(shuō)明如何轉(zhuǎn)換為關(guān)聯(lián)式的資料表

將實(shí)體-關(guān)係圖轉(zhuǎn)換為關(guān)聯(lián)式的資料表實(shí)體及屬性的轉(zhuǎn)換113實(shí)體及屬性的轉(zhuǎn)換實(shí)體-關(guān)係圖中所有的實(shí)體都用資料表來(lái)表示;而屬性則轉(zhuǎn)換成為資料表的欄位,若為鍵屬性,則會(huì)成為該資料表的主鍵。如下圖所示:實(shí)體及屬性的轉(zhuǎn)換實(shí)體-關(guān)係圖中所有的實(shí)體都用資料表來(lái)表示114複合屬性的轉(zhuǎn)換若該屬性為

溫馨提示

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

評(píng)論

0/150

提交評(píng)論