我需要一个2NF和3NF规范化的例子

时间:2015-03-01 05:22:47

标签: database-normalization 3nf

我理解规范化概念,尤其是第一范式(1NF),但2NF和3NF有点令人困惑。我已经阅读了有关它们的信息,但仍然没有完全了解它们。如何将下面的样本表转换为例如2NF和3NF?

     PROD_ID   PROD_NAME   prod_type   prod_price   

  1   生命值   笔记本电脑   200   
     2   阿迪达斯   服装   100   
     3   三星   电话   300   
     3   三星   电视   500      

1 个答案:

答案 0 :(得分:1)

以下是一些例子:

例1:2FN; 假设我们有这个注册表(numStudent,nameStudent,codeModule)表; 由于这种依赖性,这不在2NF中:   (numStudent,codeModule)是注册表的候选键,但我们有     numStudent-> nameStudent如此规范化我们只提供注册表(numStudent,codeModule)

示例2:3FN

假设我们有这个客户(numCustomer,city,country)喋喋不休;这不是3FN 因为:city-> country 所以要纠正这个问题,我们会做到这一点 R1(numCustomer,city)和R2(城市,国家)