数据库-主键和外键及其约束
1:什么是主键
在一张表中,用来唯一标识一条记录的字段集,叫做主关键字或者主关键码,简称主键(或主码),这里说"字段集"是因为主键可能用一个字段或者多个字段来表示。举例来看:
学生表(学号, 姓名, 性别,专业编号),这里学号是主键,一个学号id就可以唯一标识一个学生的信息。另一个表:学生选课表(学号, 课程号, 成绩),这里(学号, 课程号)是主键,因为一个学号(即一个学生)可以选择多门课程,一个课程号(即一个课程)可以被多个学生选择,无法用一个字段来标识一条学生选课的信息记录,而使用(学号, 课程号)这两个字段作为关键字就可以唯一标识学生的选课信息。
2:什么是外键?
一张表的非主属性是另一个表的主属性就是这个表的外键。这里有两个分别为: 学生表(学号, 姓名, 性别,专业编号),专业信息表(专业编号,专业名称,专业备注信息)。学生表中主键是学号,专业信息表中主键是专业编号。学生表中的非主属性专业编号恰好是专业信息表中的主键。我们就称这个专业编号是学生表的外键。像这样,一个表的非主属性是另一个表的主属性,该非主属性就是外键。
概念定义:什么是父表和子表?
有两张表A表和B表,表A中的一个字段id是外键,表B中的一个字段id是主键,那么称B为父表,A为子表。就是说一个表中外键字段(相当于这里的A表)是另一个表中(相当于这里的B表)的主键。 还是上面的两个表来举例理解:学生表(学号, 姓名, 性别,专业编号),专业信息表(专业编号,专业名称,专业备注信息)。这里学生表是子表,专业信息表是父表。
设置表的外键的作用在于建立与父表的联系,比如在专业信息表中某个专业编号的id为'1001',删除这个id后,则学生表中的专业编号id为'1001'的记录也随着删除,这样做的目的在于保证表的完整性。
数据库的三种约束
2.参照完整性约束,即外键的约束,某一外键的值必须在它引用的主键字段中存在。如,学生表中专业编号属性的值,必须都存于专业信息表中的专业编号属性中。想一想也就明白了,一个学生(大学生)怎么可能属于一个不存在的专业。
3.用户自定义完整性约束,指的是一些用户自己设定的约束,例如字段是否可以为空,字段值的取值范围(如:人的性别只能取男、女)。
转载于:https://www.cnblogs.com/myseries/p/5222659.html
数据库-主键和外键及其约束相关推荐
- 数据库元数据数据字典查询_5_列出给定表的主键、外键约束
列出给定表的主键.外键约束 需求描述 需求:查询出给定的表emp的外键约束信息. 解决方法:通过各个数据库里提供的与外键约束相关的数据字典进行查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工 ...
- SQL数据库语言基础之SqlServer数据表的六大约束(主键、外键、检查、非空、唯一性、默认值约束)的创建
文章目录 一.主键约束(primary key) 二.外键约束(foreign key) 三.检查约束(check) 四.非空约束(not null) 五.唯一性约束(unique) 六.默认值约束( ...
- 数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量
文章目录 前言 一.主键.联合主键和复合主键 (一)主键 (二)联合主键 (三)复合主键 二.外键.设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章 ...
- 数据库的主键与外键的区别
主键是定义一个表中起主要作用的数据项,这些数据项的数据在表中是唯一的,同时系统按主键为表建立索引. 外键是定义一个表中的某数据项的数据,要参照另一个表的主键数据.既没有在另一个表的主键数据中出现的数据 ...
- 数据库之SQL的主键和外键的作用
SQL的主键和外键约束 SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主 ...
- 【数据库】主键和外键的必要性
主键与外键的设计,在全局数据库的设计中,占有重要地位. 因为:主键是实体的抽象,主键与外键的配对,表示 实体之间的连接. 主键:根据第二范式,需要有一个字段去标识这条记录,主键无疑是最好的标识,但是很 ...
- (转载)MySQL数据库的主键和外键详解
主键 主键的定义 主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY 约束来 ...
- mysql主键和外键示例_SQL数据库中主键和外键的应用实例
数据库 什么是数据库主键(Primary Key)? 数据库主键(Primary Key):指的是一个列或多列的属性组合,其属性值能唯一标识一条记录,通过它可强制表的实体完整性. 例如: (tb_Bo ...
- MySQL数据库SQL的主键和外键的作用
SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外 ...
- MySQL:创建数据库,数据表,主键和外键
目录 前言: 安装MySQL: 打开MySQL: 创建数据库: 查看已建数据库: 查看数据库引擎: 创建数据表: 主键约束: 单字段主键: 多字段联合主键: 外键约束: 前言: MySQL数据库安装了 ...
最新文章
- win10 环境变量配置 如何在命令行运行php文件
- Adapterview和adapter的联系
- HTML全面深入学习-select的optgroup分组
- Web前端开发笔记——第二章 HTML语言 第五节 图像标签
- LeetCode139:Word Break
- 即时通讯作为互联网最普及的基础服务之一
- odoo10参考系列--操作(Actions)
- 兰州职称计算机中心,【兰州2013年职称计算机考试报名通知】- 环球网校
- CV2.imread得到的图像显示成蓝色的原因和3种BGR转RGB的方法
- [CF1137E]Train Car Selection[维护凸壳]
- 10.23 第六次作业 刘惠惠 this关键字
- Analyze 命令的使用方法
- 【洛谷】UVA437 巴比伦塔 The Tower of Babylon
- MFC对话框/控件下属性中的事件变成空白?
- 【六类网线的制作方法】
- keep-alive实现原理
- STM32MP157开发笔记 | 04 - TF-A、uboot、linux内核源码获取、编译、烧写
- 动态代理[JDK]机制解析
- [WTL/ATL]_[初级]_[微调控件CUpDownCtrl的使用]
- html2Canvas 边框虚线