PowerDesigner的安裝和數(shù)據(jù)庫(kù)創(chuàng)建(轉(zhuǎn)載)
此文描述詳細(xì),特此轉(zhuǎn)載,僅復(fù)制了大部分內(nèi)容,可參考原文CodeSmith和PowerDesigner的安裝和數(shù)據(jù)庫(kù)創(chuàng)建(原創(chuàng))
請(qǐng)大家不要用于商業(yè)用途哈,要支持正版,大家都是做軟件的,知道開發(fā)一套軟件實(shí)屬不易啊.
安裝完這2個(gè)軟件了,接著就開始使用吧,還是和以前一樣,先提出需求,再做實(shí)例,因?yàn)槲覀冎允褂盟鼈?肯定是因?yàn)樗鼈兡芮擅畹慕鉀Q某種問題,不然我們干嘛花那么多時(shí)間和硬盤空間安裝它們.
好,我們現(xiàn)在的需求是:希望當(dāng)接到一個(gè)新的工程項(xiàng)目時(shí),程序員只需要根據(jù)項(xiàng)目需求,設(shè)計(jì)出數(shù)據(jù)庫(kù)的結(jié)構(gòu)(表,表的字段,表間關(guān)系),之后只要按一個(gè)按鍵,就能立刻得到基于該數(shù)據(jù)庫(kù)的所有分層架構(gòu)代碼文件.也就是說(shuō),我們希望能在不敲一行代碼的情況下獲取所有我們想要的代碼!而這就是這2個(gè)軟件能做到的事情,也是我們安裝它們的目的.
好了,角色已經(jīng)介紹完了,接著看看它們是如何演繹這場(chǎng)精彩的演出的吧:
首先我們需要?jiǎng)?chuàng)建一個(gè)測(cè)試數(shù)據(jù)庫(kù),為了簡(jiǎn)單,我們?cè)谶@個(gè)數(shù)據(jù)庫(kù)中只創(chuàng)建一個(gè)Student表和一個(gè)Major表.其表結(jié)構(gòu)和關(guān)系如下所示.

看看怎樣用PowerDesigner快速的創(chuàng)建出這個(gè)數(shù)據(jù)庫(kù)吧.
1.現(xiàn)在開始使用PowerDesigner創(chuàng)建數(shù)據(jù)庫(kù),首先運(yùn)行程序,進(jìn)入主界面:

2.File—New Model—Physical Data Model—Physical Diagram—Model name 設(shè)置為test,DBMS屬性設(shè)置為Microsoft SQL Server 2005:

3.首先用表格工具創(chuàng)建一個(gè)表格模板:

4.雙擊表格模板,設(shè)置屬性,我們首先設(shè)置Major表:

5.設(shè)置好表名,點(diǎn)擊Columns標(biāo)簽,設(shè)置字段屬性,設(shè)置如圖所示:

6.因?yàn)镸ajorID字段我們要設(shè)置為自動(dòng)增長(zhǎng),所以要設(shè)置它的高級(jí)屬性,選擇MajorID字段,點(diǎn)擊屬性按鈕,在General面板中勾選上Identity復(fù)選框:

7.確定后我們?cè)賱?chuàng)建一個(gè)Student表,字段設(shè)置如圖所示:
8.接著是為Student創(chuàng)建一個(gè)MajorID外鍵,使用PowerDesigner可以很輕松的完成這個(gè)工作,選擇關(guān)系設(shè)置工具,在Student表上按住左鍵不放,拖拽至Major表,便可為Student表添加一個(gè)MajorID的外鍵:

9.哈哈,現(xiàn)在測(cè)試表已經(jīng)設(shè)置好了,接著設(shè)置一下我們要生成的數(shù)據(jù)庫(kù)吧,這些表都將被創(chuàng)建到該數(shù)據(jù)庫(kù)中,我們?cè)谠O(shè)計(jì)面板空白處右鍵—Properties,在彈出的屬性設(shè)置對(duì)話框設(shè)置如下:

10好了,在此我們對(duì)新數(shù)據(jù)庫(kù)的設(shè)置已經(jīng)完成,但是在SQL中還是空空如也啊,我們要怎么把這邊設(shè)計(jì)好的結(jié)構(gòu)移植到SQLServer 2005中呢?執(zhí)行操作:Database—Generate Database,設(shè)置好存儲(chǔ)過程導(dǎo)出目錄和文件名,點(diǎn)擊確定即可:

11.到你的導(dǎo)出目錄,就可以看見導(dǎo)出的數(shù)據(jù)庫(kù)創(chuàng)建存儲(chǔ)過程了,打開SQL,執(zhí)行一下,你就會(huì)看到數(shù)據(jù)庫(kù)被神奇的創(chuàng)建好了:

12.好了,數(shù)據(jù)庫(kù)的準(zhǔn)備工作做好了,下一篇我們就將使用該數(shù)據(jù)庫(kù)結(jié)合CodeSmith自動(dòng)批量生成代碼啦~
上述實(shí)踐中生成的源代碼:


SQL.sql
/*==============================================================*/
/* Database name: PD_test */
/* DBMS name: Microsoft SQL Server 2005 */
/* Created on: 2010/6/13 星期日 17:27:17 */
/*==============================================================*/
drop database PD_test
go
/*==============================================================*/
/* Database: PD_test */
/*==============================================================*/
create database PD_test
go
use PD_test
go
/*==============================================================*/
/* Table: Major */
/*==============================================================*/
create table Major (
MajorID int identity,
Name nvarchar(20) not null,
Remark nvarchar(Max) null,
constraint PK_MAJOR primary key (MajorID)
)
go
/*==============================================================*/
/* Table: Student */
/*==============================================================*/
create table Student (
StudentID nvarchar(20) not null,
MajorID int null,
Name nvarchar(20) not null,
Sex bit not null,
Age int null,
Remark nvarchar(Max) null,
constraint PK_STUDENT primary key (StudentID)
)
go
alter table Student
add constraint FK_STUDENT_REFERENCE_MAJOR foreign key (MajorID)
references Major (MajorID)
go