视频字幕
欢迎学习数据库第三范式。第三范式,简称3NF,是数据库规范化过程中的重要阶段。它的主要目标是减少数据冗余并提高数据完整性。要达到第三范式,表必须首先满足第二范式,并且要消除所有的传递依赖关系。
传递依赖是理解第三范式的关键概念。当存在属性A决定属性B,属性B又决定属性C的情况时,我们说属性C对属性A存在传递依赖。这里的关键是B不能是A的子集,通常A是主键,而B和C都是非主属性。简单来说,就是非主属性通过另一个非主属性间接依赖于主键。
让我们通过一个实际案例来理解传递依赖。假设有一个订单详情表,主键是订单号和产品号的组合。在这个表中,订单号决定客户号和订单日期,而客户号又决定客户姓名和客户城市。这样,客户姓名和客户城市就通过客户号传递依赖于主键,违反了第三范式的要求。
为了达到第三范式,我们需要对原表进行分解。将订单详情表分解为三个独立的表:订单表存储订单基本信息,客户表存储客户信息,订单商品表存储订单中的商品详情。这样的分解消除了传递依赖,减少了数据冗余,避免了更新异常,使每个表都符合第三范式的要求。
总结一下第三范式的要点。第三范式要求消除所有传递依赖关系,即非主属性不能通过另一个非主属性依赖于主键。通过合理的表分解,我们可以有效达到第三范式的要求,从而减少数据冗余,提高数据完整性,为构建高效的数据库系统奠定基础。