数据库设计相关
仅作个人学习使用。
谈谈你理解的数据库三大范式?什么是反范式设计?范式和反范式各有什么优缺点?
1、三大范式:
第一范式:列原子性,字段不可分;第二范式:行唯一性,有主键,非主键字段依赖主键;第三范式:不能传递依赖,即非主键字段不能互相依赖,否则数据库会存在不一致的情况。
2、三大范式的优点是可以避免数据冗余,单表更新或查询快;三大范式实际业务查询中比较慢。工作中经常采用反范式设计,设立冗余字段,降低联表查询的频率,以空间换查询时间的做法;反范式设计的缺点是可能导致数据不一致,更新可能会存在业务漏更的情况。
3、抢课系统后台的表怎么设计:
专业表、学生表、教师表、课程表、选课表(学生id,课程id)
#学习路径#