数据库的设计

数据库设计基本步骤:

  1. 需求分析
    通过向客户调研,了解客户的实际需求。
    总结分析客户所需要的管理系统,究竟需要处理哪些数据。
  2. 标识对象(实体)并设计对象的属性
    对象(或实体)将来映射为数据库中的数据表。
    对象的属性映射为数据表的字段。
    对象应该有唯一的标识(ID)。
  3. 确定对象之间的映射关系
    对象之间通过外键映射关系,减少数据冗余。
    对象之间的映射关系是通过对象唯一标识建立的。
    常见的对象映射关系有一对一和一对多或者多对多。

数据库设计合理性检验

检验数据库设计是否合理:

表结构设计的合理性是数据库设计的关键。
能够避免数据冗余。
能够解决数据库操作异常。

数据库三范式原则(保证各个数据表结构设计的合理性)

范式:是具有最小冗余的表结构

第一范式(1st NF):目标是确保每列的原子性(即不可再分的最小数据单元)
第二范式(2nd NF):要求每个表只描述一个实体的属性
如果一个关系满足1NF,并且除了主键以外的其它列,都和主键列相关,则满足第二方式(2NF)。
第三范式:要求实体各属性之间不能具有直接的依赖关系
满足条件:如果一个关系满足2NF,除了主键列之外,其它列之间都不具有直接的依赖关系,则满足第三范式。

应用第二、第三范式时,为了保证实体之间存在必要的关系,往往需要将独立的实体和当前实体通过外键关联。

数据库模型设计

规范化以后使用Viso软件创建数据库模型,再按照数据库模型实现数据库


三范式与数据库性能

  1. 第三范式的应用后数据库的变化
    使得实体被最大限度的分割成若干个小实体。
    实体增多,同时实体之间的关系变得复杂,数据分布在多个表中。
    数据的查询和统计将变得复杂,多表连接查询会适当降低查询性能。
  2. 为满足某种商业目标,数据库性能比规范化数据库更重要
    在给定的表中添加额外的字段,可大量减少需要从中搜素信息所需时间。
    比如,在高考成绩表中插入“成绩总分”列(该列其实冗余),以方便查询。
  3. 进行规范化的同时,还需要综合考虑数据库的性能
    三范式与数据库的性能要根据实际要求权衡。
    根据实际需要增加或减少冗余列。

你可能感兴趣的:(数据库的设计)