网站首页 > 技术文章 正文
在关系型数据库中,主键(PrimaryKey)又称为主码,能够唯一标识数据表中的一行记录。主键可以包含数据表中的一列或者多列,主键不能为空。同时,在同一个数据表中,主键列上不能有两行甚至多行相同的值,也就是说,在同一个数据表中,每行数据对应的主键列的值必须唯一。
例如,在表1-1,将商编号定义为商品信息表的主键,此时,当商品编号为空,或者商品编号在商品信息表中出现相同的值,则数据库会提示错误信息,查询不到相应的数据;如果将商品名称作为主键,则根据作为主键列的要求,商品名称不能重复,这与实际情况不符,所以商品名称字段不适合作为主键。
外键从本质上讲就是一个引用,它引用的是另外一张表中的一列或者多列数据,被引用的表中的列需要具备主键约束或者唯一性约束。也就是说,被引用的列在其对应的数据表中能够唯一标识一行数据。外键反映的是两个表之间的连接关系。
例如,两个数据表分别为部门表和员工信息表。其中,部门表中包含两个字段,分别为部门编号和部门名称;员工信息表中包含员工编号、员工姓名、员工性别、员工生日、部门编号和入职日期等字段。
关注我一起学习,一起进步!
- 上一篇: Unity实例教程:创建渐入的列车
- 下一篇: 开发者们为什么很少使用外键
猜你喜欢
- 2024-12-05 SQLite3:外键约束在命令行里不起作用,Navicat却无法插值
- 2024-12-05 学习VB编程第95天,使用sql命令创建修改删除数据库
- 2024-12-05 软考笔记|2-4 信息系统项目生命周期及典型模型
- 2024-12-05 多列数据删除重复值,快捷键Alt+D+P三步搞定,80%人没见过
- 2024-12-05 外键禁用,MySQL还能玩出什么花样?
- 2024-12-05 GBASE南大通用示例,使用 INDEX DISABLED 创建外键约束
- 2024-12-05 mysql外键实战
- 2024-12-05 mysql存在外键导入导出
- 2024-12-05 阿里:不得在数据库中使用外键
- 2024-12-05 数据库主键和外键
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)