数据库设计的三大范式

本文以通俗易懂的方式探讨数据库设计的三大范式——第一范式、第二范式和第三范式。通过实例解释了每个范式的重要性和如何避免相关设计问题,包括插入、删除、更新异常和数据冗余。并提供了满足各范式的解决方案。
摘要由CSDN通过智能技术生成

数据库设计的三大范式对我们设计数据库具有很重要的指导意义,但目前大多数博客或者教材都讲解得晦涩难懂 ,让人摸不着头脑。本人参考了大量博客以及教材(特别是数据库系统设计这本书),力争以通俗易懂的方式对三大范式进行一下探讨。

现在要建立一个数据库来描述学生的一些情况,面临的对象有:学生(用学号SNO描述),系(用系名SDEPT描述),课程(用课程名CNAME来描述),课程编号(用CNO来表示),成绩(G) ,住处(用SLOC来描述,每一个系的学生住在一个地方)

第一范式:数据库表中的每一列都是不可分割的基本数据项,确保每一列的原子性

第一范式一般很好满足,但此种情况是相对的,应根据实际需求来具体判断。如“地址”这一属性,既可以把它当做一个字段,也可以把它分解为“国家”、“省份”、“城市”等多个字段

第二范式:非主属性完全依赖于主键(也可称为码)(不存在部分依赖

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值