位置: 编程技术 - 正文

初探SQL语句复合主键与联合主键(sql 复合语句)

编辑:rootadmin

推荐整理分享初探SQL语句复合主键与联合主键(sql 复合语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pl/sql中的复合变量,sql复合条件查询,sql语句复合查询,sql语句复用,sql复合主键的写法,复合sql怎么写,sql复合主键语句,复合sql怎么写,内容如对您有帮助,希望把文章链接给更多的朋友!

一、复合主键

所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键。比如

上面的name和id字段组合起来就是你test表的复合主键 ,它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性 ,一般情况下,主键的字段长度和字段数目要越少越好 。

这里就会有一个疑惑&#; 主键是唯一的索引,那么为何一个表可以创建多个主键呢?

其实“主键是唯一的索引”这话有点歧义的。举个例子,我们在表中创建了一个ID字段,自动增长,并设为主键,这个是没有问题的,因为“主键是唯一的索引”,ID自动增长保证了唯一性,所以可以。

此时,我们再创建一个字段name,类型为varchar,也设置为主键,你会发现,在表的多行中你是可以填写相同的name值的,这岂不是有违“主键是唯一的索引”这句话么?

所以我才说“主键是唯一的索引”是有歧义的。应该是“当表中只有一个主键时,它是唯一的索引;当表中有多个主键时,称为复合主键,复合主键联合保证唯一索引”。

为什么自增长ID已经可以作为唯一标识的主键,为啥还需要复合主键呢。因为,并不是所有的表都要有ID这个字段,比如,我们建一个学生表,没有唯一能标识学生的ID,怎么办呢,学生的名字、年龄、班级都可能重复,无法使用单个字段来唯一标识,这时,我们可以将多个字段设置为主键,形成复合主键,这多个字段联合标识唯一性,其中,某几个主键字段值出现重复是没有问题的,只要不是有多条记录的所有主键值完全一样,就不算重复。

初探SQL语句复合主键与联合主键(sql 复合语句)

二、联合主键

联合主键顾名思义就是多个主键联合形成一个主键组合(主键原则上是唯一的,别被唯一值所困扰。)

联合主键的意义:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。

一个简单的例子

主键A跟主键B组成联合主键

主键A跟主键B的数据可以完全相同,联合就在于主键A跟主键B形成的联合主键是唯一的。

下例主键A数据是1,主键B数据也是1,联合主键其实是,这个是唯一值,绝对不充许再出现这个唯一值。(这就是多对多关系)

主键A数据 主键B数据

1      1 2      2 3      3

主键A与主键B的联合主键值最多也就是

总结: 以我来看复合主键就是含有一个以上的字段组成,如ID+name,ID+phone等,而联合主键要同时是两个表的主题组合起来的。这是和复合主键最大的区别!

标签: sql 复合语句

本文链接地址:https://www.jiuchutong.com/biancheng/348350.html 转载请保留说明!

上一篇:SQL执行步骤的具体分析(最全的sql执行顺序)

下一篇:MySQL两种临时表的用法详解(mysql 临时表)

  • 多缴纳社保怎么处理
  • 有形动产租赁服务税收分类编码
  • 公司优秀党员事迹材料
  • 高新技术企业三级领域
  • 人工费用的核算例题
  • 地价计入房产原值公式
  • 会计核算体系的重要性
  • 租金收入需要缴增值税吗
  • 企业违约补偿收条怎么写
  • 捐赠和赞助业务的税务处理怎么做?
  • 营改增后销售租赁后的设备如何做税务处理?
  • 房地产 结转
  • 无票销售纳税后怎么处理
  • 记账汇率是什么意思
  • 不同项目的进项税可以抵销项税吗
  • 年会费用的会计分录
  • 增值税专用发票几个点
  • 广告制作选哪个专业好
  • 小规模未开票收入如何申报增值税
  • 不具有法人资格的企业形式
  • 本年利润期末
  • 所得税季报总资产是什么
  • 公司与个人的往来款怎么处理
  • win10显示在哪
  • 资产和负债的计税基础金额的确认思维导图
  • qttask.exe是什么进程?qttask.exe是不是病毒?
  • 红字发票信息表填好后再怎么操作
  • 未按规定开具发票怎么处罚
  • uniapp获取window对象
  • 企业开办期间的税费
  • yew 框架
  • transformerss
  • 二元运算例子
  • vue常用
  • cuppath
  • 固定资产清理应交增值税怎么算
  • 财产赔偿账务处理办法
  • 企业支付给其他单位劳务费时需要代扣代缴个税吗
  • 企业盘盈的固定资产其核算的会计科目是
  • 未来的现金流折现
  • springboot升级到2.1.6需要注意
  • 企业收到的政府无偿拨付的款项应当全部计入递延收益
  • 金蝶标准版怎么查应收应付款
  • 个人写收据要写身份证号吗
  • 个税中的免税收入都包括什么
  • 进口商品采购流程及时间
  • 商品流通企业的进货费用
  • 小规模企业可以抵扣进项税吗
  • 收到现金长时间不付款
  • 贴现的利息通过什么会计科目核算
  • 利息收入怎么做红字
  • 未开票收入账务处理分录
  • 发工资扣的个人社保计入哪个科目
  • 退货开负数发票的情况该如何做会计处理?
  • 减值损失和减值损失区别
  • 购货方与付款方不一致
  • 公司代个人缴纳社保
  • 固定资产的建造成本怎么计算
  • Mysql inner join on的用法实例(必看)
  • windows8crazy error
  • 地热不热怎么办一招教你解决
  • ghost安装盘的制作
  • VMware10安装Windows server2012
  • creative cloud怎么用
  • WIN10系统中软件打开找不到网络共享盘
  • ubuntu20.04怎么用
  • hwid.exe
  • centos怎么打开软件
  • linux怎么禁用用户
  • linux ii
  • jquery添加图片
  • android 基础
  • js对象类
  • 广州地税电子税票查询
  • 广州买房退税政策2020
  • 城市配套费需要交税吗
  • 专项扣除赡养老人是什么意思
  • 10%加计抵减政策条件
  • 宣城市有什么好玩的景区
  • 电子税务局网页版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设