Power Designer雜記[ 作者: | 來源:CSDN 文檔| 點擊數(shù):
3400]
-- PowerDesigner雜記 數(shù)據(jù)庫設(shè)計工具對比 PowerDesign:PowerDesign是Sybase推出的主打數(shù)據(jù)庫設(shè)計工具。PowerDesign致力于采用基于Entiry-Relation的數(shù)據(jù)模型,分別從概念數(shù)據(jù)模型(Conceptual Data Model)和物理數(shù)據(jù)模型(Physical Data Model)兩個層次對數(shù)據(jù)庫進行設(shè)計。概念數(shù)據(jù)模型描述的是獨立于數(shù)據(jù)庫管理系統(tǒng)(DBMS)的實體定義和實體關(guān)系定義。物理數(shù)據(jù)模型是在概念數(shù)據(jù)模型的基礎(chǔ)上針對目標(biāo)數(shù)據(jù)庫管理系統(tǒng)的具體化。 ERWin:這個是CA公司的拳頭產(chǎn)品,它有一個兄弟是BPWin,這個是CASE工具的一個里程碑似的產(chǎn)品。ERWin界面相當(dāng)簡潔漂亮,也是采用ER模型,如果你是開發(fā)中小型數(shù)據(jù)庫,極力推薦ERWin,它的Diagram給人的感覺十分清晰。在一個實體中,不同的屬性類型采用可定制的圖標(biāo)顯示,實體與實體的關(guān)系也一目了然。ERWin不適合非常大的數(shù)據(jù)庫的設(shè)計,因為它對Diagram欠缺更多層次的組織。 如何一次性將表結(jié)構(gòu)的腳本導(dǎo)出來? Name用中文英文以便查詢、寫程序的時候方便, Code才是最終產(chǎn)生的Table Name PowerDesigner中建了模型,如何把它作為文檔導(dǎo)出? 如何將已經(jīng)存在的數(shù)據(jù)庫所有表,導(dǎo)入到PowerDesign中? 概念數(shù)據(jù)模型(CDM) 物理數(shù)據(jù)模型 (PDM) 面向?qū)ο竽P?(OOM) 業(yè)務(wù)程序模型(BPM) 正向工程 逆向工程 并不是每個設(shè)計都需要用到Power Designer。 例如:小的系統(tǒng),或Table數(shù)比較少的情況下就沒有必要采用Power Designer了。 設(shè)計步驟
CDM PDM OOM三者轉(zhuǎn)換關(guān)系
2004-08-22更新 PowerDesigner僅僅是實現(xiàn)的工具 PowerDesigner用途不局限于數(shù)據(jù)建模 并不是每個設(shè)計都需要用到PD 零碎 PD中的CDM設(shè)計時,可以將所有需要的字段都定義好。然后在設(shè)計實體是直接取出來。PD提供了這樣的統(tǒng)一管理的工具。在PD菜單欄-Model-Data Item下。 為了使自己設(shè)計的CDM看起來象樣一點,可以從工具欄中,拖動一個Title。其顯示的信息,是當(dāng)前CDM的屬性值。 為了使實體等Symbol看起來顯眼和舒服??梢愿鶕?jù)個人喜好進行外觀上的調(diào)整。當(dāng)前設(shè)計界面中,右鍵-Display Perferences中進行設(shè)置。還可以增加shadow效果。選中Symbol后,Ctrl+W?;蛘哂益I菜單。 為了使布局整齊。選中需要調(diào)整的Symbol后,菜單-Symbol-Align進行設(shè)置。快捷鍵:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即為上下左右對齊。 設(shè)計實體屬性時注意的細(xì)節(jié):M:表示強制非空;P:是否為主鍵;D:是否在模型中顯示。gerenate:表示是否作為表生成。 默認(rèn)情況下,CDM的實體會顯示Identifier一欄。如果不想其顯示出來,在右鍵-Display Perferences中ObjectView-Entity中設(shè)置。 關(guān)系的命名方法是:實體名1 實體名2。 關(guān)系中的角色(Role)表示聯(lián)系線上一個方向上的含義。用一個動詞來描述。Role只是起一個描述作用。 依賴(Dependency):表示在聯(lián)系中一個實體的存在是否依賴于另一個實體。寄生實體(Dependent Entity)是一種部分地被另一實體確定的實體。在依賴聯(lián)系中,一個實體與另一實體通過標(biāo)識符相聯(lián)系,當(dāng)一個實體的存在沒有另一個實體的存在作為參考就不能唯一確定時,兩個實體間就存在依賴聯(lián)系。 中間實體(Associative Entity):是為了解決多對多聯(lián)系而產(chǎn)生的一個人工實體,能夠為中間實體定義屬性。用鼠標(biāo)右鍵單擊多對多聯(lián)系線,在彈出的菜單中選擇“Change to entity”,能夠把這個聯(lián)系轉(zhuǎn)換成連接兩個實體的中間實體。 牢記:外鍵是通過關(guān)系Relationship自動來建立的,不需要手動建立。不然會產(chǎn)生多余的鍵。所以設(shè)計時,關(guān)注實體本身的字段,以及實體間的關(guān)系,特別是多對多和依賴關(guān)系。 從CDM到PDM的轉(zhuǎn)換需要注意: 不能改變Diagram的名稱 在樹狀圖中,如果鉤選紅色標(biāo)出的Symbol表示覆蓋修改,不鉤選表示保護修改。 數(shù)據(jù)庫為了保證數(shù)據(jù)完整性和一致性,提出了約束。即表約束,列約束以及參照完整性約束。通常數(shù)據(jù)庫設(shè)計和程序開發(fā)不是絕對的分離的。所以前兩者在實際開發(fā)過程中逐漸的完善。需要注意的還是參照完整性約束。 參照完整性約束 限制(Restrict)。不允許進行修改或刪除操作。若修改或刪除主表的主鍵時,如果子表中存在子記錄,系統(tǒng)將產(chǎn)生一個錯誤提示。這是缺省的參照完整性設(shè)置。 置空(Set Null)。如果外鍵列允許為空,若修改或刪除主表的主鍵時,把子表中參照的外鍵列設(shè)置為空值(NULL)。 置為缺省(Set Default)。如果指定了缺省值,若修改或刪除主表的主鍵時,把子表中參照的外鍵設(shè)置為缺省值(Default)。 級聯(lián)(Cascade)。把主表中主鍵修改為一個新的值時,相應(yīng)修改子表中外鍵的值;或者刪除主表中主鍵的記錄時,要相應(yīng)刪除子表中外鍵的記錄。 注意理解以上的約束時,抓住操作的都是主表。子表的操作都是相對主表來說的。操作方式就是Update和Delete。 引用基礎(chǔ)數(shù)據(jù)表的數(shù)據(jù)時,可以建立對應(yīng)的視圖。選中需要作為視圖的表,菜單欄-Tools-Create View PD支持對已有數(shù)據(jù)的表更新表結(jié)構(gòu)。不過需要謹(jǐn)慎操作,檢查生成的SQL腳本。 PD也可以生成隨機的測試數(shù)據(jù)。 觸發(fā)器就是DBMS中提供的事件驅(qū)動機制。發(fā)生在表的Insert,Update和Delete。執(zhí)行SQL語句或存儲過程。 在PD中可以完成存儲過程的編寫,也便于管理。 逆向工程可以通過數(shù)據(jù)庫腳本或者通過ODBC數(shù)據(jù)源來實現(xiàn)。 |
|