数据库三大范式的理解
网站编辑2023-05-21 08:20:19871
第一范式是指关系型数据库中的每个属性都是原子性的,即不可再分解的。也就是说,每个属性都只能包含一个值,不能包含多个值或者是一个集合。

例如,一个学生表中的“电话”属性,如果包含多个电话号码,那么就不符合第一范式。正确的做法是将电话号码拆分成多个属性,如“电话1”、“电话2”等。
第二范式是指关系型数据库中的每个非主键属性都完全依赖于主键,而不是依赖于主键的一部分。也就是说,每个非主键属性都必须与主键形成一个完整的函数依赖关系。
例如,一个订单表中包含“订单号”、“商品编号”、“商品名称”、“商品单价”、“商品数量”等属性,其中“商品名称”、“商品单价”属于非主键属性,但是它们完全依赖于“商品编号”,而不是依赖于“订单号”。因此,正确的做法是将“商品编号”作为主键,将“商品名称”、“商品单价”作为与主键形成完整函数依赖关系的属性。
第三范式是指关系型数据库中的每个非主键属性都不依赖于其他非主键属性。也就是说,每个非主键属性都必须直接依赖于主键,而不是间接依赖于其他非主键属性。
例如,一个学生表中包含“学号”、“姓名”、“性别”、“年龄”、“所在班级”等属性,其中“所在班级”属于非主键属性,但是它依赖于“班级编号”,而不是依赖于“年龄”或“性别”。因此,正确的做法是将“班级编号”作为主键,将“所在班级”作为直接依赖于主键的属性。







