数据库设计工具我们依然采用Enterprise Architect 7.5 汉化版
在这里可以稍微介绍下EA,个人比较喜欢Enterprise Architect ,这个工具比较类似Rational Rose
网上有破解版本,它可以支持从需求分析到设计部署的全过程建模
上问我们用了它的用例建模,下面我们开始使用它的数据库建模:
下面是ea的操作界面:
我们双击右边model下的Data model,选择左边Class下的table,出现新建table:
这里一个关键的地方是记得选择数据库:我这里选择的是sql server 2005,输入数据名称后,选择Table Detail:
选择列/变量:
为表定义列名和数据类型,以及约束,主外键。
为表和表之间添加关系,可以选择操作的链接小图标(第一个):
然后双击新建的关联(就是上边刚建好的关系)选择:
选择主外键以及阶元(就是1对多之类的)。
注意Source role表示主表,Target Role代表从表
下面是我定义好的数据库:
建模完成后,就可以生成SQL 语句,建库了:
首先选中所有的实体,如下:
进入如下的窗口:
选择生成主/外键,生成索引/约束(你可以根据自己的需要生成),然后保存:
生成的sql 如下:
CREATE TABLE UserInfo (
UserId int NOT NULL,
IsAdmin tinyint NOT NULL,
UserName nvarchar(50) NOT NULL,
CreateDate datetime,
ModifyDate datetime
)
;
CREATE TABLE Info (
InfoId int NOT NULL,
infoname nvarchar(200) NOT NULL,
InfoContent text,
TypeId int,
PictureUrl nvarchar(4000),
CreateId int,
CreateDate datetime,
ModifyDate datetime,
AttachMentUrl nvarchar(4000),
IsTop tinyint
)
;
CREATE TABLE InfoType (
Typeid int NOT NULL,
TypeName nvarchar(100),
CreateId int,
IsTop tinyint,
CreateDate datetime,
ModifyDate datetime
)
;
ALTER TABLE UserInfo ADD CONSTRAINT PK_User
PRIMARY KEY CLUSTERED (UserId)
;
ALTER TABLE Info ADD CONSTRAINT PK_Info
PRIMARY KEY CLUSTERED (InfoId)
;
ALTER TABLE InfoType ADD CONSTRAINT PK_InfoType
PRIMARY KEY CLUSTERED (Typeid)
;
ALTER TABLE InfoType
ADD CONSTRAINT UQ_InfoType_TypeName UNIQUE (TypeName)
;
然后在sql server 里面新建一个数据库,把上面生成的sql 执行就ok了
这样我们就完成了数据库设计.