关系模式规范化(上)

本文介绍了数据库规范化的基本概念和过程,包括函数依赖、完全函数依赖、部分函数依赖等,并详细讲解了第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。通过实例分析了不规范化的数据库可能导致的问题,如数据冗余、修改复杂和插入删除异常,以及如何通过规范化解决这些问题。最后提到了3NF的局限性和BCNF的引入。
摘要由CSDN通过智能技术生成

最近在学习数据库过程中,发现几本教材大都是按照数据库系统概论->关系数据库基础->SQL语言->关系数据库理论(大都是介绍规范化)介绍,第二部分的关系数据库基础主要谈到了基本算术运算关系和域运算,比如交并差,投影,选择,除法,元组关系演算等等,没有介绍如何合理设计一个数据库,可是如果作为一个数据库designer,必须了解如何设计与简化数据库,这都是数据模式规范化的内容。

如果不考虑数据库规范化,那么我们经常遇到的各种关系二维表,大都是易于理解与查阅,但是效率不高,主要体现在:

1.数据冗余度高,比如一个关系R(学号,学生姓名,课程,教室)中,假若一个学生选修N个课程,那么该学生的学号、姓名就要被重复记录N次,显然冗余度过大,浪费存储空间(但是便于我们直观的理解)。

2.数据修改复杂,再如上例中,假如需要修改学号,一个学生又修了N门课,那么需要修改N次姓名,效率何在?准确性谁能保证?

3.数据插入,删除异常,比如上例中,我暂时不知道某学生的学号,但是其他信息都知道,

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值