PowerDesigner的安裝和數據庫創建(轉載)
此文描述詳細,特此轉載,僅復制了大部分內容,可參考原文CodeSmith和PowerDesigner的安裝和數據庫創建(原創)
請大家不要用于商業用途哈,要支持正版,大家都是做軟件的,知道開發一套軟件實屬不易啊.
CodeSmith安裝方法:
1). 點擊下載安裝文件
2). 運行,安裝步驟就不說了,選擇你要安裝的目錄,一路下一步就OK了.
3). 運行,選擇CodeSmith的安裝目錄,一路下一步,就破解
完成啦,接著你就可以在開始--CodeSmith Professional 5.1--CodeSmith Studio運行程序啦.
PowerDesigner安裝方法:
http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html
安裝完這2個軟件了,接著就開始使用吧,還是和以前一樣,先提出需求,再做實例,因為我們之所以使用它們,肯定是因為它們能巧妙的解決某種問題,不然我們干嘛花那么多時間和硬盤空間安裝它們.
好,我們現在的需求是:希望當接到一個新的工程項目時,程序員只需要根據項目需求,設計出數據庫的結構(表,表的字段,表間關系),之后只要按一個按鍵,就能立刻得到基于該數據庫的所有分層架構代碼文件.也就是說,我們希望能在不敲一行代碼的情況下獲取所有我們想要的代碼!而這就是這2個軟件能做到的事情,也是我們安裝它們的目的.
好了,角色已經介紹完了,接著看看它們是如何演繹這場精彩的演出的吧:
首先我們需要創建一個測試數據庫,為了簡單,我們在這個數據庫中只創建一個Student表和一個Major表.其表結構和關系如下所示.
看看怎樣用PowerDesigner快速的創建出這個數據庫吧.
1.現在開始使用PowerDesigner創建數據庫,首先運行程序,進入主界面:
2.File—New Model—Physical Data Model—Physical Diagram—Model name 設置為test,DBMS屬性設置為Microsoft SQL Server 2005:
3.首先用表格工具創建一個表格模板:
4.雙擊表格模板,設置屬性,我們首先設置Major表:
5.設置好表名,點擊Columns標簽,設置字段屬性,設置如圖所示:
6.因為MajorID字段我們要設置為自動增長,所以要設置它的高級屬性,選擇MajorID字段,點擊屬性按鈕,在General面板中勾選上Identity復選框:
7.確定后我們再創建一個Student表,字段設置如圖所示:
8.接著是為Student創建一個MajorID外鍵,使用PowerDesigner可以很輕松的完成這個工作,選擇關系設置工具,在Student表上按住左鍵不放,拖拽至Major表,便可為Student表添加一個MajorID的外鍵:
9.哈哈,現在測試表已經設置好了,接著設置一下我們要生成的數據庫吧,這些表都將被創建到該數據庫中,我們在設計面板空白處右鍵—Properties,在彈出的屬性設置對話框設置如下:
10好了,在此我們對新數據庫的設置已經完成,但是在SQL中還是空空如也啊,我們要怎么把這邊設計好的結構移植到SQLServer 2005中呢?執行操作:Database—Generate Database,設置好存儲過程導出目錄和文件名,點擊確定即可:
11.到你的導出目錄,就可以看見導出的數據庫創建存儲過程了,打開SQL,執行一下,你就會看到數據庫被神奇的創建好了:
12.好了,數據庫的準備工作做好了,下一篇我們就將使用該數據庫結合CodeSmith自動批量生成代碼啦~
上述實踐中生成的源代碼:

/*==============================================================*/
/* 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