Oracle数据库中,约束具体包括非空(NOT NULL)约束、唯一键(UNIQUE)约束、主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束和检查(CHECK)约束五种。

1:主键(PRIMARY KEY)约束

什么是主键?在一张表中,用来唯一标识一条记录的字段集,叫做主关键字或者主关键码,简称主键(或主码),这里说"字段集"是因为主键可能用一个字段或者多个字段来表示。主键唯一确定每一条记录的完整性,其值不能重复,不能空值。可以由一列或者多列构成。举例来看:学生表(学号, 姓名, 性别,邮箱,专业编号),这里学号是主键,一个学号id就可以唯一标识一个学生的信息。另一个表:学生选课表(学号, 课程号, 成绩),这里(学号, 课程号)是主键,因为一个学号(即一个学生)可以选择多门课程,一个课程号(即一个课程)可以被多个学生选择,无法用一个字段来标识一条学生选课的信息记录,而使用(学号, 课程号)这两个字段作为关键字就可以唯一标识学生的选课信息。

2:外键(FOREIGN KEY)约束

什么是外键?一张表的非主属性是另一个表的主属性就是这个表的外键。这里有两个分别为: 学生表(学号, 姓名, 性别,邮箱,专业编号),专业信息表(专业编号,专业名称,专业备注信息)。学生表中主键是学号,专业信息表中主键是专业编号。学生表中的非主属性专业编号恰好是专业信息表中的主键。我们就称这个专业编号是学生表的外键。像这样,一个表的非主属性是另一个表的主属性,该非主属性就是外键

拓展概念:父表和子表

什么是父表和子表?有两张表A表和B表,表A中的一个字段id是外键,表B中的一个字段id是主键,那么称B为父表,A为子表。就是说一个表中外键字段(相当于这里的A表)是另一个表中(相当于这里的B表)的主键。 还是上面的两个表来举例理解:学生表(学号, 姓名, 性别,专业编号),专业信息表(专业编号,专业名称,专业备注信息)。这里学生表是子表,专业信息表是父表。

  设置表的外键的作用在于建立与父表的联系,比如在专业信息表中某个专业编号的id为'1001',删除这个id后,则学生表中的专业编号id为'1001'的记录也随着删除,这样做的目的在于保证表的完整性。

3、非空约束(not null):

什么是非空约束?就是约束的字段,不能为NULL值,必须给定具体的数据,以保证该字段不为空。我们在创建表,给字段添加非空约束,设置后就不能给该字段定义为空值,此约束为列级约束(在建表说明约束时,只能跟在列级定义后)比如:创建学生表,可以设置姓名为非空约束,则姓名都是非空值,不能为空值。

4、唯一约束(unique):防止输入重复信息,约束的字段具有唯一性,不可重复【列级约束】 字段后加unique。比如我们创建学生表,则邮箱是唯一的,可以添加唯一性约束。

5、检查约束,对输入的值进行检查,限制输入的值。对该列数据的范围、格式的限制(如:年龄需要比0大、性别只能有两种等),【目前MYSQL不支持,oracle数据库支持】

表、字段、记录、属性、列、元组定义(自己看论坛学习的,可能有不对的地方,请大家指教)

一、字段:某一个事物的一个特征,或者说是属性,学生表中,的学号,姓名,性别等就是一个个属性。

二、记录(元组):事物特征的组合,可以描述一个具体的事物。比如学生表中,学号为1的那一整行,这一整行可以描述张三这个人的特征这样的一个具体事物。元组是记录的另个一称呼。

三、表:记录的组合 表示同一类事物的组合,表,相当于具有相似特征事物的一个集合。比如学生表,这就是一个表格,还可以由公司员工表,学校的教师表等。

四、列:字段的另一种称谓,比如学生表中的学号,姓名,性别等等。

五、元组:记录的另一种称谓,详见上面的记录。

参考:

https://www.cnblogs.com/myseries/p/5222659.html

https://www.cnblogs.com/seven7seven/p/3730825.html

https://blog.csdn.net/njyr21/article/details/79351818

https://blog.csdn.net/qq_40329222/article/details/79513301

https://blog.csdn.net/aiming66/article/details/51426263

数据库名词解释 主键外键检查 非空、唯一性约束 父表 子表相关推荐

  1. [数据库03]-约束(唯一性-主键-外键/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式

    [数据库03]-约束(唯一性-主键-外键)/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式 一.约束 1.1 唯一性约束(unique) 1.2 主键约束 1.3 外键约束 二.存储引擎 2 ...

  2. 数据库 主键 外键 唯一键区别

    下面我通过一个小栗子来说明我们应该如何选择主键,外键和唯一键.  现在我们想建立学生表,用来存储,一个系统的登陆信息.建表如下: create table student4 (   stu_id in ...

  3. mysql数据库(排序,聚合函数,分组,分页查询,union,连接查询,主键外键)

    1.排序(order by) select * from stu order by age; -- 默认升序 升序 ASC 降序DESC -- DESC 具有查看表的结构的功能 desc stu; 不 ...

  4. mysql 主键外键sql_SQL外键VS主键说明了MySQL语法示例

    mysql 主键外键sql A Foreign Key is a key used to link two tables. The table with the Foreign Key Constra ...

  5. MySQL 之 约束 (主键、唯一、非空、自增、外键)

    MySQL 之 约束 (主键.唯一.非空.自增.外键) 目的:使得数据更准确,更完整. 约束的分类: 1.键约束 (1)主键约束 (2)唯一键约束 (3)外键约束 2.非空约束 3.默认值约束 4.自 ...

  6. 主键主键外键和索引_主键和外键的目的/用途是什么?

    主键主键外键和索引 Primary and foreign keys are a way in which to constrain related data together to ensure d ...

  7. MySql数据库主键外键与数据库设计

    MySql数据库主键外键与数据库设计 首先要指出的: 列.字段.属性是一个概念 行.记录.元组是一个概念 MySQL数据库CONSTRAINT约束:非空约束,唯一约束,主键约束,外键约束 show c ...

  8. Python攻城师————MySQL数据库(自增、外键、关键字)

    今日学习目标 正式学习MySQL数据库语句. 文章目录 今日学习目标 学习内容 一.自增特性 二.约束条件之外键 外键的定义 外键约束创建 三.查询关键字 查询关键字之select与from 查询关键 ...

  9. mysql中表的约束,主键外键唯一键

    mysql2 表的约束 空属性(NULL) 默认值 列描述 zerofill 主键 主键属性 复合主键 追加主键 删除主键 自增长 唯一键 外键 表的约束 空属性(NULL) 此时 name 的 Nu ...

最新文章

  1. 《企业大数据系统构建实战:技术、架构、实施与应用》——第3章 企业大数据解决方案 3.1 企业大数据解决方案实现方式...
  2. oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数
  3. 献给新手的深度学习综述
  4. Mac+docker+flask
  5. 百度地图手绘线坐标获取
  6. php扫描蓝牙设备接口,微信硬件蓝牙扫描某个设备接口onScanWXDeviceResult
  7. SAP、IFS、Maximo三产品在EAM角度的比较Lenon系列
  8. 加装的硬盘进入后点不了文件夹_Mac OS Catalina 挂载NTFS硬盘的问题 (无需第三方软件,几行代码即可)...
  9. 演练:创建和使用静态库 (C++)
  10. React Native实现一个带筛选功能的搜房列表(2)
  11. 阿尔伯塔大学的计算机科学专业好吗,阿尔伯塔大学哪个专业好?三大热门方向成就高薪未来...
  12. 数据库恢复相关知识笔记
  13. Laravel配置自带组件实现各类型邮件发送功能的代码实例
  14. 按钮先调用页面JS,JS成功才调用后台代码
  15. 漏洞复现之(MS17-010)
  16. FFMPEG解码H264成YUV
  17. 网站分析行业的“前途”和“钱途” [转载]
  18. 单身公寓app开发,年轻人的租房首选
  19. 认识PCIe---硬件篇
  20. java pdf 图片替换_Java 添加、替换、删除PDF中的图片

热门文章

  1. 使用ArcGIS为tif影像生成tfw文件
  2. MPLS隧道——跨域解决方案A、B讲解
  3. AxureRP9 中继器的简单使用
  4. Linux内核wait,进程调度 – Linux内核API wait_for_completion
  5. 10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第5天 2018/10.30
  6. 软件vmware获取ip地址失败
  7. html 多层画布,HTML画布——canvas
  8. 道路矢量下载 转shp格式
  9. div id与div class详解
  10. 【Sass中级】使用Sass和Compass制作雪碧图