MySQL规范数据库设计

数据库设计在软件开发中至关重要。糟糕的设计可能导致数据冗余、插入删除异常及性能下降,而良好的设计则能节省空间、确保数据完整并简化开发。设计过程包括需求分析、E-R图概要设计及遵循第一、第二、第三范式。在性能和规范性之间需找到平衡,如适当冗余以减少多表查询,或创建计算列优化查询。商业需求下,数据库性能尤为关键,应在保证基本规范性的前提下调整设计策略。
摘要由CSDN通过智能技术生成
  • 当数据库比较复杂的时候,需要进行设计

  • 糟糕的数据库设计:

    • 数据冗余,浪费空间
    • 数据库插入和删除都会比较麻烦,还有可能出现异常【屏蔽使用物理外键】
    • 程序的性能差
  • 良好的数据库设计:

    • 节省内存空间
    • 保证数据库的完整性
    • 方便开发系统
  • 软件发开中,关于数据库的设计

    • 分析需求:分析业务和需求处理的数据库的需求
    • 概要设计:设计关系图E-R图
  • 设计数据库的步骤:

    • 收集信息,分析需求
    • 标识实体类(把需求落实到每个字段)
    • 标识实体之间的关系
  • 三大范式(规范数据库的设计)

    • 第一范式(1NF):保证每一列不可再分
    • 第二范式(2NF):满足第一范式的前提下,每张表只描述一件事情
    • 第三范式(3NF):满足第二范式的前提下,确保数据表中的每一列数据都和主键直接相关,而不是间接相关
  • 规范性和性能的问题

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

    • 考虑商业化的需求和目标,数据库的性能更加重要
    • 在规范性能的问题的同时,需要适当的考虑一下规范性
    • 故意给某些表增加一些冗余的字段,从多表查询变成单表查询
    • 故意增加一些计算列,从大数据量降低为小数据量的查询(索引)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Remote_Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值