第一范式:
所有属性都是原子性的,即不可拆分。
这是关系型数据库最基本的要求。
正例:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/58fdac6fbe6570240073afb2880d3378.png)
反例:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7b18116d04ddba51c5e726dfa6280e15.png)
第二范式
满足第一范式的情况下,所有非主属性都完全依赖于候选关键字。
这是范式主要针对关键字多个的表。
授课表:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/96f1068f0a847cd23bafa3a7989ab3af.png)
这是一张关系表,前面 老师编号∪学生编号 作为主键,非主属性老师姓名只依赖于老师id,学生姓名只依赖于学生id,这样在填写记录时两个字段都可能会重复。
第三范式
满足第二范式前提下,不存在传递依赖。
宠物领养表:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6afd0a2ff13d1603025e2ed2fa21c797.png)
宠物主人id依赖于宠物id,主人姓名依赖于宠物主人,形成一个传递,造成数据冗余。