数据表设计
三大范式:
第一范式:列的原子性,每一列是不可再拆分的
范例:若只是查询地址则可以直接写地址栏即可
若是还要查询省份或地区,则该表有误,不满足第一范式,则应
第二范式:表里面的每一列都应与主键有关
范例:品种列乱入不和主键有关系,不满足第二范式
科考,人员代号和科目代号为联合主键,姓名虽与人员代号有关,但在成绩表出来前人的姓名与科目代号无关,即与主键无关,亦不满足第二范式
第三范式:表里面的每一列都应该与主键有直接关系,不能出现间接关系
范例:民族名称与民族代号有直接关系,而与主键只有间接关系
例二:亲人2与张三没有直接关系,若还想要亲人2,在新建一个表即可
若不遵循三大范式则会出现数据冗余(自增长列不在范围内)
具体设计:
设计一个简易的聊天软件数据库: