三大范式的实际作用

发布时间 2023-11-18 10:46:51作者: 露予欢

第一范式(1NF):每一列都是不可分割的原子数据项

好处:减少了数据冗余 

 

存在可再分项,一条订单存储了多个商品

 

班级

日期

学号

姓名

图书编码

图书名

单价

数量

C1

1-22

1

程少商

1001

星汉灿烂

45

500

1002

月升沧海

32

200

C2

4-30

2

田枣

1003

胡同

38

178

1004

摔跤记

26

54

C3

8-2

3

柳依依

1005

萌妻食神

60

802

1004

柔弱少女

32

100

图书编码

图书名

单价

数量

1001

星汉灿烂

45

500

1002

月升沧海

32

200

1003

胡同

38

178

1004

摔跤记

26

54

1005

萌妻食神

60

802

1004

柔弱少女

32

100

       

应拆分成     

                      

班级

日期

学号

姓名

C1

1-22

1

程少商

 C2

4-30

2

田枣

 C3

8-2

3

柳依依

 

 

第二范式2NF:表中只能存储一种数据,确保的每一列所有字段都必须和主键有关

好处:维护修改展示

 

                 出现冗余

 

图书编码

图书名

单价

数量

1001

星汉灿烂

45

500

1002

月升沧海

32

200

1003

胡同

38

178

1004

摔跤记

26

54

1005

萌妻食神

60

802

1004

柔弱少女

32

100

 

 

应拆分成

 

班级

图书编码

数量

 C1

1001

500

  C2

1002

200

  C2

1002

200

C3

1003

178

图书编码

图书名

单价

1001

星汉灿烂

45

1002

月升沧海

32

1003

胡同

38

1004

摔跤记

26

1005

萌妻食神

60

1004

柔弱少女

32

 

第三范式(3NF):确保表中的每列都和主键直接相关,而不是间接相关

好处:修改了一个字段不会影响其他字段

 

没有主键直接相关

班级

日期

学号

姓名

C1

1-22

1

程少商

C2

4-20

2

田枣

C3 8-2 3

柳依依


 

应拆分成

 

班级

日期

学号

 C1

1-22

1

C2

4-30

2

C3

8-2

3

学号 姓名
1 程少商
2 田枣
3 柳依依