数据库多表设计
多表设计为什么要设计多表?要存储不同的信息为什么多表需要关联数据与数据之间的关系可以减少数据的冗余表设计原则数据库设计范式为了设计出冗余小,结构合理数据库设计3范式第一范式:表中列的原子性 列不可拆分,例如:联系方式?有歧义,可以是电话、QQ、邮箱、这样是错误的第二范式:要有主键,其他列依赖于主键,并且主键是惟一的,可以表示一条记录第三范式:不同的表只存储一类信息,通过相互编号关联即可CREATE
多表设计
为什么要设计多表?
要存储不同的信息
为什么多表需要关联
数据与数据之间的关系
可以减少数据的冗余
表设计原则
数据库设计范式
为了设计出冗余小,结构合理
数据库设计3范式
-
第一范式:表中列的原子性 列不可拆分,例如:联系方式?有歧义,可以是电话、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)
-
所谓强关联就是当一个表使用了另一个表进行外键约束,那么这两个表就不能随意更改自身表的信息了
更多推荐
所有评论(0)