关系型数据库设计规范

本文详细介绍了关系型数据库设计中的第一范式1NF、第二范式2NF和第三范式3NF,强调了原子性、部分依赖和传递依赖的概念,以及如何解决这些问题。同时提到了逆规范化,它是为了提升查询效率而牺牲部分数据冗余的做法。在数据库设计中,理解和应用这些范式规范至关重要。
摘要由CSDN通过智能技术生成

一、 关系型数据库设计规范

概念

范式:Normal Format,符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度

  • 范式是离散数学里的概念
  • 范式目标是在满足组织和存储的前提下使数据结构冗余最小化
  • 范式级别越高,表的级别就越标准
  • 目前数据库应用到的范式有以下几层
    • 第一范式: 1NF
    • 第二范式: 2NF
    • 第三范式:3NF
    • 逆范式化

1、第一范式1NF

原子性,字段使用时不需要再拆分

概念

第一范式:1NF,数据字段设计时必须满足原子性

  • 1NF要求字段数据是不需要拆分就可以直接应用
  • 如果数据使用的时候需要进行拆分那么就违背了1NF

步骤

1、设计的字段是否在使用的时候还需要再拆分?
2、将数据拆分到最小单位(使用),然后设计成字段
3、满足1NF

示例

1、设计一张学生选修课成绩表

学生 性别 课程 教室 成绩 学习时间
张三 PHP 101 100 2月1日,2月28日
李四 Java 102 102 3月1日,3月31日
张三 Java 103 103 3月1日,3月31日

当前表的学习时间再使用的时候肯定是基于开始时间和结束时间的,而这种设计就会存在使用时的数据拆分,不满足原子性也就是1NF

2、满足1NF的设计:字段颗粒度应用层最小(不需要拆分)

<
学生 性别 课程 教室 成绩 开始时间 结束时间
张三 PHP 101 100 2月1日 2月28日
李四 Java 102 102 3月1日 3月31日
张三 Java 103 103 3月1日 3月31日
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值