我理解规范化概念,尤其是第一范式(1NF),但2NF和3NF有点令人困惑。我已经阅读了有关它们的信息,但仍然没有完全了解它们。如何将下面的样本表转换为例如2NF和3NF?
PROD_ID PROD_NAME prod_type prod_price
1
生命值
笔记本电脑
200
2
阿迪达斯
服装
100
3
三星
电话
300
3
三星
电视
500
答案 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(城市,国家)