使用PowerDesigner做数据库设计(二)
使用PowerDesigner做數(shù)據(jù)庫設(shè)計(jì)(二)
CDM設(shè)計(jì)后續(xù)
在上一篇文章中,有一點(diǎn)給忘記了,在CDM設(shè)計(jì)窗口中,如果在設(shè)計(jì)中,實(shí)體entity越來越多,實(shí)體entity間的關(guān)系也會(huì)越來越復(fù)雜,像蜘蛛網(wǎng)一樣難以分辨,從可視化和可維護(hù)性上面講,這是不利的,有沒有辦法解決這個(gè)問題呢。辦法是有的,請(qǐng)看下圖:
圖-1
在圖中,點(diǎn)擊鼠標(biāo)右鍵,選擇新增,在新增下選擇第一項(xiàng)Conceptual Diagram,這樣就可以根據(jù)業(yè)務(wù)邏輯來建立一個(gè)子CDM,在打開的窗口中給子CDM命名,添加code和備注。
圖-2
如果想讓每一個(gè)子CDM排列有序,則可以在名稱前面增加數(shù)字來進(jìn)行排序,如下圖所示:
圖-3
對(duì)于實(shí)體Entity,關(guān)聯(lián)關(guān)系Relationships,還有Association及Association Link也可以使用同樣的命名規(guī)則,根據(jù)業(yè)務(wù)邏輯在名字前添加數(shù)字,進(jìn)行歸類存放,方便后續(xù)的審核確認(rèn)。
? *PDM介紹*
PDM是PhysicalDataMode的英文簡稱,物理數(shù)據(jù)模型的意思。PDM可以直接創(chuàng)建,也可以從CDM之間生成,還可以從已有的PDM再次生成PDM。
在PDM中可以對(duì)CDM生成的表結(jié)構(gòu),做進(jìn)一步的核對(duì)、確認(rèn)一下,這是不是就是自己想要的數(shù)據(jù)結(jié)構(gòu),需要注意的是CDM中的關(guān)聯(lián)association會(huì)直接生成對(duì)應(yīng)的表table,還有一點(diǎn)需要注意,如果一個(gè)表中有兩個(gè)來自同一個(gè)表的外鍵,外鍵的命名還需要人為的手動(dòng)修改一下。
? *CDM轉(zhuǎn)PDM,手把手實(shí)際操作*
第一步,選中即將轉(zhuǎn)化為PDM的CDM設(shè)計(jì)稿上,在工具欄上,選擇Generate Physical Data Model,如下圖所示:
圖-4
第二步,在打開的窗口,進(jìn)行PDM相關(guān)參數(shù)的設(shè)置,在第一個(gè)選項(xiàng)卡General,數(shù)據(jù)庫的選擇非常重要,要根據(jù)需要的數(shù)據(jù)類型,來選擇生成模型對(duì)應(yīng)的數(shù)據(jù)庫類型。
圖-5
第三步,數(shù)據(jù)庫表前綴的設(shè)置,在上圖中,點(diǎn)開第二個(gè)選項(xiàng)卡detail,可以看到一個(gè)table prefix,這個(gè)便是表前綴的設(shè)置。
圖-6
第四步,切換到第四個(gè)選項(xiàng)卡Selection,對(duì)需要生成PDM的實(shí)體,做一個(gè)選擇,如果不需要,就去掉實(shí)體前復(fù)選框中的勾選,如果全部需要,這一步可以跳過。
圖-7
最后,點(diǎn)擊確定按鈕,根據(jù)CDM的大小,等待個(gè)幾秒鐘,就可以看到已生成PDM的樣子了,如下圖:
圖-8
只需三步,CDM就轉(zhuǎn)換成PDM了,非常簡單吧。
再來確認(rèn)一下,學(xué)生和課程關(guān)系表,生成的對(duì)不對(duì),打開Tables下的學(xué)生和課程關(guān)系表,表的前綴是有的,這個(gè)是對(duì)的。
圖-9
再確認(rèn)一下,表中的列,喔,好吧,學(xué)生和課程關(guān)聯(lián)關(guān)系時(shí),錯(cuò)把班級(jí)和這張表關(guān)聯(lián)了,真是太粗心,怎么辦,再回到CDM設(shè)計(jì)中,把上面的相關(guān)步驟再走一遍嘍!
圖-10
回到CDM設(shè)計(jì)界面,在刪除的確認(rèn)對(duì)話框中,有個(gè)選項(xiàng)需要注意一下
圖-11
在刪除對(duì)話框中,默認(rèn)的選項(xiàng)Delete objects,會(huì)連帶刪除掉左邊列表中的關(guān)系或?qū)嶓w,下面的選項(xiàng)則只會(huì)刪除右邊的關(guān)系或?qū)嶓w。在操作實(shí)體時(shí),如果不想刪除左邊菜單欄中的實(shí)體,則選擇Delete symbols only選項(xiàng)。確定要?jiǎng)h除哪些項(xiàng)目后,按下OK按鈕確認(rèn)刪除操作。
圖-12
好吧,設(shè)計(jì)真是個(gè)細(xì)心活,最后再把PDM生成一下,生成的結(jié)果如下圖:
圖-13
再把每個(gè)表中的列信息核對(duì)一遍,這下,學(xué)生和課程關(guān)系表中的列信息都是對(duì)的,課程id和學(xué)生id分別作為外鍵,插入到這張表中,在此表中,課程id和學(xué)生id構(gòu)成了聯(lián)合主鍵。
圖-14
在學(xué)生表中,班級(jí)也是作為外鍵插入到學(xué)生表中的,如下圖所示:
圖-15
?
? *PDM生成sql語句*
第一步,鼠標(biāo)焦點(diǎn)落在需要生成PDM的設(shè)計(jì)稿上,然后就可以在菜單欄看到數(shù)據(jù)庫這個(gè)選項(xiàng),點(diǎn)擊數(shù)據(jù)庫,選擇Generate Database選項(xiàng)
圖-16
第二步,在打開的Database Generation窗口中,設(shè)置文件需要保存的路徑,文件名稱,sql語句的組成。
圖-17
第三步,在后面幾個(gè)選項(xiàng)卡中,還有其他的選項(xiàng),在Preview選項(xiàng)卡中,還可以預(yù)覽到sql語句的效果,如下圖所示:
圖-18
最后點(diǎn)擊確定按鈕,然后到文件保存的位置,查看sql語句的文檔即可,文檔中的sql語句和預(yù)覽preview中的是一樣的。
從以上生成sql語句的過程來看,這一步還算是簡單的,只需三步走。下面的一步就比較復(fù)雜啦。
? *PDM生成word可視化文檔*
第一步,鼠標(biāo)焦點(diǎn)落在需要需要生成word可視化文檔的PDM設(shè)計(jì)稿上,然后點(diǎn)擊工具欄中的報(bào)告,如果是第一次使用,則需要打開Report Templates窗口,首先設(shè)計(jì)word導(dǎo)出模板,如下圖所示:
圖-19
圖-20
第二步,在打開的List of Report Templates模板中,點(diǎn)擊新建模板圖表后,會(huì)出現(xiàn)下面窗口Report Template Type,通過這個(gè)窗口給模板命名,選擇生成的語言類型,選中的數(shù)據(jù)模板類型,如下圖所示,最后按OK按鈕確定。
圖-21
第三步,模板設(shè)計(jì)細(xì)節(jié)。點(diǎn)擊確認(rèn)按鈕后會(huì)出現(xiàn)下面操作窗口,模板內(nèi)容的選擇。在這一步,需要確定將要輸出的word文檔,都有哪些內(nèi)容展示,table的列表清單,table表頭信息,table下的每一列,每一列的數(shù)據(jù)類型及備注等等。
圖-22
拖兩個(gè)title到文檔下,第一個(gè)title下面展示table清單,把list of tables拖到第一個(gè)title下,這時(shí)已經(jīng)完成了模板的頭部設(shè)計(jì)。
圖-23
接下來,在Available items列表下,找到Table文件夾,打開Table文件夾,把Table Card拖到第二個(gè)title下,再找到List of column,把這個(gè)也拖到第二個(gè)title下,見圖-25,把多余的刪掉。
圖-24
這個(gè)步驟考驗(yàn)拖拖拉拉的能力,需要多點(diǎn)耐心,Java程序員還真不習(xí)慣這樣拖拖拉拉的。
圖-25
最后按保存按鈕,在彈框里選擇合適的保存路徑。
圖-26
行到此處,模板的設(shè)計(jì)就告一個(gè)段落了,點(diǎn)擊右上角的關(guān)閉按鈕,關(guān)閉這個(gè)設(shè)計(jì)模板的窗口,接下來檢驗(yàn)這個(gè)模板是不是我們想要的。
圖-27
第四步,模板驗(yàn)證。鼠標(biāo)焦點(diǎn)落在要導(dǎo)出word模板的PDM設(shè)計(jì)稿上,打開圖-19的對(duì)話框,打開Generate Report窗口,在打開的窗口中,選擇剛剛設(shè)計(jì)的模板,導(dǎo)出文檔的后綴,語言類型及存儲(chǔ)路徑。
圖-28
第五步,確認(rèn)輸出。按下OK按鈕確認(rèn)后,會(huì)彈出對(duì)話框,點(diǎn)擊是,打開已經(jīng)生成好的word文檔,預(yù)覽一下格式
圖-29
這份看起來高大上的文檔,還有些不足,行之間缺少下劃線,列表清單缺少備注等等。
圖-30
第六步,模板設(shè)計(jì)再確認(rèn)。從模板保存的路徑,打開模板,選擇模板中的項(xiàng)目,點(diǎn)擊鼠標(biāo)右鍵,分別對(duì)format和layout進(jìn)行設(shè)計(jì),format主要是對(duì)格式的設(shè)置,layout是對(duì)數(shù)據(jù)項(xiàng)展示的設(shè)置,根據(jù)需要進(jìn)行設(shè)置,設(shè)置好后保存。
圖-31
圖-32
圖-33
最后,再次生成word文檔,打開文檔,是不是覺得很完美呢,感覺不完美繼續(xù)修改模板吧,哈哈。
圖-34
? 最后總結(jié)
CDM、PDM是PowerDeginer工具做數(shù)據(jù)庫設(shè)計(jì)時(shí)最常使用的,PowerDeginer里面的功能還有很多,都待研究。
使用了PowerDeginer這款工具后,有沒有覺得做數(shù)據(jù)庫設(shè)計(jì)高效了很多呢,當(dāng)然,做設(shè)計(jì)是細(xì)心活,粗心時(shí)還需要多review幾次。
哈哈。
[外鏈圖片轉(zhuǎn)存中…(img-BzVW7jMN-1603276881721)]
圖-34
? 最后總結(jié)
CDM、PDM是PowerDeginer工具做數(shù)據(jù)庫設(shè)計(jì)時(shí)最常使用的,PowerDeginer里面的功能還有很多,都待研究。
使用了PowerDeginer這款工具后,有沒有覺得做數(shù)據(jù)庫設(shè)計(jì)高效了很多呢,當(dāng)然,做設(shè)計(jì)是細(xì)心活,粗心時(shí)還需要多review幾次。
總結(jié)
以上是生活随笔為你收集整理的使用PowerDesigner做数据库设计(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用PowerDesigner做数据库设
- 下一篇: mysql集群分区