软考
APP下载

第一范式,第二范式,第三范式,BCNF

第一范式,第二范式,第三范式,BCNF

在数据库设计中,范式是用来规范关系型数据库中的表和数据结构的一种规则。范式分为一到五个等级,每个等级都有各自的要求和特点。

第一范式

第一范式是关系型数据库设计的最基本要求,它保证数据库中的每个属性都是原子性的,不可再分。也就是说,每个属性不能再包含其他属性或者集合。

例如,一张学生信息表,如果其中的“成绩”字段包含了“数学成绩”、“语文成绩”、“英语成绩”等多个属性,那么这张表就不符合第一范式,需要拆分成多个表才能满足第一范式。

第二范式

第二范式是在满足第一范式的基础之上,保证每个表中的非主键属性完全依赖于主键。也就是说,每个非主键属性只能与主键有关联关系,而不能依赖其他非主键属性。

例如,一张订单信息表,其中的“商品名称”字段与“商品数量”、“商品价格”等字段都有关联关系,这个表就不符合第二范式,需要进行拆表。

第三范式

第三范式是在满足第二范式的基础之上,进一步保证表中的列都和主键直接相关,而不是间接相关。也就是说,每个非主键属性不能直接依赖其他非主键属性,而是必须依赖主键。

例如,一张订单信息表,其中的“商品种类”、“厂家名称”等属性都依赖于“商品编号”,而不是依赖于其他非主键属性,这个表就符合第三范式。

BCNF

BCNF是在满足第三范式的基础之上,进一步分解非主键属性之间的依赖关系,保证每个属性都与主键有直接关系,消除了数据冗余和数据异常。

例如,一张员工信息表,其中包含“部门名称”、“部门地址”等属性,这些属性都依赖于“部门编号”,但是“部门地址”属性与“部门名称”属性之间也存在依赖关系。这个表就不符合BCNF,需要进行拆分。

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库