早期数据库使用,需要节省空间,通过对表结构设计进行节省空间操作,需要利用三范式设计
三范式可以最大程度节省空间(浪费时间)
第一范式:数据库字段不可拆分
userPhone违反了第一范式,因为电话号码可以分为座机和手机两个字段
第二范式:满足第一范式前提,所有非主键字段,必须依赖全部的主键(复合主键)
上图违反了三范式的第二范式,classname和stuId无关,可以拆分成两个表
第三范式:第二范式前提下,非主键字段必须全部依赖主键字段,不能依赖其他非主键字段
上图违反了第三范式设计,因为学院name依赖的是学院Id,依赖的不是主键
需要进行拆分
一旦严格按照三范式设计,每个表维护全局唯一的一批内容,节省了空间