北京商城网站建设报价,网站建设流程资料,沃航科技网站开发,陕西天工建设有限公司官方网站#x1f308;个人主页: Aileen_0v0 #x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 #x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-3oES1ZdkKIklfKzq {font-family:trebuchet ms,verdana,arial,sans-serif;font-siz…
个人主页: Aileen_0v0 热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-3oES1ZdkKIklfKzq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3oES1ZdkKIklfKzq .error-icon{fill:#552222;}#mermaid-svg-3oES1ZdkKIklfKzq .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-3oES1ZdkKIklfKzq .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-3oES1ZdkKIklfKzq .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-3oES1ZdkKIklfKzq .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-3oES1ZdkKIklfKzq .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-3oES1ZdkKIklfKzq .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-3oES1ZdkKIklfKzq .marker{fill:#333333;stroke:#333333;}#mermaid-svg-3oES1ZdkKIklfKzq .marker.cross{stroke:#333333;}#mermaid-svg-3oES1ZdkKIklfKzq svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-3oES1ZdkKIklfKzq .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-3oES1ZdkKIklfKzq .cluster-label text{fill:#333;}#mermaid-svg-3oES1ZdkKIklfKzq .cluster-label span{color:#333;}#mermaid-svg-3oES1ZdkKIklfKzq .label text,#mermaid-svg-3oES1ZdkKIklfKzq span{fill:#333;color:#333;}#mermaid-svg-3oES1ZdkKIklfKzq .node rect,#mermaid-svg-3oES1ZdkKIklfKzq .node circle,#mermaid-svg-3oES1ZdkKIklfKzq .node ellipse,#mermaid-svg-3oES1ZdkKIklfKzq .node polygon,#mermaid-svg-3oES1ZdkKIklfKzq .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-3oES1ZdkKIklfKzq .node .label{text-align:center;}#mermaid-svg-3oES1ZdkKIklfKzq .node.clickable{cursor:pointer;}#mermaid-svg-3oES1ZdkKIklfKzq .arrowheadPath{fill:#333333;}#mermaid-svg-3oES1ZdkKIklfKzq .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-3oES1ZdkKIklfKzq .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-3oES1ZdkKIklfKzq .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-3oES1ZdkKIklfKzq .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-3oES1ZdkKIklfKzq .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-3oES1ZdkKIklfKzq .cluster text{fill:#333;}#mermaid-svg-3oES1ZdkKIklfKzq .cluster span{color:#333;}#mermaid-svg-3oES1ZdkKIklfKzq div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-3oES1ZdkKIklfKzq :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} at large 大多数,未被捕获的 文章目录 多表关系一对多多对一多对多一对一 多表关系
多表关系含义项目开发中在进行数据库表结构设计时会根据业务需求及业务模块之间的关系并设计表结构由于业务之间相互关联所以各个表结构之间也存在着各种联系基本分为3种 一对多 多对多 一对一
一对多多对一
案例部门与员工的关系 一个部门可以对应多个员工,一个员工对应一个部门 实现 在多的一方建立外键指向一方的主键 多对多
案例学生与课程的关系 一个学生可以选修多门课程一门课程可供多个学生选择 实现 建立第三章中间表中间表至少包含两个外键分别关联两方主键。 首先我们先创建好这三张表
-- ---------------- 多表关系 演示------------------------ 多对多 ---------------------
-- 创建学生表
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);然后我们可以通过中间表进行可视化界面展示。 一对一
案例用户与用户详情的关系 一对一关系多用于单表才拆分将一张表的基础字段放到一张表中其它详情字段放在另一张表中以提升操作效率。 实现 在任意一方加入外键关联另一方的主键并且设置外键为唯一的UNIQUE
首先我们先创建用户信息表
-- ------------------一对一--------------------------------------
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(20) 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);用户教育信息表中的id关联的就是用户信息表的主键因为我们给userid添加了唯一约束所以用户教育信息表中的一条记录就对应一条用户基本信息。