首页 > 其他分享 >多表查询-多表关系介绍

多表查询-多表关系介绍

时间:2023-04-08 17:22:20浏览次数:38  
标签:关系 多表 一对一 外键 查询 介绍 关联 主键

多表关系概述:在项目开发中,在进行数据库结构设计时,会根据业务需求和业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种关联
基本分为以下三种:一对多(多对一),多对多,一对一
一对多(多对一):
案例:部门与员工的关系
关系:一个部门对应多个员工,一个员工对应一个部门
实现:在多的一方添加外键,指定另一方的主键

 

 


多对多:
案例:学生与课程的关系
关系:一个学生对应多个课程,一个课程对应多个学生
实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

 

 

一对一:
案例:用户与用户详情的关系
关系:一对一关系。多用于单表拆分,将一张表的基础字段放在一张表中。其他详情字段放在另一张表中,以提升操作效率
实现:在任意一方加入外键,关联另一方的主键,并且设置外键为唯一的(unique)

 

标签:关系,多表,一对一,外键,查询,介绍,关联,主键
From: https://www.cnblogs.com/123456dh/p/17298852.html

相关文章

  • AOP介绍
                 ......
  • 掘进机工作条件的介绍说明
    掘进机产品介绍掘进机主要用于煤岩硬度f≤60MPa(节理不发育)、f≤100MPa(节理发育)的煤巷、半煤岩巷及岩巷的掘进。也可在铁路、公路、水力工程等隧道中使用。通过运输机,可与自卸车、梭车、皮带运输机等配套,能够实现截割、装载、运输连续作业。掘进机工作条件(1)海拔不超过2000m......
  • 第 1 章 Linux 开山篇-内容介绍
    第1章Linux开山篇-内容介绍1.1本套Linux课程内容1.2Linux使用在那些地方1.3Linux的应用领域个人桌面领域的应用此领域是传统linux应用薄弱的环节,近些年来随着ubuntu、fedora[fɪˈdɔ:rə]等优秀桌面环境的兴起,linux在个人桌面领域的占有率在逐渐的提高......
  • 在android的fragment中使用子线程查询的数据如何实时更新在主界面的listview中
    主要是使用handler来对ui界面进行实时更新 public class YourFragment extends Fragment {    private ListView mListView;    private YourAdapter mAdapter = new YourAdapter(getContext(), new ArrayList<YourData>());//注意这一步的初始化如果闪......
  • elasticsearch 查询超10000的几种解决方案
    在es中,默认查询的from+size数量不能超过一万,官方对于超过1万的解决方案使用游标方案,今天介绍下几种方案,希望对你有用。数据准备,模拟较大数据量,往es中灌入60w的数据,其中只有2个字段,一个seq,一个timestamp,如下图:方案1:scroll游标游标方案中,我们只需要在第一次拿到游标id,之后......
  • 7个最新的时间序列分析库介绍和代码示例
    时间序列分析包括检查随着时间推移收集的数据点,目的是确定可以为未来预测提供信息的模式和趋势。我们已经介绍过很多个时间序列分析库了,但是随着时间推移,新的库和更新也在不断的出现,所以本文将分享8个目前比较常用的,用于处理时间序列问题的Python库。他们是tsfresh,autots,darts......
  • 主流的开源监控介绍
    监控通常的基本架构被监控的系统可以是独立的应用程序或服务的集合,也可以是单独的应用程序。如果系统主动地提供了被监控的数据,那么监控是入侵式的且影响系统设计;如果系统不主动提供被监控的数据,那么监控是非入侵的。外部系统可以通过健康检查、性能或事务监控来监控系统或者应用级......
  • 修正es查询里的字段类型是keyword的query
    defconvert_query(query):"""ConvertElasticsearchquerytousekeywordandtextfieldsappropriately"""ifisinstance(query,dict):forkey,valueinquery.items():ifkeyin["term......
  • 协程 goroutine,线程,进程,GPM,的介绍
    前言:进程,线程,协程,并发,并行介绍正文:线程,进程介绍:1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间4.调度和切换:线程上......
  • C++竞赛常用函数库stl快捷查询手册(vector,map,set,queue,string等)
    1.控制输出流<iomanip>;cout<<setprecision(<span="">int);保留int位有效数字cout<<setprecision(<span="">int)<<fixed;保留int位有效小数为不足4位数的数填充0(如1填充变成0001),cout<<setfill('0')<<setw(4)(一次性效果)......