5.27总结
今天学习了数据库里面范式的知识:
第一范式(1NF):如果一个关系模式的所有属性都是不可分的基本数据项,则该关系模式满足第一范式。第一范式规定了原子性。
第二范式(2NF):若关系模式满足第一范式,并且每一个非主属性都完全函数依赖于关系模式的码,则该关系模式满足第二范式。第二范式表示每个表必须有且仅有一个主键,其他属性完全依赖于主键。
第三范式(3NF):关系模式中的每一个非主属性既不部分函数依赖于候选码,也不传递函数依赖于候选码。
BC范式(BCNF):设关系模式满足第一范式,关系模式中的每个决定因素都包含码,该关系模式满足BC范式。三个性质如下:1)所有非主属性都完全函数依赖于每个候选码 2)所有主属性都完全函数依赖于每个不包含它的候选码 3)没有任何属性完全函数依赖于非码的任何一组属性。
第四范式(4NF):第四范式限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖。当一个表中非主属性相互独立时,这些非主属性不应该有多值,否则不是第四范式。
第五范式(5NF):满足第四范式的基础上,表可以分解为比较小的表,除非那些表在逻辑上拥有和原始表相同的主键。
范式之间的关系
主属性:所有候选码的属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。若一个关系中有多个候选码,则选定其中一个为主码。
函数依赖
完全函数依赖和部分函数依赖
传递依赖和直接依赖:
多值依赖和平凡函数依赖:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!