数据库设计简记

优良的数据库设计

  • 减少数据冗余
  • 避免数据维护异常
  • 节约存储空间
  • 高效的访问

数据库设计步骤

1. 需求分析 2. 逻辑设计 3. 物理设计 4. 维护优化

需求分析

数据是什么?有哪些属性?数据和属性各自的特点有哪些?

  1. 系统中所要存储的数据
  2. 数据的存储特点
  3. 数据的生命周期

要搞清楚的一些问题

  1. 实体及实体间的关系(1对1,1对多,多对多)
  2. 实体所包含的属性有什么
  3. 哪些属性或属性的组合可以唯一标识一个实体

逻辑设计

使用ER图对数据库进行逻辑建模

  1. 将需求转化为数据库的逻辑模型
  2. 通过ER图的形式对逻辑模型进行展示
  3. 同所选用的具体的DBMS系统无关

关系 一个关系对应通常说的一张表
元祖 表中的一行即为一个元祖
属性 表中的一列即为一个属性
候选码 表中的某个属性组,它可以唯一确定一个元祖
主码 一个关系有多个候选码,选定其中一个为主码
属性的取值范围
分量 元祖中的一个属性值

第一第二第三范式

1NF. 第一范式 属性不可再分割
2NF. 第二范式 满足1NF,且消除非主属性对码的部分函数依赖
3NF. 第三范式 满足2NF,且消除非主属性对码的传递函数依赖 【即属性不依赖于其它非主属性】
BCNF. BC范式 满足3NF,且消除主属性对于码的部分与传递函数依赖

另解
1NF:字段是最小的的单元不可再分
2NF:满足1NF,表中的字段必须完全依赖于全部主键而非部分主键 (一般我们都会做到)
3NF:满足2NF,非主键外的所有字段必须互不依赖
BCNF:满足3NF,消除表中的多值依赖

物理设计

根据数据库自身的特点把逻辑设计转换为物理设计
1.选择合适的数据库管理系统
2.定义数据库、表及字段的命名规范
3.根据所选的DBMS系统选择合适的字段类型


image.png

维护优化

新需求建表,索引优化,大表拆分

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为企业设计数据库时,主要目标是正确的表示数据、数据之间的联系以及与企业业务相关的数据约束。为了实现这个目标,我们可...
    板蓝根plank阅读 2,434评论 0 2
  • 文/Bruce.Liu1 1.建模简介 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(埃...
    BruceLiu1阅读 5,698评论 0 9
  • 数据库开发规范1. 数据库命名规范前缀对象前缀命名: 前缀命名一般用小写表的前缀: 业务模块组名前缀存储过程前缀:...
    PowerYangSoft阅读 2,638评论 0 8
  • 有时候爱情像一颗沉睡的种子。如果爱他,请用关怀去松土,用温柔去灌溉,用阳光去施肥。人心都是肉长的,总有一天,在某个...
    四月小小苏阅读 181评论 0 0
  • 我老了。 这不是句虚伪的话,不是句矫情的话。 我知道我老了。这并不是身体的衰老。 我是知道的,当我面对着琳琅满目的...
    Bekey阅读 382评论 0 0