数据库设计的一些思想

1.项目设计需求以及思想

1.需求文档【功能列表】(需求白皮书)+原型。(业务需求理解能力)

 

2. 后台开发,设计数据库(创建数据库结构)(系统设计能力)

 

3. 后台开发,公共代码编写(系统设计能力)

 

4. 功能编码 (编码能力)
 
2.数据库概述
1.什么是数据库设计
  数据库设计就是根据我们的需求文档将其设计成数据库的存储结构的一个过程
2.数据库设计的实现
  一般我们都是根据其需求画出数据的ER图也就是数据关系图,然后再通过ER图生成数据库的脚本代码
  ER图可以使我们更加直观的展示表与表之间的关系
 
3.数据库设计的步骤
数据库设计的步骤是根据需求的描述:
第一步:标识表
第二步:标识表的字段
第三步:标识表与表之间的关系
 
1.标识表,就是根据需求将表创建,分为实体表和业务表两种
实体表 :一般就是如商品,用户之类的表,在项目中会有一个字段一一对应的实体类
业务表 :一般就是作为中间表的作用
 
2.标识字段,基本就是要符合数据库设计的三大范式

1.第一范式:确保标识的字段的原子性,字段的概念分得不能再分。如:姓名可以分为姓和名。

2.第二范式:确保标识的字段与表有依赖的关系,在用户表定义一个商品价格

3.第三方范式:确保标识的字段与表有直接依赖的关系,用户表,用户类型的名称
 
  使用三大范式的原则标识的数据库字段,保证了字段在数据库表中的唯一性.从而避免了数据库的数据的冗余.
  数据的冗余 : 会出现数据库操作的数据异常

  3.表与表之间的关系

  表与表之间的关系根据需求来划分,包括一对一,一对多,多对一,多对多

  1.一对一的表设计特征:外键表的主键就是关联表的外键!外键表的主键和外键是重叠的

  2.两个表的一对多和多对一的关系:主键表为一的一方,外键表为多的一方,具体划分是根据需求来的

  3.表的多对多的关系,在关系型数据库中,表是不支持一个字段存储一个集合的值的。

   所以关系型数据库本身表之间是没有多对多的关系的,多对多的关系是业务逻辑的要求。

   数据库设计遇到表之间多对多的关系会使用是一个中间表来记录两个表多对多的关系.4
 
   注意:如果遇到多对多,必须拆分一个中间表

 

posted @ 2019-04-26 19:25  TheirVanity  阅读(1395)  评论(0编辑  收藏  举报