实际开发中,数据库设计可行的两种过程
文前小叙
与标题无关,可略过。做完毕业实习的项目以后,思考过很多。个人觉得,软件过程和把控不当是,目前对个人而言,最影响项目成果的因素。这一点,让我想起了软件工程中关于软件能力成熟度模型(CMM)的描述:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。总感觉,自己目前的项目管理水平处于第一级到第二级之间,贴近第二级,但仍未完全达到第二级。
这,需要从三方面来讲,其一,从最重要的可重复过程级角度:软件项目的研发过程粗略有,但细化到每一个小阶段的操作过程便不一定有;其二,从可重复的文档标准级角度,大学三年期间,虽然有意识地在积累许多做项目过程中的经验和标准化文档,但还没有完全达到标准化每一项文档;其三,项目进度上,这是在毕业实习过程中出现的最严重的问题。
想要有提高有成长,不仅是多做,还有多反思,嗯。 (0.0)
文因
如果都看到这里了,显而易见啦:
此文,是关于上述小叙中所涉及的可重复过程级中的一个重要环节:数据库设计过程
简要声明:越来越多国内技术社区抄袭成风,具体哪些就不举例了。只想告知一句,文有版权,如需转载,请主动联系C博客园博主(http://cnblogs.com/johnnyzen/),尊重劳动成果是一种美德,何况是他人主动分享出来的。
内容
注:对于数据库基本概念不详的童鞋,可转见:[数据库目录]
两种数据库设计过程:(仅供参考)
数据库>逆向ORM>项目:【推荐】
0.需求记录。记录客户或者会议中,数据库相关需求
1.概念设计。使用Visio等工具作E-R顶层的概念设计
可先不考虑字段,重点考虑:实体 + 关系
2.逻辑设计+物理设计。使用Navicat等工具作逻辑设计(思维过程)+物理设计
>构建模型
>导出SQL文件
>部分修正/排版 SQL文件
>数据库导入+执行SQL文件
>记录数据库配置信息
数据库名/用户/密码等
3.逆向ORM。项目逆向ORM(从数据库表模型M导出到R项目为实体O)
>IDEA自带的hibernate-persistence等工具:映射为实体
>修正ORM自动化生成的实体(多为注解)
4.撰写文档。确认数据库设计[可选项]
>撰写数据库设计文档
[Database-Design-Template.xlsx]
项目>(ORM)>数据库:
0.需求记录。记录客户或者会议中,数据库相关需求
1.概念设计。使用Visio等工具作E-R顶层的概念设计
可先不考虑字段,重点考虑:实体 + 实体字段 + 关系
2.物理设计。项目中创建并配置实体类
>创建实体类
>配置实体类的表和字段信息
3.项目ORM到数据库表中。
>hibernate-persistence等工具:ORM映射
4.撰写文档。确认数据库设计[可选项]
>撰写数据库设计文档
[Database-Design-Template.xlsx]
参考文档
暂无
推荐文献
[1] "知乎:中国和印度在 IT 领域谁更强?" - 李建秋 - [到印度取经 - 雷军 - 关于软件项目能力成熟度(CMM)在中印两国的差异]
新工具推荐
[1] Visual Paradigm - Online 让线上绘图变得更快,更好 [苓洪兄推荐 2019-04-02]
相关文章
- Java电商系统数据库设计及开发规范
- 数据库开发实战教程:使用Python连接Kerberos的Presto
- 数据库索引以及优化
- 【数据库开发】Redis数据库服务器启动配置
- 【数据库开发】windows下hiredis的编译(主要是包括一些异步编程的错误)
- 【数据库开发】Redis消息通知
- 【数据库开发】C++测试redis中的publish/subscribe
- 【VS开发】【数据库开发】libevent简单入门和介绍
- 【数据库开发】windows环境下通过c++使用redis
- 【数据库开发】学习Redis从这里开始
- 【数据库开发】is not allowed to connect to this MySQL server解决办法
- 【数据库开发】在Windows上和Linux上配置MySQL的过程
- 如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库
- oracle数据库中varchar2陷阱
- 权限开发 spring security 3.0.7 序列1 数据库脚本
- 安卓开发,adb shell 调试sqlite3数据库
- 时间序列数据库的秘密(1)—— 介绍
- java实验10-java数据库编程
- 修改phpMYadmin 链接其他数据库地址的方法
- FireDAC 数据库开发笔记( 目录)
- sql2008拒绝了对对象 (数据库 ,架构'dbo')的SELECT权限
- Entity Developer数据库应用程序的开发
- 数据库分页查询
- 【JDBC】JDBC API 详解 ① ( DriverManager 驱动管理类 | 注册驱动 | 建立数据库连接 )
- 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!
- ApsaraDB云数据库助力优驾产品升级和架构变革
- web开发性能优化---数据库篇
- 严重推荐一个免费开源数据库建模工具软件 --OpenSystemArchitect 4.0
- qt for Android数据库连接sqlite3