数据库设计三范式(重点)
1.什么是设计范式
设计范式:设计表的依据 按照这个三范式设计的表不会出现数据冗余
2.设计范式是哪些
第一范式:任何一张表都应该有主键 并且每一个字段原子性不可再分
第二范式:所有非主键字段必须完全依赖主键 不能产生部分依赖 否则会产生数据冗余
多对多关系 三张表 关系表俩个外键
t_student 学生表
sno(pk) sname
----------------------
1 张三
2 李四
3 王五
t_teacher 讲师表
tno(pk) tname
---------------------
1 王老师
2 李老师
3 张老师
t_student_teacher_relation 学生和讲师的关系表
id(pk) sno(fk) tno(fk)
----------------------------------
1 1 3
2 1 1
3 2 2
4 3 2
3.第三范式 是建立在第二范式基础上 所有非主键字段直接依赖主键 不能产生传递依赖
一对多 俩个表 多的表加外键
一个班级对应多个学生
4.一对一怎么设计
1.主键共享
t_user_login 用户登录表
id(pk) username pwd
------------------------
1 zs 123
2 ls 1434
3 ww 1434
t_user_detail 用户详细信息表
id(pk+fk) realname tel ------------
------------------------------------
1 张三 12323423
2 李四 143443242
3 王五 143442342
2.外键唯一
t_user_login 用户登录表
id(pk) username pwd
------------------------
1 zs 123
2 ls 1434
3 ww 1434
t_user_detail 用户详细信息表
id(pk+fk) realname tel userID(fk+unique)
---------------------------------------------------------------
1 张三 12323423
2 李四 143443242
3 王五 143442342
网友评论