PowerDesigner的安裝和數據庫創建(轉載)
此文描述詳細,特此轉載,僅複製了大部分內容,可參考原文CodeSmith和PowerDesigner的安裝和數據庫創建(原創)
請大家不要用於商業用途哈,要支持正版,大家都是做軟件的,知道開發一套軟件實屬不易啊.
安裝完這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