目标:使用PowerDesigner12,实现数据库从逻辑模型到物理模型的设计,最后生成sql脚本。
一、创建概念模型
打开PowerDesigner12后,File—>New,弹出:
填写Model Name:ContractManage。点击确定。
二、设计逻辑模型。
(一)Domains的创建。Domains是用户自定义的数据类型,如下图。
按照,下表内容建立新的Domains:
Domains名称 |
Code |
Data Type |
Length |
D |
D |
DATE |
/ |
VA5 |
VA5 |
D(是否在显示) |
5 |
VA15 |
VA15 |
VARIABLE CHARACTERS(15) |
15 |
VA50 |
VA50 |
VARIABLE CHARACTERS(50) |
50 |
VA255 |
VA255 |
VARIABLE CHARACTERS(255) |
255 |
VA2000 |
VA2000 |
VARIABLE CHARACTERS(2000) |
2000 |
(二)实体的创建。
使用palette面板里的entity对象,在白板上新建对象。
1、首先创建实体名:
2、新建属性:点击Attribute选项卡。
3、设置主标识符。点击Identifiers选项卡。
通过以上步骤,我们新建3个实体。
实体甲方:
(1)General选项卡 Name:甲方 Code:PartyA
(2)Attributes选项卡 M(是否为空)P(是否为主标识符)D(是否在显示)
Name |
Code |
Data Type |
Domain |
M |
P |
D |
甲方编号 |
PartyAID |
VARIABLE CHARACTERS(15) |
VA15 |
V |
V |
V |
甲方名称 |
PartyAName |
VARIABLE CHARACTERS(50) |
VA50 |
|
|
V |
(3)Identifiers选项卡 P(是否为主标识符)
实体甲方代理人:
(1)General选项卡 Name:甲方代理人 Code:PartyAAgent
(2)Attributes选项卡 M(是否为空)P(是否为主标识符)D(是否在显示)
Name |
Code |
Data Type |
Domain |
M |
P |
D |
甲方代理人编号 |
PartyAAgentID |
VARIABLE CHARACTERS(15) |
VA15 |
V |
V |
V |
甲方代理人名称 |
PartyAAgentName |
VARIABLE CHARACTERS(50) |
VA50 |
|
|
V |
(3)Identifiers选项卡 P(是否为主标识符)
实体合同:
(1)General选项卡 Name:合同 Code:Contract
(2)Attributes选项卡 M(是否为空)P(是否为主标识符)D(是否在显示)
Name |
Code |
Data Type |
Domain |
M |
P |
D |
合同编号 |
ContractID |
VARIABLE CHARACTERS(15) |
VA15 |
V |
V |
V |
签约地点 |
Place |
VARIABLE CHARACTERS(50) |
VA50 |
|
|
V |
乙方 |
PartyB |
VARIABLE CHARACTERS(50) |
VA50 |
|
|
V |
乙方代理人 |
PartyBAgent |
VARIABLE CHARACTERS(5) |
VA5 |
|
|
V |
甲方签约时间 |
PartyASignDate |
Date |
D |
|
|
V |
乙方签约时间 |
PartyBSignDate |
Date |
D |
|
|
V |
项目名称 |
ProjectName |
VARIABLE CHARACTERS(255) |
VA255 |
|
|
V |
合同内容 |
ContractContent |
VARIABLE CHARACTERS(2000) |
VA2000 |
|
|
V |
(3)Identifiers选项卡 P(是否为主标识符)
(三)创建关系。
使用Palette面板中的Relationship,如图,分别联系甲方和合同(从甲方连到合同),甲方代理人和合同(从甲方代理人连到合同):
最后得到下列实体关系图:
三、将逻辑模式转换成物理模型。
选择Tools—>Generate Physical Data Model,生成物理模型。
生成如下物理模型,如下:
四、将物理模型转换成sql脚本。
先选中物理模型ContractManage下的ContractManage。选择DataBase—>Generate DataBase
生成ContractManage.sql脚本如下:
/*==============================================================*/
/*DBMSname:MySQL5.0*/
/*Createdon:2008-3-3019:20:20*/
/*==============================================================*/
droptableifexistsContract;
droptableifexistsPartyA;
droptableifexistsPartyAAgent;
/*==============================================================*/
/*Table:Contract*/
/*==============================================================*/
createtableContract
(
ContractIDvarchar(15)notnull,
PartyAAgentIDvarchar(15),
PartyAIDvarchar(15),
Placevarchar(50),
PartyBvarchar(50),
PartyBAgentvarchar(5),
PartyASignDatedate,
PartyBSignDatedate,
ProjectNamevarchar(255),
ContractContentvarchar(2000),
primarykey(ContractID)
);
/*==============================================================*/
/*Table:PartyA*/
/*==============================================================*/
createtablePartyA
(
PartyAIDvarchar(15)notnull,
PartyANamevarchar(50),
primarykey(PartyAID)
);
/*==============================================================*/
/*Table:PartyAAgent*/
/*==============================================================*/
createtablePartyAAgent
(
PartyAAgentIDvarchar(15)notnull,
PartyAAgentNamevarchar(50),
primarykey(PartyAAgentID)
);
altertableContractaddconstraintFK_Relationship_1foreignkey(PartyAID)
referencesPartyA(PartyAID)ondeleterestrictonupdaterestrict;
altertableContractaddconstraintFK_Relationship_2foreignkey(PartyAAgentID)
referencesPartyAAgent(PartyAAgentID)ondeleterestrictonupdaterestrict;
分享到:
相关推荐
本课程“面向开发人员之ASP.NET开发技术系列课程(5):Struts开发人员篇——ASP.NET深度剖析”专门针对已经熟悉Struts框架的开发人员,旨在帮助他们理解和掌握ASP.NET的核心概念和技术,从而能够将已有的Struts开发...
在"入门学习struts——合同管理系统"中,你将有机会深入理解Struts1的核心概念和工作原理,同时通过一个实际的合同管理系统的开发过程,提升你的Java Web开发技能。 该系统可能包含了以下组件和知识点: 1. **...
要深入学习和掌握Struts2,建议阅读官方文档,参与实际项目实践,也可以参考相关的技术书籍和教程,例如《Struts2技术内幕——深入解析Struts2架构设计与实现原理》等资源,来提升对Struts2框架的全面理解。
本实训主要关注如何使用Struts框架进行实际项目的开发,以提升开发者在企业级应用中的技能。 1. **MVC模式**:Struts框架的核心是MVC设计模式,它将应用程序的业务逻辑、数据和用户界面分离,使得代码更易于管理和...
《Struts 2.1权威指南》特点为:1.经验丰富,针对性强 ...《Struts 2.1权威指南》最后配备了几个非常常见的案例,可以让读者在掌握前而的基础知识点的情况下,将所有知识融会贯通,把基础知识点应用项目开发过程中。
【JSP 项目实例——客户管理系统(clientManager)】 在IT行业中,JSP(JavaServer Pages)是一种基于Java技术的服务器端脚本语言,用于创建动态网页应用。本项目实例——客户管理系统(clientManager),是一个典型的...
在这个"基于Struts与iBatis开发的图书管理系统"中,我们可以看到Struts2与iBatis数据持久层框架的结合,提供了一个高效且灵活的数据管理解决方案。 首先,让我们深入了解一下Struts2框架。Struts2是Struts1的升级版...
本项目“学生成绩管理系统”就是基于Struts2、Spring和Hibernate三大主流Java Web框架进行整合的一个实例。这样的整合能够充分利用各框架的优势,实现模型-视图-控制器(MVC)架构,提供数据持久化、业务逻辑处理...
在这个"新闻管理系统"项目中,Struts2作为前端控制器,负责接收用户请求,调度业务逻辑,并将结果返回给用户。它的核心组件包括Action类、配置文件(struts.xml)、拦截器等。Action类是业务逻辑的主要载体,通常会...
Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV
以下章节源码[03] [04] [05] [08] [10] [11] [12] [13] [14] [15] [16]
Struts拦截器是Java Web开发中的一个重要概念,尤其在基于Struts2框架的应用中,它扮演着处理...通过学习这个案例,开发者可以更好地理解和掌握Struts2框架中的拦截器机制,从而在实际项目中实现更高效、灵活的控制流。
Struts2.1权威指南——基于WebWork核心的MV.Struts2.1权威指南——基于WebWork核心的MV.Struts2.1权威指南——基于WebWork核心的MV.Struts2.1权威指南——基于WebWork核心的MV.
14.8 编写内容管理系统的业务逻辑类 14.8.1 注册接口Regedit.java 14.8.2 登录接口Login.java 14.8.3 设定内容类别的接口SetContentType.java 14.8.4 发布接口Edit.java 14.8.5 注册实现类RegeditImpl.java 14.8.6 ...
例如,在个人信息管理系统中,需要分析用户的需求,例如登录与注册、个人基本信息管理、用户通讯录管理、日程安排管理、文件管理等功能。 Struts2 框架的应用 Struts2 框架是基于 Java Web 的框架,提供了一个灵活...
Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV
Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV Struts2.1权威指南——基于WebWork核心的MV
【基于Struts的网上书店——系统需求分析】 随着互联网的普及和发展,电子商务系统已经成为现代商业活动的重要组成部分。网上书店作为电子商务的一种形式,以其便捷性、高效性和24小时不间断服务的特点,深受消费者...
【项目策划书——客户管理系统】 项目策划书是任何软件开发项目的基石,它为项目提供了全面的蓝图,明确了项目的目标、范围、实施策略以及预期成果。本篇以“客户管理系统”为例,将阐述该项目的主要组成部分、设计...