数据库第一范式、第二范式、第三范式

第一范式(对列要求):对属性的原子性;要求属性具有原子性,即:列不可以再拆分(一个字段只存储一项信息)

eg:

初二年级3班学生小明

  姓名 学号 年级 班级
错误存储 小明 001 初二年级3班  
正确存储 小明 001 初二 3班

 

第二范式 (对行要求):记录的唯一性,要求记录有唯一标识,即不存在部分依赖。(任意一个字段都只依赖表中的同一个字段)

学生证 学生证号 办理时间 结婚证 结婚证号 办理时间
           

改为:(错误原因:满足第一范式前提,当存在多个主键的时候  学生证号和结婚证号)

学生证 学生证号 办理时间
     

 

结婚证 结婚证号 办理时间
     

第三范式:对字段的冗余性,要求任何字段不由其他字段派生出来。即:不存在传递依赖

妈妈 儿子 女儿 儿子的小车 儿子的游戏机
         

 

改为:(儿子的小车依赖于其他非主键属性儿子,儿子又依赖于主键妈妈,儿子的小车间接依赖于妈妈,这被称作传递依赖于主属性。)

妈妈 儿子 女儿
     

 

儿子 儿子的小车 儿子的游戏机
     

 

 

 

你可能感兴趣的:(数据库,数据仓库,mysql)