代码改变世界

[置顶]信息发布系统 Jquery+MVC架构开发(2) 在EA下进行数据库设计

2011-07-22 09:26  乱世文章  阅读(247)  评论(0编辑  收藏  举报

 

数据库设计工具我们依然采用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了

这样我们就完成了数据库设计.