一:Uml基礎(chǔ)知識(uml主要包括實體,關(guān)系和圖)
1.關(guān)系:包括依賴(一種使用關(guān)系,一個量的變化會影響另一個量)
關(guān)聯(lián):(聚合,組合):組合的實體只有湊在一起才能發(fā)揮作用不能單獨存在發(fā)揮功能
例:美猴王與四肢是組合關(guān)系(是不能共享數(shù)據(jù)的),與金箍棒是聚合關(guān)系(整體與個體關(guān)系)
泛化和實現(xiàn)
2.圖:主要包括用例圖,類圖,序列圖,合作圖,狀態(tài)圖,活動圖,構(gòu)件圖和部署圖。
類圖(靜態(tài))
|
描述一些類,包的靜態(tài)結(jié)構(gòu)和它們之間的靜態(tài)關(guān)系
|
對象圖
|
給出了一個系統(tǒng)中的對象的快照
|
構(gòu)件圖
|
描述可以部署的軟件構(gòu)件(如jar文件,ejb等)之間的靜態(tài)關(guān)系
|
部署圖
|
系統(tǒng)的拓?fù)浣Y(jié)構(gòu)
|
用例圖(動態(tài))
|
角色和使用案例之間的關(guān)系
|
活動圖
|
描述不同過程之間的動態(tài)接觸,是用例圖行為具體化
|
狀態(tài)圖
|
描述一個對象內(nèi)部狀態(tài)的變化和轉(zhuǎn)移
|
時序圖
|
描述不同對象之間的信息傳遞的時序
|
合作圖
|
描述發(fā)出信息,接受信息的一系列對象的組織機構(gòu)
|
3.uml的擴展機制,用于注釋<<表示衍行>>, 表示一個狀態(tài)圖框, 表示雙向關(guān)聯(lián)
如下為用例圖:右上角為注釋

狀態(tài)圖:黑色圓圈表示初始狀態(tài)

二.Rational XDE建立數(shù)據(jù)模型
真實環(huán)境:有很多種類的商品,為了建模提取他們的共同特征作為父表,用type枚舉為自表建立約束。如果遇到多對多關(guān)系如物品—購買—雇員,可抽象實體為物品—定單—雇員

1.邏輯模型
a.建立類并添加屬性,變成實體(entity)方便數(shù)據(jù)庫人員識別(Property windowsàstereotype)
b.建立關(guān)系和主鍵值(UseSurrogateKey的值為false時就自己設(shè)定主鍵à選中字段IsNullable為false表示不能為空,OID為true)
c.建立枚舉類型(enumeration):產(chǎn)生數(shù)據(jù)庫的check約束關(guān)系(添加值為Add Literal),將其屬性的IsSeparateTable為false:表示產(chǎn)生數(shù)據(jù)域類型
2.?dāng)?shù)據(jù)模型:

a.從Data Modeler中建立數(shù)據(jù)庫,從首選項的Data Modeler中查看默認(rèn)數(shù)據(jù)庫
b.從邏輯模型transform成table,將enumeration產(chǎn)生的域選中àopen Specification選中將check Constraints的Expression加個@符號,length設(shè)為1,并將多余的約束刪掉.
c.如果需要明確枚舉關(guān)系則建立Data domain 域模型,將數(shù)據(jù)模型和邏輯模型關(guān)聯(lián)
d.正向工程即可生成數(shù)據(jù)庫語句。