三大范式

来源:互联网 发布:什么叫算法工程师 编辑:程序博客网 时间:2024/05/16 12:04

                   (1)1NF

                              1. 数据库表的每个字段都符合原子性,不能分割(简单的说就是:每个字段都只能有一个值

                              2. 说明:关系型数据库设计出来的表都必然满足1NF

                              3.例子

                                

                                 phone字段中含有2个值,所以不满足1NF


                   (2)2NF

                              1. 前提:数据库表满足1NF

                              2. 特点:表中不能有两条完全相同的数据

                              3.解决方法:通常设置一个主键


                   (3)3NF

                              1. 前提:数据库表满足2NF

                              2. 特点:各个表之间不能有冗余

                              3.解决方法:通常设置一个外键

                              4.例子

                                    学生表:(学号,姓名, 年龄,性别,系别,系办地址、系办电话)

                        系别:(系别, 系办地址、系办电话)

                   因为系别、系办地址、系办电话已经在系别表中存在了,在学生表中还存在这些字段,就存在了冗余,所以不满足3NF。可以使用外键,将系别表的主键最为外键设置在学生表中即可。

0 0
原创粉丝点击