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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

PowerDesiGner数据库设计

發布時間:2024/7/19 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerDesiGner数据库设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:http://hi.baidu.com/shunkunl/blog/item/871c75ef8596faeace1b3e00.html PowerDesign:PowerDesign是 Sybase推出的主打數據庫設計工具。PowerDesign致力于采用基于Entiry-Relation的數據模型,分別從概念數據模型 (Conceptual Data Model)和物理數據模型(Physical Data Model)兩個層次對數據庫進行設計。概念數據模型描述的是獨立于數據庫管理系統(DBMS)的實體定義和實體關系定義。物理數據模型是在概念數據模型的基礎上針對目標數據庫管理系統的具體化。

ERWin:這個是CA公司的拳頭產品,它有一個兄弟是BPWin,這個是CASE工具的一個里程碑似的產品。ERWin界面相當簡潔漂亮,也是采用ER模型,如果你是開發中小型數據庫,極力推薦ERWin,它的Diagram給人的感覺十分清晰。在一個實體中,不同的屬性類型采用可定制的圖標顯示,實體與實體的關系也一目了然。ERWin不適合非常大的數據庫的設計,因為它對 Diagram欠缺更多層次的組織。

如何一次性將表結構的腳本導出來?
Database --->Generate Database ---> Genarate Script 就可實現。

Name用中文英文以便查詢、寫程序的時候方便, Code才是最終產生的Table Name

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

如何將已經存在的數據庫所有表,導入到PowerDesign中?
用PD里的反向工程file--->reverse engineering ===> and go on

概念數據模型(CDM)
CDM表現數據庫的全部邏輯的結構,與任何的軟件或數據儲藏結構無關。一個概念模型經常包括在物理數據庫中仍然不實現的數據對象。它給運行計劃或業務活動的數據一個正式表現方式。不考慮物理實現細節,只考慮實體之間的關系。

物理數據模型 (PDM)
PDM敘述數據庫的物理實現。主要目的是把CDM中建立的現實世界模型生成特定的DBMS腳本,產生數據庫中保存信息的儲存結構,保證數據在數據庫中的完整性和一致性。

面向對象模型 (OOM)
一個OOM包含一系列包,類,接口和他們的關系。這些對象一起形成所有的(或部份)一個軟件系統的邏輯的設計視圖的類結構。一個OOM本質上是軟件系統的一個靜態的概念模型。

業務程序模型(BPM)
BPM描述業務的各種不同內在任務和內在流程,而且客戶如何以這些任務和流程互相影響。BPM是從業務合伙人的觀點來看業務邏輯和規則的概念模型,使用一個圖表描述程序,流程,信息和合作協議之間的交互作用。

正向工程
你能直接地從PDM產生一個數據庫, 或產生一個能在你的數據庫管理系統環境中運行的數據庫腳本。可以生成數據庫腳本,如果選擇ODBC方式,則可以直接連接到數據庫,從而直接產生數據庫表以及其他數據庫對象。

逆向工程
將已存在的數據庫產生進新的PDM 之內。數據來源可能是從腳本文件或一個開放數據庫連接數據來源。

并不是每個設計都需要用到Power Designer。 例如:小的系統,或Table數比較少的情況下就沒有必要采用Power Designer了。

PowerDesigner僅僅是實現的工具
不要以為Power能幫你把關系什么的全部建立好,很多數據庫理論只是還是需要的,設計數據庫的時候,那些范式什么的,一定要掌握。
設計一個好的數據庫,最好的工具不是必須的,但是基礎理論是一定要的。

PowerDesigner用途不局限于數據建模
還可以用PowerDweigner設計web service

并不是每個設計都需要用到PD
用Powerdesigner對付比較大型的項目,是很好的,對于短平快類型的項目,如果時間要求你1個星期完成一個程序,那么完全沒有必要用 PowerDesigner,直接維護數據庫就可以了,當表的數量超過10個(一個小系統的表在10個左右)的時候,建議還是用用 Powerdesigner 。
我的看法:如果想做成一個比較規范的數據庫,小項目也可以用。畢竟生成報表和正反向工程很有用。

零碎

PD中的CDM設計時,可以將所有需要的字段都定義好。然后在設計實體是直接取出來。PD提供了這樣的統一管理的工具。在PD菜單欄-Model-Data Item下。

為了使自己設計的CDM看起來象樣一點,可以從工具欄中,拖動一個Title。其顯示的信息,是當前CDM的屬性值。

為了使實體等Symbol看起來顯眼和舒服。可以根據個人喜好進行外觀上的調整。當前設計界面中,右鍵-Display Perferences中進行設置。還可以增加shadow效果。選中Symbol后,Ctrl+W。或者右鍵菜單。

為了使布局整齊。選中需要調整的Symbol后,菜單-Symbol-Align進行設置。快捷鍵:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即為上下左右對齊。

設計實體屬性時注意的細節:M:表示強制非空;P:是否為主鍵;D:是否在模型中顯示。gerenate:表示是否作為表生成。

默認情況下,CDM的實體會顯示Identifier一欄。如果不想其顯示出來,在右鍵-Display Perferences中ObjectView-Entity中設置。

關系的命名方法是:實體名1 實體名2。

關系中的角色(Role)表示聯系線上一個方向上的含義。用一個動詞來描述。Role只是起一個描述作用。

依賴(Dependency):表示在聯系中一個實體的存在是否依賴于另一個實體。寄生實體(Dependent Entity)是一種部分地被另一實體確定的實體。在依賴聯系中,一個實體與另一實體通過標識符相聯系,當一個實體的存在沒有另一個實體的存在作為參考就不能唯一確定時,兩個實體間就存在依賴聯系。
主從表就是典型的依賴關系。

中間實體(Associative Entity):是為了解決多對多聯系而產生的一個人工實體,能夠為中間實體定義屬性。用鼠標右鍵單擊多對多聯系線,在彈出的菜單中選擇“Change to entity”,能夠把這個聯系轉換成連接兩個實體的中間實體。
善于利用自動生成的中間實體,可以簡化設計工作,提高數據庫設計的正確性。
中間實體一般不用再加入新的字段。

牢記:外鍵是通過關系Relationship自動來建立的,不需要手動建立。不然會產生多余的鍵。所以設計時,關注實體本身的字段,以及實體間的關系,特別是多對多和依賴關系。

從CDM到PDM的轉換需要注意:

不能改變Diagram的名稱
在樹狀圖中,如果鉤選紅色標出的Symbol表示覆蓋修改,不鉤選表示保護修改。

數據庫為了保證數據完整性和一致性,提出了約束。即表約束,列約束以及參照完整性約束。通常數據庫設計和程序開發不是絕對的分離的。所以前兩者在實際開發過程中逐漸的完善。需要注意的還是參照完整性約束。
在PD中前兩者的設定是對字段,后者是對關系。

參照完整性約束

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

注意理解以上的約束時,抓住操作的都是主表。子表的操作都是相對主表來說的。操作方式就是Update和Delete。

引用基礎數據表的數據時,可以建立對應的視圖。選中需要作為視圖的表,菜單欄-Tools-Create View

PD支持對已有數據的表更新表結構。不過需要謹慎操作,檢查生成的SQL腳本。

PD也可以生成隨機的測試數據。

觸發器就是DBMS中提供的事件驅動機制。發生在表的Insert,Update和Delete。執行SQL語句或存儲過程。

在PD中可以完成存儲過程的編寫,也便于管理。

逆向工程可以通過數據庫腳本或者通過ODBC數據源來實現。

-----------------------------------------------------------------------------------------------------------------------------------

蛙蛙推薦:用PD進行數據庫建模經驗總結

1、建立pdm的時候選擇sqlserver2000
2、建立PDM后,先建立一個dbo的用戶,新建表后要制定表的所屬用戶為dbo。
3、建表的時候Name和Code可以分開,name寫成中文,用來看;code寫成英文,用來當表名;最后就是把comment寫上,這個要生成注釋的。寫注釋的時候可以寫長一些,但是千萬不要回車換行,要不生成sqlserver數據庫的時候你點擊表設計視圖,列的注釋分好幾行不好查看。給表添加列的時候也是一樣,分別寫name、code、comment。
4、打開database-edit current DBMS后把script/objects/table/create的value寫成如下:

/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
???
%TABLDEFN%
)
[%OPTIONS%]

script
/objects/table/tablecomment如下:
EXECUTE sp_addextendedproperty N'MS_Description', N'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', NULL, NULL

script
/objects/column/add如下:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
?????
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]] /*%COLNNAME%*/

script
/objects/column/columncomment如下:
/*%COLUMN%:%COMMENT%*/
EXECUTE sp_addextendedproperty N'MS_Description', N'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', N'column', N'%COLUMN%'

5、下面該生成代碼了。點擊database-genrate database菜單,把table & view選項卡的table和column組合框里的comment復選框打上鉤。點擊確定就可以生成數據庫腳本了。
6、設計數據庫的時候,最好把相關的表放在一起,并用一個矩形框括住,矩形框用不同的背景顏色來填充一下,這樣方便查看。可以選擇一個矩形框里的所有元件,點擊symbol菜單的group symbol把表和矩形框組合在一起,要解除組合點擊ungroup symbol菜單。
7、如果要生成數據庫報表,右鍵單擊物理模型,選擇new-report菜單,然后選擇語言和模版,由于PD自帶的模版太煩瑣,所以一般選擇空模版,自己設計要顯示的報表元素,比如說table list和column list 以及一些表和列描述等。
8、要想查看每個表生成的代碼,可以在表的屬性的preview選項卡里查看。
9、如果你右鍵點擊某個圖形,選擇了protect symbol,這個圖形就被保護住了,不能拖動也不能修改了,怎么辦?點擊symbol菜單,點擊unprotect symbol菜單就可以了。

轉載于:https://www.cnblogs.com/myssh/archive/2009/10/20/1586924.html

總結

以上是生活随笔為你收集整理的PowerDesiGner数据库设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。