规范数据库设计

为什么需要设计

  当数据库比较复杂的时候,我们就需要设计了

  糟糕的数据库设计:

    ··数据冗余,浪费空间 

    ··数据库插入和删除都会麻烦,异常[屏蔽使用物理外键]

    ··程序的性能差

  良好的数据库设计:

    ··节省内存空间

    ··保证数据的完整性

    ··方便开发系统

 

软件开发中关于数据库的设计

1.分析需求:分析业务和需要处理的数据库的需求

2.概要设计:设计关系图E-R图

 

设计数据库的步骤(个人博客):
  1.收集信息,分析需求

    ··用户表(用户登录注销,用户的个人信息,写博客,创建分类)

    ··分类表(文章分类,谁创建的)

    ··文章表(文章的信息)

    ··评论表

    ··友链表(友链信息)  

  2.标识实体(把需求落实到每个字段)

    博客:user---blog

    创建分类:user---category

    关注:user---user

    友链:links

    评论:user---comment

 

三大范式

为什么需要数据规范化?

  信息会重复 

  更新异常

  插入异常

    无法正常显示信息

  删除异常

    丢失有效信息

第一范式(1NF)

  要求数据库表的每一列都是不可分割的原子数据项

  

第二范式(2NF)

  在第一范式的基础上,需要确保数据库表中的每一列都和主键相关,而不能只和主键的某一部分相关

  

第三范式(3NF)

  在第二范式的基础上,需要确保数据库表中的每一列都和主键直接相关,而不能简介相关

  

 

 

规范性和性能问题:

  关联查询的表不得超过三张表

  考虑商业化的需求和目标 ,数据库性能更加重要

  在规范性能问题的时候,需要适当考虑一下规范性

  故意给某些表增加一些荣誉字段(从多表查询到单表查询)

  故意增加一些计算列(从大数据量降低为小数据量的查询)

posted on 2022-12-19 14:31  键盘敲烂的朱  阅读(18)  评论(0编辑  收藏  举报