java_sql数据库的设计

2021-01-22  本文已影响0人  走停2015_iOS开发
数据库设计三范式(重点)
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

上一篇 下一篇

猜你喜欢

热点阅读