随州网站优化,网站建设以及推广提案书,技术支持 哈尔滨网站建设,南城微信网站建设一、概述
项目开发中#xff0c;在进行数据库表结构设计时#xff0c;会根据业务需求及业务模块之间的关系#xff0c;分析并设计表结构#xff0c;由于业务之间相互关联#xff0c;所以各个表结构之间也存在着各种联系#xff0c;基本上分为三种#xff1a;
一对多在进行数据库表结构设计时会根据业务需求及业务模块之间的关系分析并设计表结构由于业务之间相互关联所以各个表结构之间也存在着各种联系基本上分为三种
一对多多对一多对多一对一 二、一对多 三、多对多 【演示】
1、准备数据
1创建student表学生表 2创建course表课程表 3创建中间表student_course 2、多表关系可视化
在中间表上右键 可看到多表之间的关系 四、一对一 【演示】 1、准备数据 tb_user_edu表中的外键userid关联的tb_user表中的主键id 由于userid唯一约束此时一条记录就对应一个用户的基本信息 【代码】
-- 多表关系演示多对多
create table student(id int auto_increment primary key comment 主键ID,name varchar(10) comment 姓名,no varchar(10) comment 学号
) comment 学生表;
insert into student
values (null, 黛绮丝, 2000100101),(null, 谢逊, 2000100102),(null, 殷天正, 2000100103),(null, 韦一笑, 2000100104);create table course(id int auto_increment primary key comment 主键ID,name varchar(10) comment 课程名称
) comment 课程表;
insert into course
values (null, Java),(null, PHP),(null, MySQL),(null, Hadoop);create table student_course(id int auto_increment comment 主键 primary key ,studentid int not null comment 学生ID,courseid int not null comment 课程ID,constraint fk_courseid foreign key (courseid) references course(id),constraint fk_studentid foreign key (studentid) references student(id)
) comment 学生课程中间表;
insert into student_course
values (null, 1, 1),(null, 1, 2),(null, 1, 3),(null, 2, 2),(null, 2, 3),(null, 3, 4);-- 一对一
create table tb_user(id int auto_increment primary key comment 主键ID,name varchar(10) comment 姓名,age int comment 年龄,gender char(1) comment 1:男, 2:女,phone char(11) comment 手机号
) comment 用户基本信息表;create table tb_user_edu(id int auto_increment primary key comment 主键ID,degree varchar(20) comment 学历,major varchar(50) comment 专业,primaryschool varchar(50) comment 小学,middleschool varchar(50) comment 中学,university varchar(50) comment 大学,userid int unique comment 用户ID,constraint fk_userid foreign key (userid) references tb_user(id)
) comment 用户教育信息表;insert into tb_user(id, name, age, gender, phone)
values (null, 黄渤, 45, 1, 18800001111),(null, 冰冰, 35, 2, 18800002222),(null, 码云, 55, 1, 18800008888),(null, 燕红, 50, 1, 18800009999);insert into tb_user_edu(id ,degree, major, primaryschool, middleschool, university, userid)
values (null, 本科, 舞蹈, 静安区第一小学, 静安区第一中学, 北京舞蹈学院, 1),(null, 硕士, 表演, 朝阳区第一小学, 朝阳区第一中学, 北京电影学院, 2),(null, 本科, 英语, 杭州市第一小学, 杭州市第一中学, 杭州师范大学, 3),(null, 本科, 数学, 阳泉区第一小学, 阳泉区第一中学, 清华大学, 4);