数据库(25)——多表关系介绍

在项目开发中,进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,各个表之间的结构基本上分为三种:一对多,多对多,一对一。

一对多

例如,一个学校可以有多个学生,而一个学生对应一个学校

实现:在多的一方建立外键,指向一的一方的主键。

多对多

例如,一个学生可以选修多门课程,一门课程也可以有多名学生。

实现:建立第三张中间表,中间表至少包含两个外键,分别关联两边的主键。

示例:新创建一张course表,使其与之前的user表连接,这中间需要用一张中间表进行连接。

CREATE table course(
    id int auto_increment primary key comment '主键id',
    course_name varchar(10) comment '课程名称'
)comment '课程表';
insert into course value (null,'java'),(null,'vue'),(null,'MySQL');

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 user(id)--添加外键
)comment '学生中间表';

 此时已经成功连接上两张表,在DataGrip里可以更直观的看到这些表的联系。

右击中间表点击Diagrams,选择Show Diagram

 

一对一

例如学生与学生信息的关系。

关系:一对一的关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率。

实现:在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一(UNIQUE)的。

相关推荐

  1. 数据库关系关联查询)

    2024-06-06 12:46:01       39 阅读
  2. C语言笔记25 •顺序介绍

    2024-06-06 12:46:01       7 阅读
  3. 使用自关联方法处理关系

    2024-06-06 12:46:01       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 12:46:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 12:46:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 12:46:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 12:46:01       20 阅读

热门阅读

  1. 从内存到sql的upsert

    2024-06-06 12:46:01       8 阅读
  2. pytest识别测试用例的机制以及和unittest的区别

    2024-06-06 12:46:01       7 阅读
  3. 数据库漫谈-国产数据库

    2024-06-06 12:46:01       7 阅读
  4. 【设计模式】适配器模式(结构型)⭐⭐⭐

    2024-06-06 12:46:01       9 阅读
  5. 【机器学习】朴素贝叶斯分类器

    2024-06-06 12:46:01       5 阅读
  6. 第十三届蓝桥杯B组c++国赛

    2024-06-06 12:46:01       7 阅读
  7. SpringBoot如何缓存方法返回值?

    2024-06-06 12:46:01       7 阅读
  8. C++面试经验分享

    2024-06-06 12:46:01       6 阅读
  9. 使用Python进行数据分析的基本步骤

    2024-06-06 12:46:01       7 阅读
  10. transformer中的ffn

    2024-06-06 12:46:01       8 阅读
  11. 数据科学实战:掌握核心数据提取技巧与工具

    2024-06-06 12:46:01       7 阅读
  12. PySpark 小白教程 (二) PySpark SQL 简介

    2024-06-06 12:46:01       8 阅读