为什么需要多表
需要存储不同的信息
为什么多表需要关联
学生 年级 课程
数据与数据之间有关系
减少数据冗余
表设计原则 : 数据库设计范式 为了设计处冗余小,结构合理
数据库设计3范式
第一范式:表中列的原子性 列不可再拆分
联系方式 有歧义 手机/邮箱/qq 错误
手机 qq 邮箱 不可再拆分 正确
第二范式:要有主键,其他列依赖于主键存在,主键是唯一的,可以表示一条记录的
第三范式:消除传递依赖,不同的表只存储一类信息,相互通过编号关联即可
CREATE TABLE grade(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAr(20)
)
– 在学生表中添加年级的id
ALTER TABLE student ADD COLUMN gradeid INT
– 在多表关联时,有两种关联方式:
– 1.弱关联 表与表之间没有任何约束关系
– 2.强关联 外键约束
– 添加外键约束 修改student表 添加约束 外键列 gradeid 引用关联 grade表中的id列
ALTER TABLE student ADD ConSTRAINT fk_student_grade_gradeid FOREIGN KEY(gradeid) REFERENCES grade(id)



