第三范式(3NF)

作者: Randy Alexander
创建日期: 25 四月 2021
更新日期: 11 可能 2024
Anonim
62数据库设计规范 范式 3NF
视频: 62数据库设计规范 范式 3NF

内容

定义-第三范式(3NF)是什么意思?

第三范式(3NF)是规范数据库的第三步,它建立在第一和第二范式1NF和2NF的基础上。


3NF声明应删除不依赖于主键的引用数据中的所有列引用。另一种放置方式是,仅外键列应用于引用另一个表,而在父表中不应存在其他表。

Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

技术百科解释第三范式(3NF)

考虑一个银行的数据库,该数据库包含两个表:CUSTOMER_MASTER用于存储客户详细信息,ACCOUNT_MASTER用于存储有关银行帐户的详细信息,包括哪个客户持有哪个帐户。在这种情况下,需要有一种链接两个表的方法,以便将一个帐户绑定到拥有它的客户。做到这一点的方法是通过外键。这是ACCOUNT_MASTER表中的一列,指向或引用CUSTOMER_MASTER父表中的对应列(称为主键)。我们将此列称为CustID。

假设客户安德鲁·史密斯(Andrew Smith)在CUSTOMER_MASTER表中创建了一个CustID为20454的帐户。史密斯先生持有一个储蓄号为S-200802-005的储蓄帐户,其详细信息存储在ACCOUNT_MASTER表中。这意味着ACCOUNT_MASTER表将具有称为CustID的列,该列不是原始数据。相反,它还具有值20454,该值仅引用CUSTOMER_MASTER表中的相同CustID。

现在,3NF指示在ACCOUNT_MASTER表中,我们持有的有关客户的唯一信息应该是CustID(20454)作为外键,并且它引用并标识在CUSTOMER_MASTER表中拥有相同CustID的客户(Andrew Smith )。 ACCOUNT_MASTER表或其他任何表均不应存储有关客户的其他数据(例如姓名,出生日期,性别等),因为有关该客户的所有这些数据已存储在CUSTOMER_MASTER中。这样,存储在CUSTOMER_MASTER表外部的唯一客户数据就是CustID。通过确保没有数据重复,这可以带来可观的收益,从而使查询运行效率更高,并减少所需的存储量。