




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第11章建立關聯(lián)式資料庫著作權所有?旗標出版股份有限公司第11章建立關聯(lián)式資料庫著作權所有?旗標出版股份有限1本章提要如何設計一個完善的資料庫從客戶分析到建立實體-關係圖整合為全區(qū)的概念模型將實體-關係圖轉換為關聯(lián)式的資料表本章提要如何設計一個完善的資料庫2如何設計一個完善的資料庫資料庫的設計流程了解客戶需求概念設計階段邏輯設計階段建立資料庫如何設計一個完善的資料庫資料庫的設計流程3如何設計一個完善的資料庫操作介面設計:就Access而言,操作介面設計就是表單的設計,或是以程式語言所撰寫的操作介面。讓使用者不必接觸資料庫的結構,就能操作資料庫,如新增、刪除資料...等等工作。結構設計:結構設計是指設計出適當且最佳化的資料表。一個結構良好的資料庫可提升其整體的存取效率及儲存效率。如何設計一個完善的資料庫操作介面設計:就Access而言4資料庫的設計流程資料庫發(fā)展初期,資料庫規(guī)劃的完善與否,通常依設計者的經(jīng)驗、方法及知識水準不同而有所差別。但最後的成果未必能符合使用者的需求。資料庫的規(guī)劃過程大致可分為4個階段:資料庫的設計流程資料庫發(fā)展初期,資料庫規(guī)劃的完善與否,通5了解客戶需求針對客戶需求,確定設計範圍
在規(guī)劃資料庫之前,當然要先拜訪客戶,了解他們實際的工作流程、各部門執(zhí)掌範圍及資料的處理方式。確定資料庫設計的範圍及應具備的功能。了解客戶需求針對客戶需求,確定設計範圍
在規(guī)劃資料庫之前,6了解客戶需求收集和分析資料
在調查過程中,除了要明確而具體地找出客戶的需求外,還要盡量收集他們平時使用的各類表單、報表、檔案...,這些都是規(guī)劃資料庫的重要依據(jù)。了解客戶需求收集和分析資料
在調查過程中,除了要明確而具體7了解客戶需求了解客戶需求8概念設計階段在此階段,設計者不需考慮資料的儲存及處理等與電腦有關的問題。主要工作是將收集的資料,經(jīng)過分析及整理後,產生一個能符合使用者需求的資料庫模型,並以簡單的形式表現(xiàn)出來(例如實體-關係圖)。主要流程如下:概念設計階段在此階段,設計者不需考慮資料的儲存及處理等與電9概念設計階段概念設計階段10建立分區(qū)概念設計圖概念設計的第一個步驟要分別針對不同需求的使用者,確定使用範圍。例如公司的資料庫系統(tǒng)必須面對業(yè)務部、財務部、產品部...等不同部門的使用者,這些使用者牽涉到資料庫中的資料及處理的方式各不相同,所以應針對不同的需求,設計不同的概念模型。建立分區(qū)概念設計圖概念設計的第一個步驟要分別針對不同需求的使11整合為全區(qū)概念設計圖解決各分區(qū)概念設計之間不一致的情形:由於分區(qū)概念設計所面對的使用者不同,所以對於共同事務的看法及重要性有時會出現(xiàn)差異,而此步驟最主要的工作就是要消糜各分區(qū)模型之間的不一致。刪除概念設計中重複或多餘的物件,以免造成後續(xù)設計時的困擾。整合為全區(qū)概念設計圖解決各分區(qū)概念設計之間不一致的情形:由於12邏輯設計階段邏輯設計階段13邏輯設計階段邏輯設計階段的主要工作,是將概念設計階段產生的結果,轉換為實際使用的資料表。以實體-關係圖來說,此階段的工作可分為轉換為資料表及資料表正規(guī)化等兩項。邏輯設計階段邏輯設計階段的主要工作,是將概念設計階段產生的14邏輯設計階段轉換為資料表
完成概念設計階段後,我們還必須遵循規(guī)則,將實體-關係圖正確無誤地轉換為實際使用的資料表,才能為資料庫所使用。邏輯設計階段轉換為資料表
完成概念設計階段後,我們還必須遵15邏輯設計階段資料表正規(guī)化
為了達到資料庫最佳化的目的,在轉換資料表後,能依照正規(guī)化的步驟重新檢驗一次,最好讓每一個資料表都能符合BCNF(Boyce-CoddNormalForm)的規(guī)範(我們將在下一章中為您介紹資料表的正規(guī)化步驟)。邏輯設計階段資料表正規(guī)化
為了達到資料庫最佳化的目的,在轉16建立資料庫經(jīng)過邏輯設計階段之後,紙上的分析工作即已完成。接著要將結果建到資料庫中(例如Access)。建立資料庫經(jīng)過邏輯設計階段之後,紙上的分析工作即已完成。接17從客戶分析到建立實體–
關係圖Step1:收集資料,確定設計範圍Step2:依照不同的使用者訂出分區(qū)的設計範圍Step3:列出系統(tǒng)中的實體及其屬性Step4:建立實體之間的關係Step5:加入屬性從客戶分析到建立實體–
關係圖Step1:收集資料,18收集資料,確定設計範圍假設某圖書公司要開發(fā)公司的資料庫系統(tǒng),經(jīng)過評估和詳細的調查後,決定要建立倉庫管理、書籍銷售和人事管理等系統(tǒng)(在此我們僅說明書籍銷售系統(tǒng)的建立步驟)。經(jīng)過了設計者調查整理後,規(guī)劃出該系統(tǒng)的主要工作為:收集資料,確定設計範圍假設某圖書公司要開發(fā)公司的資料庫系統(tǒng)19收集資料,確定設計範圍處理客戶訂單,產生出貨單交倉庫出貨。將出貨單中詳列的書籍產品包裝後,運送到客戶手中。依照出貨單上的書籍產品產生請款單,送到客戶手中。客戶依照請款單上的金額繳付,公司收到客戶的帳款後,便開立發(fā)票寄送到客戶處。收集資料,確定設計範圍處理客戶訂單,產生出貨單交倉庫出貨20收集資料,確定設計範圍收集資料,確定設計範圍21依照不同的使用者訂出分區(qū)的設計範圍此工作範圍內牽涉到3個不同部門的使用者:分別為業(yè)務部門(負責處理訂單事宜)、發(fā)行部門(負責依照業(yè)務人員開立的出貨單,將書籍送到客戶手上)及財務部門(負責處理開立發(fā)票及催收帳款事宜),所以設計時,必須針對不同需求,分別設計。以下為各部門的工作描述:依照不同的使用者訂出分區(qū)的設計範圍此工作範圍內牽涉到3個22依照不同的使用者訂出分區(qū)的設計範圍依照不同的使用者訂出分區(qū)的設計範圍23列出系統(tǒng)中的實體及其屬性規(guī)劃出設計範圍後,就要先確定實體。實體通常是整理資料中的名詞,例如地點、人物、概念、事件及設備等。若從業(yè)務部門的描述中,可得知實體為:列出系統(tǒng)中的實體及其屬性規(guī)劃出設計範圍後,就要先確定實體。24列出系統(tǒng)中的實體及其屬性訂單:包含(*訂單編號)、客戶名稱、聯(lián)絡人、地址、電話、訂單日期、訂單細目、總金額及備註等屬性。書籍:包含(*書籍編號)、書籍名稱及單價等屬性。客戶:包含(*客戶編號)、客戶名稱、聯(lián)絡人、地址及電話等屬性。出貨單:包含(*出貨單編號)、書籍名稱、地址、電話、客戶名稱及聯(lián)絡人等屬性。列出系統(tǒng)中的實體及其屬性訂單:包含(*訂單編號)、客戶名稱25建立實體之間的關係實體及屬性確定後,接下來就要討論各實體之間的關係。以業(yè)務部門為例,其實體之間的關係:訂單和書籍的關係客戶和訂單的關係出貨單和訂單的關係建立實體之間的關係實體及屬性確定後,接下來就要討論各實體之26建立實體之間的關係–
訂單和書籍的關係訂單是由訂單編號、客戶資料及訂單細目組成。我們必須透過訂單上的訂單細目才能了解客戶訂購了哪些書籍,所以訂單和書籍的關係必須細分為訂單和訂單細目的關係及訂單細目和書籍
(亦即將訂單細目視為一個實體,屬性包括細目編號、書籍編號、書籍名稱、單價及數(shù)量)。以下就3者之間的關係探討:建立實體之間的關係–
訂單和書籍的關係訂單是由訂單編號、客27建立實體之間的關係–
訂單和書籍的關係訂單細目與訂單之間的關係:一個訂單可包含多個訂單細目,一份訂單細目只能屬於一份訂單,是一對多的組成關係。訂單細目與書籍之間的關係:一個訂單細目只可訂購一種書籍,但一種書籍卻能屬於多個訂單細目,所以是為一對多的包含關係。建立實體之間的關係–
訂單和書籍的關係訂單細目與訂單之間的28建立實體之間的關係–
客戶和訂單的關係一個客戶可填寫多份訂單,但一份訂單只能屬於一個客戶,所以訂單與客戶之間的關係是一對多的填寫關係。建立實體之間的關係–
客戶和訂單的關係一個客戶可填寫多份訂29建立實體之間的關係–
出貨單和訂單的關係一份出貨單可由多份訂單組成,但一份訂單只能屬於一張出貨單,否則客戶就會收到好幾份相同的書籍。所以訂單與出貨單之間的關係,也是一對多的產生關係。建立實體之間的關係–
出貨單和訂單的關係一份出貨單可由多份30建立實體之間的關係綜合以上說明,可得到如下的關係:建立實體之間的關係綜合以上說明,可得到如下的關係:31加入屬性加入屬性32將其他流程圖轉變?yōu)閷嶓w–
關係圖將其他流程圖轉變?yōu)閷嶓w–
關係圖33將其他流程圖轉變?yōu)閷嶓w–
關係圖將其他流程圖轉變?yōu)閷嶓w–
關係圖34整合為全區(qū)的概念模型由於各分區(qū)實體-關係模型所面對的問題不同,且通常由不同的設計者設計,如此容易導致各個分區(qū)圖存在許多不一致的地方。因此在整合時,最重要的工作就是要消除各分區(qū)圖的不一致,產生一個能被所有使用者接受的概念模型。整合為全區(qū)的概念模型由於各分區(qū)實體-關係模型所面對的問題35整合實體-關係圖時
可能遭遇的問題–屬性不一致有時各分區(qū)圖,對於相同實體的屬性類型、範圍、單位...會有不同。例如不同部門,對於相同零件的編號方式不同;員工的年齡屬性,有的部門以出生日期表示,有的則直接用數(shù)字來表示;或產品的重量,有的部門以公斤為單位,有的卻以公克為單位。整合實體-關係圖時
可能遭遇的問題–屬性不一致有時各36整合實體-關係圖時
可能遭遇的問題–命名不一致同名不同義:不同的物件,在不同的分區(qū)圖中,具有相同的名稱。同義不同名:相同的物件,在不同的分區(qū)圖中,具有不同的名稱。整合實體-關係圖時
可能遭遇的問題–命名不一致同名不37整合實體-關係圖時
可能遭遇的問題–結構不一致同一物件在不同的分區(qū)圖中的表現(xiàn)的方式不同。例如員工在某個分區(qū)圖中被視為實體,但在另一個分區(qū)圖中卻被視為屬性。
解決之道:必須檢查該物件在實體-關係圖中是否擁有屬性,或和其他實體產生關係。若是,則可將之設定為實體。整合實體-關係圖時
可能遭遇的問題–結構不一致同一物38整合實體-關係圖時
可能遭遇的問題–結構不一致同一個實體在不同的分區(qū)圖中,所包含的屬性不相同。
這類情形相當常見,因為每個分區(qū)圖所重視的物件屬性並不相同,解決的方式是將所有的屬性都納入。整合實體-關係圖時
可能遭遇的問題–結構不一致同一個39整合實體-關係圖時
可能遭遇的問題–結構不一致實體間的關係在不同的分區(qū)圖中不相同。例如甲實體和乙實體在某一個分區(qū)圖中是多對多的關係,但是在另一個分區(qū)圖中卻是一對多的關係;或是甲實體和乙實體在某一分區(qū)概念圖中具有關係,但在其他分區(qū)圖中卻沒有關係。整合實體-關係圖時
可能遭遇的問題–結構不一致實體間40整合實體-關係圖時
可能遭遇的問題–結構不一致例如有的系所規(guī)定學生只能參加一個社團,而有的系所可讓學生參加多個社團。則學生和社團的關係上就產生了一對多及多對多的關係。為了滿足不同的需求,在整合時,就可使用多對多的關係來表示。整合實體-關係圖時
可能遭遇的問題–結構不一致例如有41以『書籍銷售系統(tǒng)』為例,
說明整合全區(qū)的概念設計Step1:整合實體Step2:整合關係Step3:整合屬性Step4:消除不必要的實體、關係及屬性以『書籍銷售系統(tǒng)』為例,
說明整合全區(qū)的概念設計Step42整合實體實體的整合主要是檢討各分區(qū)圖中,實體的名稱及其代表的意義是否有衝突。在書籍銷售系統(tǒng)中,可整合得到以下的實體:整合實體實體的整合主要是檢討各分區(qū)圖中,實體的名稱及其代表43整合關係關係的整合主要是針對不同分區(qū)圖中相同實體之間的關係整合,看看是否有不一致的地方。整合關係關係的整合主要是針對不同分區(qū)圖中相同實體之間的關係整44整合屬性屬性的整合主要是檢討各實體中的屬性名稱及其代表的意義是否有衝突。整合屬性屬性的整合主要是檢討各實體中的屬性名稱及其代表的意義45消除不必要的實體、關係及
屬性從初步整合的實體-關係圖中,可發(fā)現(xiàn)許多實體、關係及屬性可由其他的實體、關係及屬性推導出來。因為這些實體和關係留在資料庫的結構內,可能會破壞資料庫的完整性,增加維護的困難度,因此必須將其刪除。消除不必要的實體、關係及
屬性從初步整合的實體-關係圖中46消除不必要的實體、關係及
屬性以下從書籍銷售圖中列舉幾個例子來說明:出貨單及請款單都是依據(jù)訂單所產生,所以我們可利用訂單來產生出貨單及請款單。因此,便可將這兩個實體刪除,當然它的關係也就跟著刪除了。訂單中的客戶名稱、聯(lián)絡人、地址...等屬性亦可由客戶實體中取得,因此可將它們刪除。消除不必要的實體、關係及
屬性以下從書籍銷售圖中列舉幾個例子47消除不必
要的實體
、關係及
屬性消除不必
要的實體
、關係及
屬性48將實體-關係圖轉換為關聯(lián)式的資料表實體及屬性的轉換弱實體的轉換多值屬性的轉換實體間關係的轉換超類型和子類型的轉換以『書籍銷售系統(tǒng)』為例,說明如何轉換為關聯(lián)式的資料表
將實體-關係圖轉換為關聯(lián)式的資料表實體及屬性的轉換49實體及屬性的轉換實體-關係圖中所有的實體都用資料表來表示;而屬性則轉換成為資料表的欄位,若為鍵屬性,則會成為該資料表的主鍵。如下圖所示:實體及屬性的轉換實體-關係圖中所有的實體都用資料表來表示50複合屬性的轉換若該屬性為複合屬性時,必須將複合屬性中的所有屬性,都轉換為該資料表的欄位。如下圖所示:複合屬性的轉換若該屬性為複合屬性時,必須將複合屬性中的所有51複合屬性的轉換在轉換時,必須將聯(lián)絡人屬性中的姓氏及名字屬性當作是客戶實體的屬性之一。轉換後的資料表如右:複合屬性的轉換在轉換時,必須將聯(lián)絡人屬性中的姓氏及名字屬性52弱實體的轉換如果是弱實體,轉換時,必須將其依賴實體的鍵屬性加入,做為該弱實體的連外鍵,並與該弱實體的識別屬性合起來,成為弱實體的主鍵。如下圖所示:弱實體的轉換如果是弱實體,轉換時,必須將其依賴實體的鍵屬53弱實體的轉換作者弱實體在轉換過程中,必須加入書籍實體的鍵屬性作為連外鍵,並結合作者編號成為作者資料表的主鍵,如下表所示:弱實體的轉換作者弱實體在轉換過程中,必須加入書籍實體的鍵屬54多值屬性的轉換若實體中的屬性為多值屬性,則在轉換時,必須為該屬性另外建立資料表,假設書籍實體中的單價屬性為多值屬性。如下圖所示:多值屬性的轉換若實體中的屬性為多值屬性,則在轉換時,必須55多值屬性的轉換我們必須為單價屬性另外建立一個單價資料表,然後將書籍實體的鍵屬性(書籍編號)加入單價資料表中,成為該實體的連外鍵,並且與單價編號(識別屬性)合起來成為單價資料表的主鍵。多值屬性的轉換我們必須為單價屬性另外建立一個單價資料表,然56實體間關係的轉換『一對一』關係的轉換
將部份參與實體的主鍵放入全部參與的實體中,做為連外鍵。例如公司員工(全部參與,假設所有的員工都會分配到汽車)和汽車(部分參與,並非所有的汽車都分配給員工)之間為一對一的關係:實體間關係的轉換『一對一』關係的轉換
將部份參與實體的主鍵放57實體間關係的轉換首先,將員工及汽車實體分別轉換成資料表,然後再將汽車資料表的主鍵放到員工資料表中,做為連外鍵),如下所示:實體間關係的轉換首先,將員工及汽車實體分別轉換成資料表,58實體間關係的轉換『一對多』關係的轉換
在實體-關係圖中,一對多的關係是將一個父資料表("一"的這一方)中的主鍵放入子資料表("多"的這一方)中,做為子資料表的連外鍵。我們將客戶及訂單的一對多關係轉換後,可產生下列的結果:實體間關係的轉換『一對多』關係的轉換
在實體-關係圖中,一59實體間關係的轉換實體間關係的轉換60實體間關係的轉換『多對多』關係的轉換
當實體間是多對多的關係時,就必須為關係另外建立一個資料表,且該資料表要包含它所關聯(lián)的實體的主鍵。例如員工和專案的關係,可得到如下的結果:實體間關係的轉換『多對多』關係的轉換
當實體間是多對多的關係61實體間關係的轉換實體間關係的轉換62以『書籍銷售系統(tǒng)』為例,說明如何轉換為關聯(lián)式的資料表Step1:將實體轉換為資料表、屬性轉換為欄位以『書籍銷售系統(tǒng)』為例,說明如何轉換為關聯(lián)式的資料表Ste63以『書籍銷售系統(tǒng)』為例,說明如何轉換為關聯(lián)式的資料表Step2:建立資料表之間的關聯(lián):以『書籍銷售系統(tǒng)』為例,說明如何轉換為關聯(lián)式的資料表Ste64第11章建立關聯(lián)式資料庫著作權所有?旗標出版股份有限公司第11章建立關聯(lián)式資料庫著作權所有?旗標出版股份有限65本章提要如何設計一個完善的資料庫從客戶分析到建立實體-關係圖整合為全區(qū)的概念模型將實體-關係圖轉換為關聯(lián)式的資料表本章提要如何設計一個完善的資料庫66如何設計一個完善的資料庫資料庫的設計流程了解客戶需求概念設計階段邏輯設計階段建立資料庫如何設計一個完善的資料庫資料庫的設計流程67如何設計一個完善的資料庫操作介面設計:就Access而言,操作介面設計就是表單的設計,或是以程式語言所撰寫的操作介面。讓使用者不必接觸資料庫的結構,就能操作資料庫,如新增、刪除資料...等等工作。結構設計:結構設計是指設計出適當且最佳化的資料表。一個結構良好的資料庫可提升其整體的存取效率及儲存效率。如何設計一個完善的資料庫操作介面設計:就Access而言68資料庫的設計流程資料庫發(fā)展初期,資料庫規(guī)劃的完善與否,通常依設計者的經(jīng)驗、方法及知識水準不同而有所差別。但最後的成果未必能符合使用者的需求。資料庫的規(guī)劃過程大致可分為4個階段:資料庫的設計流程資料庫發(fā)展初期,資料庫規(guī)劃的完善與否,通69了解客戶需求針對客戶需求,確定設計範圍
在規(guī)劃資料庫之前,當然要先拜訪客戶,了解他們實際的工作流程、各部門執(zhí)掌範圍及資料的處理方式。確定資料庫設計的範圍及應具備的功能。了解客戶需求針對客戶需求,確定設計範圍
在規(guī)劃資料庫之前,70了解客戶需求收集和分析資料
在調查過程中,除了要明確而具體地找出客戶的需求外,還要盡量收集他們平時使用的各類表單、報表、檔案...,這些都是規(guī)劃資料庫的重要依據(jù)。了解客戶需求收集和分析資料
在調查過程中,除了要明確而具體71了解客戶需求了解客戶需求72概念設計階段在此階段,設計者不需考慮資料的儲存及處理等與電腦有關的問題。主要工作是將收集的資料,經(jīng)過分析及整理後,產生一個能符合使用者需求的資料庫模型,並以簡單的形式表現(xiàn)出來(例如實體-關係圖)。主要流程如下:概念設計階段在此階段,設計者不需考慮資料的儲存及處理等與電73概念設計階段概念設計階段74建立分區(qū)概念設計圖概念設計的第一個步驟要分別針對不同需求的使用者,確定使用範圍。例如公司的資料庫系統(tǒng)必須面對業(yè)務部、財務部、產品部...等不同部門的使用者,這些使用者牽涉到資料庫中的資料及處理的方式各不相同,所以應針對不同的需求,設計不同的概念模型。建立分區(qū)概念設計圖概念設計的第一個步驟要分別針對不同需求的使75整合為全區(qū)概念設計圖解決各分區(qū)概念設計之間不一致的情形:由於分區(qū)概念設計所面對的使用者不同,所以對於共同事務的看法及重要性有時會出現(xiàn)差異,而此步驟最主要的工作就是要消糜各分區(qū)模型之間的不一致。刪除概念設計中重複或多餘的物件,以免造成後續(xù)設計時的困擾。整合為全區(qū)概念設計圖解決各分區(qū)概念設計之間不一致的情形:由於76邏輯設計階段邏輯設計階段77邏輯設計階段邏輯設計階段的主要工作,是將概念設計階段產生的結果,轉換為實際使用的資料表。以實體-關係圖來說,此階段的工作可分為轉換為資料表及資料表正規(guī)化等兩項。邏輯設計階段邏輯設計階段的主要工作,是將概念設計階段產生的78邏輯設計階段轉換為資料表
完成概念設計階段後,我們還必須遵循規(guī)則,將實體-關係圖正確無誤地轉換為實際使用的資料表,才能為資料庫所使用。邏輯設計階段轉換為資料表
完成概念設計階段後,我們還必須遵79邏輯設計階段資料表正規(guī)化
為了達到資料庫最佳化的目的,在轉換資料表後,能依照正規(guī)化的步驟重新檢驗一次,最好讓每一個資料表都能符合BCNF(Boyce-CoddNormalForm)的規(guī)範(我們將在下一章中為您介紹資料表的正規(guī)化步驟)。邏輯設計階段資料表正規(guī)化
為了達到資料庫最佳化的目的,在轉80建立資料庫經(jīng)過邏輯設計階段之後,紙上的分析工作即已完成。接著要將結果建到資料庫中(例如Access)。建立資料庫經(jīng)過邏輯設計階段之後,紙上的分析工作即已完成。接81從客戶分析到建立實體–
關係圖Step1:收集資料,確定設計範圍Step2:依照不同的使用者訂出分區(qū)的設計範圍Step3:列出系統(tǒng)中的實體及其屬性Step4:建立實體之間的關係Step5:加入屬性從客戶分析到建立實體–
關係圖Step1:收集資料,82收集資料,確定設計範圍假設某圖書公司要開發(fā)公司的資料庫系統(tǒng),經(jīng)過評估和詳細的調查後,決定要建立倉庫管理、書籍銷售和人事管理等系統(tǒng)(在此我們僅說明書籍銷售系統(tǒng)的建立步驟)。經(jīng)過了設計者調查整理後,規(guī)劃出該系統(tǒng)的主要工作為:收集資料,確定設計範圍假設某圖書公司要開發(fā)公司的資料庫系統(tǒng)83收集資料,確定設計範圍處理客戶訂單,產生出貨單交倉庫出貨。將出貨單中詳列的書籍產品包裝後,運送到客戶手中。依照出貨單上的書籍產品產生請款單,送到客戶手中??蛻粢勒照埧顔紊系慕痤~繳付,公司收到客戶的帳款後,便開立發(fā)票寄送到客戶處。收集資料,確定設計範圍處理客戶訂單,產生出貨單交倉庫出貨84收集資料,確定設計範圍收集資料,確定設計範圍85依照不同的使用者訂出分區(qū)的設計範圍此工作範圍內牽涉到3個不同部門的使用者:分別為業(yè)務部門(負責處理訂單事宜)、發(fā)行部門(負責依照業(yè)務人員開立的出貨單,將書籍送到客戶手上)及財務部門(負責處理開立發(fā)票及催收帳款事宜),所以設計時,必須針對不同需求,分別設計。以下為各部門的工作描述:依照不同的使用者訂出分區(qū)的設計範圍此工作範圍內牽涉到3個86依照不同的使用者訂出分區(qū)的設計範圍依照不同的使用者訂出分區(qū)的設計範圍87列出系統(tǒng)中的實體及其屬性規(guī)劃出設計範圍後,就要先確定實體。實體通常是整理資料中的名詞,例如地點、人物、概念、事件及設備等。若從業(yè)務部門的描述中,可得知實體為:列出系統(tǒng)中的實體及其屬性規(guī)劃出設計範圍後,就要先確定實體。88列出系統(tǒng)中的實體及其屬性訂單:包含(*訂單編號)、客戶名稱、聯(lián)絡人、地址、電話、訂單日期、訂單細目、總金額及備註等屬性。書籍:包含(*書籍編號)、書籍名稱及單價等屬性。客戶:包含(*客戶編號)、客戶名稱、聯(lián)絡人、地址及電話等屬性。出貨單:包含(*出貨單編號)、書籍名稱、地址、電話、客戶名稱及聯(lián)絡人等屬性。列出系統(tǒng)中的實體及其屬性訂單:包含(*訂單編號)、客戶名稱89建立實體之間的關係實體及屬性確定後,接下來就要討論各實體之間的關係。以業(yè)務部門為例,其實體之間的關係:訂單和書籍的關係客戶和訂單的關係出貨單和訂單的關係建立實體之間的關係實體及屬性確定後,接下來就要討論各實體之90建立實體之間的關係–
訂單和書籍的關係訂單是由訂單編號、客戶資料及訂單細目組成。我們必須透過訂單上的訂單細目才能了解客戶訂購了哪些書籍,所以訂單和書籍的關係必須細分為訂單和訂單細目的關係及訂單細目和書籍
(亦即將訂單細目視為一個實體,屬性包括細目編號、書籍編號、書籍名稱、單價及數(shù)量)。以下就3者之間的關係探討:建立實體之間的關係–
訂單和書籍的關係訂單是由訂單編號、客91建立實體之間的關係–
訂單和書籍的關係訂單細目與訂單之間的關係:一個訂單可包含多個訂單細目,一份訂單細目只能屬於一份訂單,是一對多的組成關係。訂單細目與書籍之間的關係:一個訂單細目只可訂購一種書籍,但一種書籍卻能屬於多個訂單細目,所以是為一對多的包含關係。建立實體之間的關係–
訂單和書籍的關係訂單細目與訂單之間的92建立實體之間的關係–
客戶和訂單的關係一個客戶可填寫多份訂單,但一份訂單只能屬於一個客戶,所以訂單與客戶之間的關係是一對多的填寫關係。建立實體之間的關係–
客戶和訂單的關係一個客戶可填寫多份訂93建立實體之間的關係–
出貨單和訂單的關係一份出貨單可由多份訂單組成,但一份訂單只能屬於一張出貨單,否則客戶就會收到好幾份相同的書籍。所以訂單與出貨單之間的關係,也是一對多的產生關係。建立實體之間的關係–
出貨單和訂單的關係一份出貨單可由多份94建立實體之間的關係綜合以上說明,可得到如下的關係:建立實體之間的關係綜合以上說明,可得到如下的關係:95加入屬性加入屬性96將其他流程圖轉變?yōu)閷嶓w–
關係圖將其他流程圖轉變?yōu)閷嶓w–
關係圖97將其他流程圖轉變?yōu)閷嶓w–
關係圖將其他流程圖轉變?yōu)閷嶓w–
關係圖98整合為全區(qū)的概念模型由於各分區(qū)實體-關係模型所面對的問題不同,且通常由不同的設計者設計,如此容易導致各個分區(qū)圖存在許多不一致的地方。因此在整合時,最重要的工作就是要消除各分區(qū)圖的不一致,產生一個能被所有使用者接受的概念模型。整合為全區(qū)的概念模型由於各分區(qū)實體-關係模型所面對的問題99整合實體-關係圖時
可能遭遇的問題–屬性不一致有時各分區(qū)圖,對於相同實體的屬性類型、範圍、單位...會有不同。例如不同部門,對於相同零件的編號方式不同;員工的年齡屬性,有的部門以出生日期表示,有的則直接用數(shù)字來表示;或產品的重量,有的部門以公斤為單位,有的卻以公克為單位。整合實體-關係圖時
可能遭遇的問題–屬性不一致有時各100整合實體-關係圖時
可能遭遇的問題–命名不一致同名不同義:不同的物件,在不同的分區(qū)圖中,具有相同的名稱。同義不同名:相同的物件,在不同的分區(qū)圖中,具有不同的名稱。整合實體-關係圖時
可能遭遇的問題–命名不一致同名不101整合實體-關係圖時
可能遭遇的問題–結構不一致同一物件在不同的分區(qū)圖中的表現(xiàn)的方式不同。例如員工在某個分區(qū)圖中被視為實體,但在另一個分區(qū)圖中卻被視為屬性。
解決之道:必須檢查該物件在實體-關係圖中是否擁有屬性,或和其他實體產生關係。若是,則可將之設定為實體。整合實體-關係圖時
可能遭遇的問題–結構不一致同一物102整合實體-關係圖時
可能遭遇的問題–結構不一致同一個實體在不同的分區(qū)圖中,所包含的屬性不相同。
這類情形相當常見,因為每個分區(qū)圖所重視的物件屬性並不相同,解決的方式是將所有的屬性都納入。整合實體-關係圖時
可能遭遇的問題–結構不一致同一個103整合實體-關係圖時
可能遭遇的問題–結構不一致實體間的關係在不同的分區(qū)圖中不相同。例如甲實體和乙實體在某一個分區(qū)圖中是多對多的關係,但是在另一個分區(qū)圖中卻是一對多的關係;或是甲實體和乙實體在某一分區(qū)概念圖中具有關係,但在其他分區(qū)圖中卻沒有關係。整合實體-關係圖時
可能遭遇的問題–結構不一致實體間104整合實體-關係圖時
可能遭遇的問題–結構不一致例如有的系所規(guī)定學生只能參加一個社團,而有的系所可讓學生參加多個社團。則學生和社團的關係上就產生了一對多及多對多的關係。為了滿足不同的需求,在整合時,就可使用多對多的關係來表示。整合實體-關係圖時
可能遭遇的問題–結構不一致例如有105以『書籍銷售系統(tǒng)』為例,
說明整合全區(qū)的概念設計Step1:整合實體Step2:整合關係Step3:整合屬性Step4:消除不必要的實體、關係及屬性以『書籍銷售系統(tǒng)』為例,
說明整合全區(qū)的概念設計Step106整合實體實體的整合主要是檢討各分區(qū)圖中,實體的名稱及其代表的意義是否有衝突。在書籍銷售系統(tǒng)中,可整合得到以下的實體:整合實體實體的整合主要是檢討各分區(qū)圖中,實體的名稱及其代表107整合關係關係的整合主要是針對不同分區(qū)圖中相同實體之間的關係整合,看看是否有不一致的地方。整合關係關係的整合主要是針對不同分區(qū)圖中相同實體之間的關係整108整合屬性屬性的整合主要是檢討各實體中的屬性名稱及其代表的意義是否有衝突。整合屬性屬性的整合主要是檢討各實體中的屬性名稱及其代表的意義109消除不必要的實體、關係及
屬性從初步整合的實體-關係圖中,可發(fā)現(xiàn)許多實體、關係及屬性可由其他的實體、關係及屬性推導出來。因為這些實體和關係留在資料庫的結構內,可能會破壞資料庫的完整性,增加維護的困難度,因此必須將其刪除。消除不必要的實體、關係及
屬性從初步整合的實體-關係圖中110消除不必要的實體、關係及
屬性以下從書籍銷售圖中列舉幾個例子來說明:出貨單及請款單都是依據(jù)訂單所產生,所以我們可利用訂單來產生出貨單及請款單。因此,便可將這兩個實體刪除,當然它的關係也就跟著刪除了。訂單中的客戶名稱、聯(lián)絡人、地址...等屬性亦可由客戶實體中取得,因此可將它們刪除。消除不必要的實體、關係及
屬性以下從書籍銷售圖中列舉幾個例子111消除不必
要的實體
、關係及
屬性消除不必
要的實體
、關係及
屬性112將實體-關係圖轉換為關聯(lián)式的資料表實體及屬性的轉換弱實體的轉換多值屬性的轉換實體間關係的轉換超類型和子類型的轉換以『書籍銷售系統(tǒng)』為例,說明如何轉換為關聯(lián)式的資料表
將實體-關係圖轉換為關聯(lián)式的資料表實體及屬性的轉換113實體及屬性的轉換實體-關係圖中所有的實體都用資料表來表示;而屬性則轉換成為資料表的欄位,若為鍵屬性,則會成為該資料表的主鍵。如下圖所示:實體及屬性的轉換實體-關係圖中所有的實體都用資料表來表示114複合屬性的轉換若該屬性為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防水漆項目評估報告
- 2025年中國縮合葡萄糖市場競爭格局及投資戰(zhàn)略規(guī)劃報告
- 中國西班牙傳統(tǒng)木扇項目投資可行性研究報告
- 2025年麥芽糖項目可行性研究報告
- 2024河南飲料及茶葉零售市場前景及投資研究報告
- 2024年數(shù)字繪畫市場深度分析及投資戰(zhàn)略咨詢報告
- 橡膠手套項目可行性研究報告
- 2025年保溫隔熱板粘結劑行業(yè)深度研究分析報告
- 應急資源調查報告3全
- 2025年實木柜門項目可行性研究報告
- 智慧教育 云平臺建設方案
- 精雕JDPaint快捷鍵大全
- 燈泡貫流式機組基本知識培訓ppt課件
- 小學數(shù)學四年級下冊培優(yōu)補差記錄
- 人教版三年級下冊體育與健康教案(全冊教學設計)
- DB61∕T 5006-2021 人民防空工程標識標準
- 土壤學習題與答案
- 產品結構設計(課堂PPT)
- 第九課_靜止的生命
- 尖尖的東西我不碰(課堂PPT)
- 工程勘察和設計承攬業(yè)務的范圍
評論
0/150
提交評論