【springmvc+mybatis项目实战】杰信商贸-3.需求分析与数据库建模

开发步骤
需求:生产厂家信息维护基础表FACTORY_C

1.业务需求:
a)《需求说明书》
     1)描述业务功能
     生产厂家模块
     功能:为在购销合同模块中的货物信息和附件信息它们都有所属的生产厂家。

b)《概要设计》
    1)细化描述业务功能
    2)以表格形式数据库表(表+字段+描述)

c)生产厂家信息维护基础表FACTORY_C
功能:为在购销合同模块中的货物信息和附件信息它们都有所属的生产厂家。
序号 中文名称        英文名称 类型(长度)  备注
1. 编号FACTORY_ID     VARCHAR2(40)       UUID
2. 全称FULL_NAME      VARCHAR2(200)        根据客户所说的最大长度,比较模糊的长度,在他的基础上,翻2到4倍
3. 简称FACTORY_NAME    VARCHAR2(50)
4. 联系人CONTACTS VARCHAR2(30)20/30
5. 电话PHONE  VARCHAR2(20)
6. 手机MOBILE  VARCHAR2(20)
7. 传真FAX     VARCHAR2(20)
8. 备注CNOTE  VARCHAR2(2000)   当感觉它可能和关键字相冲突时,就加一个C前缀
9. 验货员INSPECTOR   VARCHAR2(30)
10. 排序号ORDER_NO       INT
11. 创建人CREATE_BY VARCHAR2(40)    当前登录人的ID
12. 创建部门CREATE_DEPT    VARCHAR2(40)        当前登录人所在部门
13. 创建时间CREATE_TIME   TIMESTAMP

d) 主键策略
1) 自增类型INT/LONG 速度快
2) UUID字符串 速度慢 (推荐使用UUID,分布式数据合并的时候主键就不会冲突了)

2.PD数据库建模
首先我们队数据库进行建模,我们还是使用的PowerDesigner。
我们创建一个New Model,选择Model types,选择Physical Data Model,然后选择DBMS(也就是我们建模之后生成的建表语句是针对哪个数据库的),我们这里选择ORACLE Version 10g。

之后就是创建我们的表的详细信息

创建好之后的效果:

下面我们获取PowerDesigner给我们的建表语句,开始在数据库中建表:

获取方式如图

利用获得的sql建表语句进行数据库建表

在PL/SQL Developer中点击新建,点击SQL窗口,将刚刚的SQL语句复制进去,点击黄色齿轮(运行SQL语句),即可建表成功!

原文地址:https://www.cnblogs.com/yxllovetm/p/8783143.html

时间: 2024-11-25 14:52:06

【springmvc+mybatis项目实战】杰信商贸-3.需求分析与数据库建模的相关文章

【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾

1.重点知识回顾 Maven 1)覆盖仓库文件,实际企业开发,公司会架一个测试服务器,在测试服务器中架私服.我们开发人员的程序,都连接私服.当本地没有项目中要使用的jar,Myeclipse maven插件会自动到私服去找jar,如果没找到去中央仓库maven寻找,找到后下载.activiti-engine-5.13.jar.lastUpdated 当访问远程仓库时,由于网络不稳定,有可能中断.当程序再次连接,它会自动修正.Pom文件报错,jar错误,去仓库目录找jar,jar存在,点击jar开

【springmvc+mybatis项目实战】杰信商贸-2.数据库配置

首先我们来了解项目的架构 我们分别使用了MySql和Oracle数据库,即是异构数据库.我们做到一个平台支持多个数据库.数据库建模我们使用Sybase公司的PowerDesigner(以后简称PD),用它进行数据库建模有一个很好的功能,就是可以自动生成建表语句. 业内很少使用hibernate的自动建表,也是使用PD给数据库建模之后再去创建数据库,原因是,我们一般开发项目都是需求调研,概要设计,详细设计,开发,在这四个阶段我们的数据库初步建模是在概要设计的时候进行的,然后在详细设计和开发阶段一直

【springmvc+mybatis项目实战】杰信商贸-8.生产厂家修改

上一次我们做了生产厂家的新增,下面我们来做一下生产厂家的修改 回顾一下我们的FactoryMapper.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

【springmvc+mybatis项目实战】杰信商贸-30.出口报运增删查修mapper+Dao+Service+Controller

我们接下来做我们项目的下一个环节,就是出口报运的业务,首先我们来看看两个设计方式 a)大型项目设计方式 传统设计方式,基于对象关联,数据量小时,系统无碍:当数据随着系统的使用,线性增长,系统变的越来越慢,到达一定数据量时,性能急剧下降. b)新的设计方式:打断设计 在表中增加一个字段,这个字段用来存储关联表的主键集合:在报运业务中要查询合同下的货物信息.直接通过这个关联字段,利用in子查询直接去查询货物表,这样查询效率提高很多.而且数据量越大,查询效率越高.这种方式,业务关联层级越多,这种设计方

【springmvc+mybatis项目实战】杰信商贸-7.生产厂家新增

我们来接着我们的项目写 我们要实现新的功能,就是生产厂家的新增 先来回顾一下系统架构图 我们数据库这边已经建好表了,接下来要做的就是mapper映射 编辑FactoryMapper.xml文件,加入"添加"的逻辑配置代码块 <!-- 新增 oracle jbdc驱动当这个值为null时,必须告诉它当前字段 默认值的类型jdbcType=VARCHAR(MyBatis定义),Mysql不用写--> <insert id="insert" parame

【springmvc+mybatis项目实战】杰信商贸-23.重点知识回顾

1.重点知识回顾 购销合同查看,采用类似hibernate方式,都以对象关联方式. (1)PO为了利用MyBatis性能,在创建时,没有采用关联对象关联,而是将对象关键字段,也就是外键,利用这个普通属性,来记录值,表数据间关联关系存在,但对象关联关系不存在.代码也就变得简单.在货物新增时,只要从主对象中携带过来,主表ID即可. (2)VO为了方便对象关联时取数据.在列表循环货物信息时,要去查询当前货物下的附件时,如果采用上面的方式,只能再次查询.但是我们以对象关联方式,可以直接获取到当前货物下的

【springmvc+mybatis项目实战】杰信商贸-22.合同货物附件生产厂家mapper关联

我们上一次完成了合同的总金额的计算,我们这次继续完成一个新的更复杂,但是更有学习意义的业务---购销合同查看 要求:查看合同的主信息,查看合同下的货物信息,还要查看附件信息,货物和附件的信息要显示出它们的关联关系. (注:一个合同下有多个货物,每个货物又有每个货物自己的附件) 利用面对对象的关联关系来实现上面的需求非常简单. 我们之前都是使用的外键进行的关联,这里我们将外键改为实实在在的一个对象,到时候通过对象属性来取下一级的数据,假设之前我们表中有一个货物的外键private String c

【springmvc+mybatis项目实战】杰信商贸-20.合同货物数和附件数

我们上一篇完成了购销合同.货物以及附件的级联删除,这次我们需要做的业务就是----要求直接显示合同下的货物数和附件数 上一次我们遗留的问题: 我们每次删除完都要去下一级或者数据库看看我们删除了没有,我们可以直接在合同列表中显示每个合同下的货物以及货物的附件有多少件,这样就避免了反复去下一级查看列表的繁琐操作. 那么下面我们使用SQL来编写获取合同下的货物数: select count(*) from contract_product_c where contract_id='928eb2ae-2

【springmvc+mybatis项目实战】杰信商贸-34.业务出口报运WebService1

我们要为出口报运做一个WebService,来提供跨系统的信息查询功能. 我们使用的技术是 -------Apache CXF WebService 作用:两个异构系统,需要共享数据. 需求:我们要给客户提供合同追踪.在出口报运中增加一个WebService,用户可以通过它的系统来访问这个服务,展现出口报运单,主要可以浏览用户的订单状态(走到哪个流程).查看出口报运单 开发步骤:将现有的Service改造成WebService 1)将CXF整合到项目中,加入jar包.依赖jar.我们系统才 CX