内容
- 定义-第三范式(3NF)是什么意思?
- Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。
- 技术百科解释第三范式(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。通过确保没有数据重复,这可以带来可观的收益,从而使查询运行效率更高,并减少所需的存储量。