本文共 1585 字,大约阅读时间需要 5 分钟。
任何一张表都应该有主键,并且每一个字段原子性不可再分。
建立在第一范式的基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。如果一个表是单一主键,那么它就复合第二范式,部分依赖和主键有关系
一个学生有多个老师,一个老师也有多个学生。
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 32 1 13 2 24 2 35 3 16 3 3
建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。
一个班级对应多个学生,一个学生只有一个班级。
班级t_class
cno(pk) cname--------------------------1 班级12 班级2
学生t_student
sno(pk) sname classno(fk)---------------------------------------------101 张1 1102 张2 1103 张3 2104 张4 2105 张5 2
以上设计是一种典型的一对多的设计,一存储在一张表中,多存储在一张表中,在多的那张表中添加外键指向一的一方的主键
一对一设计有两种方案:主键共享
t_user_login 用户登录表id(pk) username password--------------------------------------1 zs 1232 ls 456
t_user_detail 用户详细信息表
id(pk+fk) realname tel ....--------------------------------------------------------------------1 张三 11111111112 李四 1111415621
一对一设计有两种方案:外键唯一。
t_user_login 用户登录表
id(pk) username password--------------------------------------1 zs 1232 ls 456
t_user_detail 用户详细信息表
id(pk) realname tel userid(fk+unique)....-----------------------------------------------------------1 张三 1111111111 22 李四 1111415621 1
转载地址:http://txuki.baihongyu.com/