日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[转]PowerDesigner使用

發(fā)布時(shí)間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]PowerDesigner使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[轉(zhuǎn)]PowerDesigner使用(一) 2009-06-12 00:14

?

來(lái)源:http://sundful.javaeye.com/blog/145624

PowerDesigner使用(1)

關(guān)鍵字: PowerDesigner uml 數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)建模

1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下檢查設(shè)計(jì)模型

1 如何在PowerDesigner下建索引
1 雙擊表設(shè)計(jì)圖,出來(lái)Table Properties,在Tab 頁(yè)中選擇 Indexes

2 單擊新建索引的屬性,出現(xiàn)Indexex Properties

3 增加一個(gè)索引包含的字段

2 如何在PowerDesigner 下建自增列
2 使用SqlServer 數(shù)據(jù)庫(kù)中的下列語(yǔ)句來(lái)完成
建表語(yǔ)句中,在要做為自增列的字段中,加上如下
IDENTITY(1,1)
還有可以使用下面語(yǔ)句,重置自增種子
dbcc checkident(ConfigSys,reseed,0);
3 如何在PowerDesigner 下檢查設(shè)計(jì)模型
1 在菜單欄中選擇 Tools -? Check Model, 如下圖

2 選擇要檢查的每項(xiàng)設(shè)置

3 確定后,將出來(lái)檢查結(jié)果匯總信息

PowerDesigner使用(2)

關(guān)鍵字: powerdesigner uml 數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)建模

數(shù)據(jù)庫(kù)設(shè)計(jì)工具對(duì)比

??? PowerDesign:PowerDesign是Sybase推出的主打數(shù)據(jù)庫(kù)設(shè)計(jì)工具。PowerDesign致力于采用基于Entiry-Relation的數(shù)據(jù)模型,分別從概念數(shù)據(jù)模型(Conceptual Data Model)和物理數(shù)據(jù)模型(Physical Data Model)兩個(gè)層次對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。概念數(shù)據(jù)模型描述的是獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的實(shí)體定義和實(shí)體關(guān)系定義。物理數(shù)據(jù)模型是在概念數(shù)據(jù)模型的基礎(chǔ)上針對(duì)目標(biāo)數(shù)據(jù)庫(kù)管理系統(tǒng)的具體化。

??? ERWin:這個(gè)是CA公司的拳頭產(chǎn)品,它有一個(gè)兄弟是BPWin,這個(gè)是CASE工具的一個(gè)里程碑似的產(chǎn)品。ERWin界面相當(dāng)簡(jiǎn)潔漂亮,也是采用ER模型,如果你是開(kāi)發(fā)中小型數(shù)據(jù)庫(kù),極力推薦ERWin,它的Diagram給人的感覺(jué)十分清晰。在一個(gè)實(shí)體中,不同的屬性類(lèi)型采用可定制的圖標(biāo)顯示,實(shí)體與實(shí)體的關(guān)系也一目了然。ERWin不適合非常大的數(shù)據(jù)庫(kù)的設(shè)計(jì),因?yàn)樗鼘?duì)Diagram欠缺更多層次的組織。

如何一次性將表結(jié)構(gòu)的腳本導(dǎo)出來(lái)?
??? Database --->Generate Database ---> Genarate Script 就可實(shí)現(xiàn)。

Name用中文英文以便查詢(xún)、寫(xiě)程序的時(shí)候方便, Code才是最終產(chǎn)生的Table Name

PowerDesigner中建了模型,如何把它作為文檔導(dǎo)出?
??? 利用REPORT。選擇一個(gè)模板,然后就生成了RTF或是HTM格式的文檔

如何將已經(jīng)存在的數(shù)據(jù)庫(kù)所有表,導(dǎo)入到PowerDesign中?
??? 用PD里的反向工程file--->reverse engineering ===> and go on

概念數(shù)據(jù)模型(CDM)
??? CDM表現(xiàn)數(shù)據(jù)庫(kù)的全部邏輯的結(jié)構(gòu),與任何的軟件或數(shù)據(jù)儲(chǔ)藏結(jié)構(gòu)無(wú)關(guān)。一個(gè)概念模型經(jīng)常包括在物理數(shù)據(jù)庫(kù)中仍然不實(shí)現(xiàn)的數(shù)據(jù)對(duì)象。它給運(yùn)行計(jì)劃或業(yè)務(wù)活動(dòng)的數(shù)據(jù)一個(gè)正式表現(xiàn)方式。不考慮物理實(shí)現(xiàn)細(xì)節(jié),只考慮實(shí)體之間的關(guān)系。

物理數(shù)據(jù)模型 (PDM)
??? PDM敘述數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn)。主要目的是把CDM中建立的現(xiàn)實(shí)世界模型生成特定的DBMS腳本,產(chǎn)生數(shù)據(jù)庫(kù)中保存信息的儲(chǔ)存結(jié)構(gòu),保證數(shù)據(jù)在數(shù)據(jù)庫(kù)中的完整性和一致性。

面向?qū)ο竽P?(OOM)
??? 一個(gè)OOM包含一系列包,類(lèi),接口和他們的關(guān)系。這些對(duì)象一起形成所有的(或部份)一個(gè)軟件系統(tǒng)的邏輯的設(shè)計(jì)視圖的類(lèi)結(jié)構(gòu)。一個(gè)OOM本質(zhì)上是軟件系統(tǒng)的一個(gè)靜態(tài)的概念模型。

業(yè)務(wù)程序模型(BPM)
??? BPM描述業(yè)務(wù)的各種不同內(nèi)在任務(wù)和內(nèi)在流程,而且客戶(hù)如何以這些任務(wù)和流程互相影響。BPM是從業(yè)務(wù)合伙人的觀點(diǎn)來(lái)看業(yè)務(wù)邏輯和規(guī)則的概念模型,使用一個(gè)圖表描述程序,流程,信息和合作協(xié)議之間的交互作用。

正向工程
??? 你能直接地從PDM產(chǎn)生一個(gè)數(shù)據(jù)庫(kù), 或產(chǎn)生一個(gè)能在你的數(shù)據(jù)庫(kù)管理系統(tǒng)環(huán)境中運(yùn)行的數(shù)據(jù)庫(kù)腳本??梢陨蓴?shù)據(jù)庫(kù)腳本,如果選擇ODBC方式,則可以直接連接到數(shù)據(jù)庫(kù),從而直接產(chǎn)生數(shù)據(jù)庫(kù)表以及其他數(shù)據(jù)庫(kù)對(duì)象。

逆向工程
??? 將已存在的數(shù)據(jù)庫(kù)產(chǎn)生進(jìn)新的PDM 之內(nèi)。數(shù)據(jù)來(lái)源可能是從腳本文件或一個(gè)開(kāi)放數(shù)據(jù)庫(kù)連接數(shù)據(jù)來(lái)源。

??? 并不是每個(gè)設(shè)計(jì)都需要用到Power Designer。 例如:小的系統(tǒng),或Table數(shù)比較少的情況下就沒(méi)有必要采用Power Designer了。

設(shè)計(jì)步驟


CDM PDM OOM三者轉(zhuǎn)換關(guān)系


PowerDesigner僅僅是實(shí)現(xiàn)的工具
??? 不要以為Power能幫你把關(guān)系什么的全部建立好,很多數(shù)據(jù)庫(kù)理論只是還是需要的,設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候,那些范式什么的,一定要掌握。
??? 設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù),最好的工具不是必須的,但是基礎(chǔ)理論是一定要的。

PowerDesigner用途不局限于數(shù)據(jù)建模
??? 還可以用PowerDweigner設(shè)計(jì)web service

并不是每個(gè)設(shè)計(jì)都需要用到PD
??? 用Powerdesigner對(duì)付比較大型的項(xiàng)目,是很好的,對(duì)于短平快類(lèi)型的項(xiàng)目,如果時(shí)間要求你1個(gè)星期完成一個(gè)程序,那么完全沒(méi)有必要用PowerDesigner,直接維護(hù)數(shù)據(jù)庫(kù)就可以了,當(dāng)表的數(shù)量超過(guò)10個(gè)(一個(gè)小系統(tǒng)的表在10個(gè)左右)的時(shí)候,建議還是用用Powerdesigner 。
??? 我的看法:如果想做成一個(gè)比較規(guī)范的數(shù)據(jù)庫(kù),小項(xiàng)目也可以用。畢竟生成報(bào)表和正反向工程很有用。

零碎

??? PD中的CDM設(shè)計(jì)時(shí),可以將所有需要的字段都定義好。然后在設(shè)計(jì)實(shí)體是直接取出來(lái)。PD提供了這樣的統(tǒng)一管理的工具。在PD菜單欄-Model-Data Item下。

??? 為了使自己設(shè)計(jì)的CDM看起來(lái)象樣一點(diǎn),可以從工具欄中,拖動(dòng)一個(gè)Title。其顯示的信息,是當(dāng)前CDM的屬性值。

??? 為了使實(shí)體等Symbol看起來(lái)顯眼和舒服??梢愿鶕?jù)個(gè)人喜好進(jìn)行外觀上的調(diào)整。當(dāng)前設(shè)計(jì)界面中,右鍵-Display Perferences中進(jìn)行設(shè)置。還可以增加shadow效果。選中Symbol后,Ctrl+W。或者右鍵菜單。

??? 為了使布局整齊。選中需要調(diào)整的Symbol后,菜單-Symbol-Align進(jìn)行設(shè)置??旖萱I:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即為上下左右對(duì)齊。

??? 設(shè)計(jì)實(shí)體屬性時(shí)注意的細(xì)節(jié):M:表示強(qiáng)制非空;P:是否為主鍵;D:是否在模型中顯示。gerenate:表示是否作為表生成。

??? 默認(rèn)情況下,CDM的實(shí)體會(huì)顯示Identifier一欄。如果不想其顯示出來(lái),在右鍵-Display Perferences中ObjectView-Entity中設(shè)置。

??? 關(guān)系的命名方法是:實(shí)體名1 實(shí)體名2。

??? 關(guān)系中的角色(Role)表示聯(lián)系線(xiàn)上一個(gè)方向上的含義。用一個(gè)動(dòng)詞來(lái)描述。Role只是起一個(gè)描述作用。

??? 依賴(lài)(Dependency):表示在聯(lián)系中一個(gè)實(shí)體的存在是否依賴(lài)于另一個(gè)實(shí)體。寄生實(shí)體(Dependent Entity)是一種部分地被另一實(shí)體確定的實(shí)體。在依賴(lài)聯(lián)系中,一個(gè)實(shí)體與另一實(shí)體通過(guò)標(biāo)識(shí)符相聯(lián)系,當(dāng)一個(gè)實(shí)體的存在沒(méi)有另一個(gè)實(shí)體的存在作為參考就不能唯一確定時(shí),兩個(gè)實(shí)體間就存在依賴(lài)聯(lián)系。
??? 主從表就是典型的依賴(lài)關(guān)系。

??? 中間實(shí)體(Associative Entity):是為了解決多對(duì)多聯(lián)系而產(chǎn)生的一個(gè)人工實(shí)體,能夠?yàn)橹虚g實(shí)體定義屬性。用鼠標(biāo)右鍵單擊多對(duì)多聯(lián)系線(xiàn),在彈出的菜單中選擇“Change to entity”,能夠把這個(gè)聯(lián)系轉(zhuǎn)換成連接兩個(gè)實(shí)體的中間實(shí)體。
??? 善于利用自動(dòng)生成的中間實(shí)體,可以簡(jiǎn)化設(shè)計(jì)工作,提高數(shù)據(jù)庫(kù)設(shè)計(jì)的正確性。
??? 中間實(shí)體一般不用再加入新的字段。

??? 牢記:外鍵是通過(guò)關(guān)系Relationship自動(dòng)來(lái)建立的,不需要手動(dòng)建立。不然會(huì)產(chǎn)生多余的鍵。所以設(shè)計(jì)時(shí),關(guān)注實(shí)體本身的字段,以及實(shí)體間的關(guān)系,特別是多對(duì)多和依賴(lài)關(guān)系。

??? 從CDM到PDM的轉(zhuǎn)換需要注意:


不能改變Diagram的名稱(chēng)
在樹(shù)狀圖中,如果鉤選紅色標(biāo)出的Symbol表示覆蓋修改,不鉤選表示保護(hù)修改。

??? 數(shù)據(jù)庫(kù)為了保證數(shù)據(jù)完整性和一致性,提出了約束。即表約束,列約束以及參照完整性約束。通常數(shù)據(jù)庫(kù)設(shè)計(jì)和程序開(kāi)發(fā)不是絕對(duì)的分離的。所以前兩者在實(shí)際開(kāi)發(fā)過(guò)程中逐漸的完善。需要注意的還是參照完整性約束。
??? 在PD中前兩者的設(shè)定是對(duì)字段,后者是對(duì)關(guān)系。

??? 參照完整性約束


限制(Restrict)。不允許進(jìn)行修改或刪除操作。若修改或刪除主表的主鍵時(shí),如果子表中存在子記錄,系統(tǒng)將產(chǎn)生一個(gè)錯(cuò)誤提示。這是缺省的參照完整性設(shè)置。
置空(Set Null)。如果外鍵列允許為空,若修改或刪除主表的主鍵時(shí),把子表中參照的外鍵列設(shè)置為空值(NULL)。
置為缺省(Set Default)。如果指定了缺省值,若修改或刪除主表的主鍵時(shí),把子表中參照的外鍵設(shè)置為缺省值(Default)。
級(jí)聯(lián)(Cascade)。把主表中主鍵修改為一個(gè)新的值時(shí),相應(yīng)修改子表中外鍵的值;或者刪除主表中主鍵的記錄時(shí),要相應(yīng)刪除子表中外鍵的記錄。

??? 注意理解以上的約束時(shí),抓住操作的都是主表。子表的操作都是相對(duì)主表來(lái)說(shuō)的。操作方式就是Update和Delete。

??? 引用基礎(chǔ)數(shù)據(jù)表的數(shù)據(jù)時(shí),可以建立對(duì)應(yīng)的視圖。選中需要作為視圖的表,菜單欄-Tools-Create View

??? PD支持對(duì)已有數(shù)據(jù)的表更新表結(jié)構(gòu)。不過(guò)需要謹(jǐn)慎操作,檢查生成的SQL腳本。

??? PD也可以生成隨機(jī)的測(cè)試數(shù)據(jù)。

??? 觸發(fā)器就是DBMS中提供的事件驅(qū)動(dòng)機(jī)制。發(fā)生在表的Insert,Update和Delete。執(zhí)行SQL語(yǔ)句或存儲(chǔ)過(guò)程。

??? 在PD中可以完成存儲(chǔ)過(guò)程的編寫(xiě),也便于管理。

??? 逆向工程可以通過(guò)數(shù)據(jù)庫(kù)腳本或者通過(guò)ODBC數(shù)據(jù)源來(lái)實(shí)現(xiàn)。

總結(jié)

以上是生活随笔為你收集整理的[转]PowerDesigner使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。