位置: 编程技术 - 正文

初探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 临时表)

  • 完全成本法税前利润计算例题
  • 保证人不承担责任(胜诉案例)
  • 出口退税货物的进项税处理
  • 餐饮业税务申报
  • 新公司成立后税务方面要做的事情有哪些
  • 当期亏损如何计提所得税
  • 技术合同免税备案流程2022年
  • 子公司注销后账务如何处理
  • 珠宝属于什么行业领域
  • 小微企业免交增值税,月末结转到营业外收入吗
  • 购土地契税怎么算
  • 股份制改造而发生的资产评估增值税法规定
  • 员工食堂餐费可以报销吗
  • 注销税务登记申请书
  • 安装工程通常有哪些工种
  • 增值税设备抵扣怎么抵扣
  • 完全发生在境外的服务增值税
  • 租赁房租备案要多久
  • 未办理三证合一营业执照会注销吗
  • 银行承兑汇票盖已承兑登记
  • 金税盘开的发票显示未报送怎么办
  • 公司制作小程序定金能放在图物资吗
  • 企业的其他业务收入主要核算
  • 个税扣缴端如何删除员工信息
  • 个体餐饮店交税吗
  • 缴纳房产税怎么办理登记手续
  • 增值税应税劳务的纳税人是什么意思
  • 快速迅雷
  • 内部控制制度包括哪些基本内容?
  • 对公汇款银行退回
  • 抵押房屋可以出卖吗
  • win10怎么关掉
  • 浅谈linux
  • php中split
  • 苹果macOSBigSur是什么型号
  • php的魔术函数
  • 劳务报酬个税计算器2021计算器
  • php如何实现
  • php获取指定日期的星期几的方法是
  • php代码加密方式
  • 怎么样写合同书
  • 工业企业成本核算的一般程序
  • 营业外收支的账户是什么
  • 金蝶软件资产负债表怎么生成
  • 坏账的计算公式
  • 差额增收企业怎么做账
  • 接受银行承兑汇票的流程
  • 公户的结算卡是否可以转账
  • 金税四期对小规模企业有何要求
  • 预算会计与企业会计的区别感悟
  • 分销佣金账务处理流程
  • 一次性加速折旧额怎么算
  • 企业跨年度支出怎么计算
  • 应付账款的账务怎么处理
  • 如何理解非货币性资产
  • 收到的专票必须当月认证吗
  • 收到专票可以不签字吗
  • 一般纳税人进货的会计分录怎么做
  • 仓管需要会计证吗
  • 最新版手机
  • Win8.1 VPN设置功能提示连接出错的简单解决方法
  • centos操作命令
  • sun solaris 8何启用telnet ftp 功能
  • 全自怎么安装方法
  • u盘设置背景音乐怎么弄
  • windowsxp回收站实际是
  • win8休眠如何唤醒
  • gzip: stdin: unexpected end of file tar: Unexpected EOF in archive tar: Unexpect
  • linux的命令行界面
  • dos常用命令与批处理文件
  • nodejs实战教程
  • node.js使用教程
  • 查看流量的命令
  • jquery显示当前时间
  • 中国税务徽标
  • 安徽税务发票查询入口
  • 网上申报增值税纳税申报表怎么填写
  • 法制建设包括哪三个方面
  • 国家税务网上办税平台
  • 车辆完税证明有啥用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设