A. powerdesigner 參照關系工具怎麼用
PowerDesign:PowerDesign是Sybase推出的主打資料庫設計工具。PowerDesign致力於採用基於Entiry- Relation的數據模型,分別從概念數據模型(Conceptual Data Model)和物理數據模型(Physical Data Model)兩個層次對資料庫進行設計。概念數據模型描述的是獨立於資料庫管理系統(DBMS)的實體定義和實體關系定義。物理數據模型是在概念數據模型 的基礎上針對目標資料庫管理系統的具體化。
如何一次性將表結構的腳本導出來?
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了。
設計步驟
CDM PDM OOM三者轉換關系
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數據源來實現。
B. 怎麼用PowerDesigner創建CDM圖
創建用例圖,打開PD,操作如下:
文件---建立新模型(New Model)---分類(Categories)---商務(Business)---用例圖定義(Use Case Definition),然後通過面板上的小人符號、用例符號處理即可。如果要調整線型,工具----顯示參數選擇----格式Format----Use Case Association 定義線型為最後一種S型即可由曲線變成直線。
創建活動圖、組件、順序圖:分類(Categoriess)----應用程序(Application),利用模型面板來畫即可:UML Activity Diagram、UML Component Diagram、UML Sequence Diagram。
創建資料庫模型,製作ER圖:分類(Categoriess)----信息(Information),點擊第一個圖例創建Conceptual Data,畫出Entity實體和關系Relationship。
注意:要理解CDM/PDM/OOM/BPM 分別指的含義,可以相互轉換。
CDM:概念數據模型
PDM:物理數據模型
OOM:面向對象模型
BPM:企業流程模型
如果要做軟體開發,請多用OOM。
當然,也可以用CDM/PDM,通過菜單「工具」可以互相生成不同的模型。
C. SQL里的cdm和pdm是什麼東西怎麼對它們寫實訓小結呀
概念數據模型(CDM)
信息系統的概念設計工具,即實體-聯系圖(E-R圖),CDM就是以其自身方式來描述E-R圖。此時不考慮物理實現的細節,只表示資料庫的整體邏輯結構,獨立於任何軟體和數據存儲結構。
物理數據模型(PDM)
PDM考慮了資料庫的物理實現,包括軟體和數據存儲結構。
PDM的對象:表(Table)、表中的列(Table column)、主碼和外碼(Primary & Foreign key)、參照(Reference)、索引(Index)、視圖(View)等。
1. 創建一個CDM項目,設置其屬性。
2. 定義域(Domain):一般在開始之前,我們要為CDM模型定義一些域,域的作用有些像元數據,它定義了某一類數據的數據結構。通過定義一個域,你就定義了一種數據結構,你可以在項目中引用它。這樣做的好處時,一旦你改動了一個域的屬性,整個項目中所有引用處都跟著改變。例如,你定義一個名稱為my_money的域,數據類型為money,整數位數為8,小數位數為3。你在數據項(DataItem)pay和get中引用了money的域後,該數據項的數據類型自動變為money。如果某一天你增加money類型的小數位數,那麼你只需要改一下my_money這個域,所有引用了my_money這個域的數據項的數據類型都將改變。
3. 建立實體:建立一個實體後,設置屬性,修改名稱,增加attributes,每一個attribute在CDM中就是一個數據項(DataItem),轉換成PDM後就像當於表中的一個欄位。在屬性欄里你可以對任意一個attribute設置它的一些特性。分別是DataType,Domain,M,P,D。DataType就是數據類型,如果引用了域就不需要設置。Domain就是引用域。M,P,D分別是:是否必填,是否為主鍵,是否可顯,這三個屬性可多選,當你選擇P後,M也自動選擇,同時在Identifiers里也多出一個標識符。標識符的作用也比較大,在relationship中,是以它為對應。
4. 建立聯系(relationship):選擇relationship後進行拖拉可在兩個實體間建立一種聯系,雙擊聯系將顯示其屬性,可在其中設置兩個實體之間的關系,這些關系包括,一對一,一對多,多對一,多對多。例如,class表和student表,是一對多關系,這種一對多的實體關系轉換成PDM後,第一個實體的主鍵將做為第二個實體的外鍵存放,例如class表的主鍵class_id將作做stuent的外鍵。
5. 建立子模型:子模型相當於我們平時所說的實體關系表,ER圖中的菱形部分。子模型用在多對多關系中。如class表和teacher表,它們之間就是一個多對多關系,為實現這兩個實體之間的聯系就需要建立一個子模型,建立子模型用association link將多個實體聯系起來。PDM中子模型也是一個物理表,與它聯系的每個實體的主鍵都是子模型表的欄位。同時子模型也可以增加一些其它的attribute。
6. 建立繼承關系:繼承關系與我們在編程中的繼承類似,以父實體為基準,所有子實體將擁有父實體中的所有attribute。子實體中可定義其它attribute,以區別於其它子實體。
D. 什麼是CDM
CDM(Cash Deposit Machine)的縮寫,意思是現金存款機。可辦理查詢余額和存款等業務。
1、客戶可持卡到自動存取款機上,按機器界面提示進行相關業務操作。
2、退卡後30秒內不取卡的話會被吞卡;退卡後,若還要辦理自助業務,應先把卡取出,再按正常步驟進行操作,若直接把卡推入,則會被吞卡。
3、在自動存取款機上輸入的密碼為取款密碼,並且要求輸入的密碼為6位數,若密碼不足6位的,在後面加0補足6位。建議客戶將取款密碼設成6位,若取款密碼不足6位,可能在異地自動取款機上不能取款。
4、在網點自動存取款機上被吞卡的,請與網點人員聯系。在非網點自動存取款機上被吞卡的,可撥銀行服務電話與座席人員聯系。
5、在自動存取款機上進行業務交易發生異常時,如卡上錢已扣但未吐鈔、被吞卡但沒有列印客戶通知單等,請馬上與網點或發卡行客戶服務中心聯系。與網點聯系可以使用在ATM或自助取款機旁邊的緊急聯絡器。也可撥打發卡行的客服電話尋求幫助。