数据库设计
1. 说在前面
项目开发的流程包括哪些环节
1.需求调研【需求调研报告】--公司决策层
(1)根据市场公司需求分析公司是否需要开发软件来辅助日常工作
(2) 公司高层市场考察,市场分析,决定做什么软件。
(3) 不懂技术的人想象软件应该有什么功能,长什么样子
2. 需求文档【功能列表】+原型 --- 公司产品经理(产品专员)。
(1)根据领导的需求设计出产品的原型(图纸)
① 有具体的功能,功能之间可以跳转(静态跳转)
(2) 编写需求文档
① 对项目的详细介绍,每个功能能够完成具体哪些点,描述一清二楚
3.美工通过原型设计UI。--> HTML网页
(1) 设计师,美工
(2) 目前纯粹的后台管理系统有成熟模板或者框架可选(BootStrap)
4. 后台开发,设计数据库(创建数据库结构)---技术经理+(若干开发人员3-5)
(1)负责项目的架构技术选型等等,技术的全局把控-技术经理
2) 数据的设计
①项目经理根据需求文档原型设计-居多
②每个开发者根据自己的模块自己设计(分开设计,最后汇总)
(3) 项目模块代码的编写
(4) 后台开发,公共代码编写
(5)功能编码
5. 测试
(1) 黑盒测试-
① 程序内部不可见-以特定的程序或者工具来测试软件
(2)白盒测试
① 单元测试,程序软件直接通过代码测试
6.上线运行
7. 后期的不断开发维护升级
8. 项目淘汰
数据库设计是什么
所谓的数据库设计就是根据需求文档的描述将需求转成数据库的存储结构的过程.
在数据库设计的流程上,我们通常根据需求,画出数据的ER图.然后在通过ER图生成数据库的建库脚本. (Entity Relational)
ER图,所谓的ER图就是数据库关系图
为什么我们使用ER图来实现数据库设计的设计呢?
1.可见即可得.使用ER图可以通过图形的方式展示表与表直接的关系
2.可以根据设置的数据库,方便生成不同的数据库的SQL建库脚本
3.可以快速的生成数据库文档
小结:所谓的数据库设计,就是通过ER图,根据需求给数据库建表表结构!!!
1.2. 为什么需要数据库设计
软件开发都是分别从页面设计和数据库设计开始的.
创建项目的数据库是项目开发必须的阶段.
2. 数据库设计基础理论(重点)
2.1. 数据库设计的步骤
数据库设计的步骤是根据需求的描述:
第一步:标识表
第二步:标识表的字段
第三步:标识表与表之间的关系
2.2.标识表注意事项
所谓的标识表,就是根据需求将表创建!!
我们在标识表的时候,可以将表分为实体表和业务表.
所谓的实体表:就是记录需求中描述为一个对象(名词)的表.如:用户,商品,订单,管理员,角色等
所谓的业务表:就是记录在需求中描述为一个业务行为(动词)的表:收藏,关注,等 (大部分是中间表)
虽然没有强制的规定先标识实体表还是业务表,但我们通常在标识表时会先标识实体表,再标识业务表.
因为业务表一般是用于标识实体表与另一个实体的多对多的关系的.
2.3. 标识字段注意事项
标识字段,在数据库设计中,尽量符合数据库设计的三大范式原则.
--三大范式,就是用于数据库设计,标识字段的时候使用的!!!。
数据库表设计三大范式最终解决的是数据冗余问题
三大范式
第一范式(确保每列保持原子性)
第二范式(确保表中的每列都和主键相关)
第三范式(确保每列都和主键列直接相关,而不是间接相关-在2NF基础上消除传递依赖)