zoukankan      html  css  js  c++  java
  • 三大范式

    范式,数据设计的规范。优化数据存储方式。

    第一范式:

    保证数据字段的原子性。即每一个字段不可再分割。

    比如:一张用户表,字段:姓名,性别,年龄,地址。 其中的地址就不满足原子性。地址一般会分割为省,市,区。便于业务上对地址条件的筛选和功能扩展。

    第二范式:

    数据记录的惟一性,非关键字段完全依赖,不部分依赖。(满足第一范式前提下)

    比如:一张房间订单表,字段:订单号,姓名,身份证,房间号,手机号。 当一个人订多个房间时,数据记录信息,得身份证号,手机号就是重复的。

    可以改为 订单号(主键),姓名,房间号 和  姓名(主键),身份证,手机号 两种表。

    第三范式:

    表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)。(满足第一,第二范式前提下)

    比如 订单号(主键),userid,姓名,房间号 和  userid(主键),姓名,身份证,手机号 两种表

    虽然已经拆表了,但是第一张表的姓名关联userid,userid在关联订单号。关联表只存主键字段。

    范式的优缺点

    • 优点
    • 结构合理
    • 冗余较小
    • 尽量避免插入删除修改异常
    • 缺点
    • 性能降低
    • 多表查询比单表查询速度慢
  • 相关阅读:
    【SpringBoot系列】邮件发送
    【问题】InteliJ IDEA生成可执行jar运行提示没有主清单属性
    【设计模式】单例设计模式
    【C3P0】C3P0
    【JDBC】JDBC学习(一)
    react hook 防抖
    主线程 宏任务 微任务
    vue 2.0 渲染dom过程
    源码阅读笔记,杂乱
    vue 3.0 响应式原理
  • 原文地址:https://www.cnblogs.com/anyihen/p/12327283.html
Copyright © 2011-2022 走看看