




已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
用實體關系圖 進行數(shù)據(jù)庫建模,補充內容,用圖管理數(shù)據(jù)模型,用圖(Diagram)管理數(shù)據(jù)模型高效方便 對于RDBMS,描述數(shù)據(jù)模型的圖通常稱為實體關系圖(Entity Relationship Diagram,ERD)。用ERD描述數(shù)據(jù)模型能夠幫助你預先精確定義數(shù)據(jù)需求。 介紹ERD建模工具 PowerDesigner和Visio 2000 Professional 在不同的工具之間,圖的符號有著重大的差別,但它們的基本概念一樣。,轉向數(shù)據(jù)建模工具的主要挑戰(zhàn),學習使用建模符號。 在不丟失任何關鍵信息的前提下,用數(shù)據(jù)建模工具描述現(xiàn)有數(shù)據(jù)模型。 尋找一個對你的數(shù)據(jù)庫提供全面支持的工具,例如在生成SQL、從現(xiàn)有數(shù)據(jù)模式通過反向工程建立數(shù)據(jù)模型時。 一些入門級數(shù)據(jù)建模工具只有少量的高級特性,很容易學習使用,但當你積累了更多的經驗時,它們可能不再滿足你日益增長的需要。 升級工具或更換工具一般不存在大的問題,特別是當新的工具能夠對現(xiàn)有數(shù)據(jù)模式進行精確、完整的反向工程時,升級或更換工具的過程尤其簡單。,PowerDesigner的界面,Visio的界面,ERD建模符號,PowerDesigner使用Martin的Information Engineering符號。Oracle的Designer產品所使用的符號也和它很相似。 基本的ERD繪圖規(guī)范很直觀易懂。你可以定義實體(表),描述各個實體之間的關系。 在填寫表和關系的細節(jié)信息時,每一種工具的做法都有所不同;基本概念在大多數(shù)軟件包之間是相通的。 了解主要圖形元素和設置方法。,表,所有構造合理的數(shù)據(jù)建模工具都允許為表指定豐富的關聯(lián)信息。 這些信息包括(但不局限于): 表的描述、注解,以及實體(表)的標題。 列,列的類型、長度、默認值和強制條件。 主鍵,索引,唯一性約束。,PowerDesigner中表的屬性窗口,Visio中表的屬性窗口,表的實例,一旦輸入了新表的屬性信息,圖將被更新,顯示出你所提供的新的或更改后的表信息。 在實例圖中,許多列被定義成了(m)andatory(強制的)、(p)rimary(主鍵)和(d)isplayed(被顯示的)列。 非標準的數(shù)據(jù)類型(如PHONENUMBER和PK) 許多數(shù)據(jù)建模工具允許定義域或定制數(shù)據(jù)類型,它們可供一個以上的列使用。域不僅代表著數(shù)據(jù)類型,還包含檢查約束、默認值、值列表等信息。,PowerDesigner,Visio,關系,對于給定的關系,必須收集的重要信息: 父表和子表。 兩個表之間的強制關系。例如,父表可能有一個子表,但子表必須有一個父表。 關系基數(shù)(Cardinality)。即,一個父表可以有零個或者多個子表,但一個子表有且只能有一個父表。 關于關系的注釋、意見和角色說明。 大多數(shù)建模工具通過在兩個或者更多表之間畫出連線的方式定義關系。 默認情況下,關系往往被定義成為一對多關系,而且它對于關系中的任何一方都是可選的。,PowerDesigner的關系屬性 設置界面,Visio的關系屬性設置界面,PowerDesigner中兩個表之間的關系,一個典型的父-子關聯(lián)關系。 部門(Branch)和雇員(Emplyee)的關系是強制的。 一個部門必須至少有一個雇員(1-N強制關系); 一個雇員必須屬于且只能屬于一個部門(1-1強制關系)。 強制的關系由一條實心垂直線(而不是橢圓)表示。某些工具用虛線表示可選的關系。關系中屬于“多”的這一邊用一個類似鳥爪的圖形表示,關系的基數(shù)在靠近它所描述的那一端顯示。,Visio中兩個表之間的關系,你可能已經注意到,Employee表沒有定義外鍵列。這個圖仍舊處于“概念設計”階段此后,從概念圖到物理數(shù)據(jù)模型之間的轉換是必不可少的。 大多數(shù)工具區(qū)分概念和物理數(shù)據(jù)模型概念數(shù)據(jù)模型描述信息的需求,但不關注細節(jié)問題,例如索引和強制性的引用完整性。,定義自我引用的表,自我引用的表一般用來描述層次型關系, 大多數(shù)數(shù)據(jù)建模工具能夠處理這類關系。 在此例中,雇員可以有零個或者一個上級它使你能夠處理一些特殊的情況,比如總統(tǒng)沒有直接的上級。,圖6b:Visio中自我引用的表,PowerDesigner,Visio,圖的規(guī)劃,一些工具提供自動布局能力,還沒有一個完善的實現(xiàn)。 應遵從“孔雀東南飛”這一規(guī)則 “孔雀”是關系中代表“多”這一方的符號,它是連接到表的三條分叉線,象個鳥爪。 即子表應該位于父表的右方和下方。這種安排使得從邏輯上組織和理解數(shù)據(jù)模型更加方便。 最重要、最高級別的表應該出現(xiàn)在左上角,讓級別較低的表出現(xiàn)在頁面的右下角。 為了清楚起見,減少圖中交叉線的數(shù)量也是很重要的。 “一個好的設計往往看起來很舒服”。,完整的ER圖(PowerDesigner),完整的ER圖(Visio),從圖到數(shù)據(jù)庫,依賴于用來建立數(shù)據(jù)模型的軟件包,建模工具可能會根據(jù)模型生成SQL命令或直接修改數(shù)據(jù)庫模式。和使用ASCII格式的SQL腳本相比,這種方式有著許多優(yōu)點。 一些建模工具的功能適合于大量的數(shù)據(jù)庫類型,如PostgreSQL、MySQL、Oracle、DB2等。 對于簡單的數(shù)據(jù)庫修改,改動操作可以從建模工具通過ODBC直接完成。數(shù)據(jù)庫改動還允許以增量方式進行(例如,ALTER命令或創(chuàng)建命令,以及對特定表的更新命令)。 當你第一次使用建模工具時,你可以查看建模工具生成的SQL,看看自己是否可以信任和認可建模工具對數(shù)據(jù)模型的解釋。一段時間之后,你就會熟悉建模工具對各種關系和表細節(jié)的解釋。,結束語,數(shù)據(jù)建模是一種很好的軟件工程實踐。它能夠幫助你在正式編寫程序代碼之前規(guī)劃數(shù)據(jù)需求。 在維護和改進系統(tǒng)的數(shù)據(jù)布局的過程中,數(shù)據(jù)建模同樣很有用。 一些工具
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省臨沂市羅莊區(qū)2025屆八下數(shù)學期末考試模擬試題含解析
- 法學概論的基本理論試題及答案
- 2025年中國鍋把縮蠟模具市場調查研究報告
- 2025年中國鋁沙灘床市場調查研究報告
- 2025年中國銅浴巾架市場調查研究報告
- 編程語言的特點與應用場景試題及答案
- 法學概論知識考核的試題及答案
- 網(wǎng)絡管理員考前準備清單試題及答案
- 山東省濟南市高新區(qū)2025年七下數(shù)學期末復習檢測模擬試題含解析
- 山西pcr上崗證考試試題及答案
- Java高級軟件開發(fā)面試題及答案
- 3.4 羧酸的衍生物 課件高二下學期化學人教版(2019)選擇性必修3
- 2025年消防安全培訓考試試卷及完整答案
- 2024年河北省井陘縣事業(yè)單位公開招聘警務崗筆試題帶答案
- 2025年信息科技與創(chuàng)新能力考核試題及答案
- 2025年智慧城市建設相關知識考試試卷及答案
- 2025年4月自考00522英語國家概況答案及評分參考
- 2025年江西南昌初三一模中考語文試卷試題(含答案詳解)
- 2025年吉林省長春市中考一模歷史試題(原卷版+解析版)
- 2025人教版三年級下冊數(shù)學第七單元達標測試卷(含答案)
- 2024年安徽演藝集團有限責任公司招聘筆試真題
評論
0/150
提交評論