网站首页 > 开源技术 正文
在关系型数据库中,主键(PrimaryKey)又称为主码,能够唯一标识数据表中的一行记录。主键可以包含数据表中的一列或者多列,主键不能为空。同时,在同一个数据表中,主键列上不能有两行甚至多行相同的值,也就是说,在同一个数据表中,每行数据对应的主键列的值必须唯一。
例如,在表1-1,将商编号定义为商品信息表的主键,此时,当商品编号为空,或者商品编号在商品信息表中出现相同的值,则数据库会提示错误信息,查询不到相应的数据;如果将商品名称作为主键,则根据作为主键列的要求,商品名称不能重复,这与实际情况不符,所以商品名称字段不适合作为主键。
外键从本质上讲就是一个引用,它引用的是另外一张表中的一列或者多列数据,被引用的表中的列需要具备主键约束或者唯一性约束。也就是说,被引用的列在其对应的数据表中能够唯一标识一行数据。外键反映的是两个表之间的连接关系。
例如,两个数据表分别为部门表和员工信息表。其中,部门表中包含两个字段,分别为部门编号和部门名称;员工信息表中包含员工编号、员工姓名、员工性别、员工生日、部门编号和入职日期等字段。
关注我一起学习,一起进步!
猜你喜欢
- 2025-07-03 面试官竟然问我订单ID是怎么生成的?难道不是MySQL自增主键?
- 2025-07-03 MySQL中如何设置自动递增id主键重新计数从1开始?
- 2025-07-03 领导不让用UUID作为MySQL主键,那我用啥?
- 2025-07-03 长方形主键/指纹识别 MX4 Pro真机曝光
- 2025-07-03 如何利用Redis做数据库的主键生成机制
- 2025-07-03 揪出那个无主键的表(mysql无主键)
- 2025-07-03 主键ID的几种生成方式(主键id的几种生成方式)
- 2025-07-03 access利用DAO设置数据表的主键(access设置主键的方法)
- 2025-07-03 保障数据完整性:深入解析Oracle数据库的主键和外键约束
- 2025-07-03 如何计算InnoDB主键索引B+树的高度?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)