重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1268|回复: 0
打印 上一主题 下一主题

[Oracle] Oracle 19c中,主要有六种数据完整性约束

[复制链接]
跳转到指定楼层
楼主
发表于 2025-1-19 18:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在Oracle 19c中,主要有以下六种数据完整性约束:

一、主键约束(Primary Key Constraint)
定义与作用:用于唯一标识表中的每一行数据。一个表只能有一个主键,它可以由一个或多个列组成。主键列的值必须是唯一的且不能为NULL。
创建方式:
在创建表时指定主键约束,例如:CREATE TABLE employees (employee_id NUMBER(10) PRIMARY KEY, name VARCHAR2(50), department VARCHAR2(30));
也可以在已有的表上通过ALTER TABLE语句添加主键约束,如:ALTER TABLE employees ADD CONSTRAINT pk_employees PRIMARY KEY (employee_id);

二、唯一约束(Unique Constraint)
定义与作用:确保表中某一列或一组列的值是唯一的,但与主键不同的是,唯一约束列可以包含NULL值,并且一个表可以有多个唯一约束。
创建方式:
在创建表时指定唯一约束,如:CREATE TABLE users (user_id NUMBER(10), username VARCHAR2(50) UNIQUE, email VARCHAR2(100));
或者在已有的表上添加唯一约束,如:ALTER TABLE users ADD CONSTRAINT uq_username UNIQUE (username);

三、外键约束(Foreign Key Constraint)
定义与作用:要求一个表中的数据值必须匹配另一个表中的数据值,用于维护表与表之间的引用完整性。例如,员工表中的部门ID列可以设置为外键,引用部门表中的部门ID,从而确保员工表中的部门ID必须是部门表中存在的有效ID。
创建方式:
在创建表时指定外键约束,如:CREATE TABLE employees (employee_id NUMBER(10), department_id NUMBER(10), CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments(department_id));
也可以在已有的表上通过ALTER TABLE语句添加外键约束,如:ALTER TABLE employees ADD CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments(department_id);

四、非空约束(NOT NULL Constraint)
定义与作用:用于确保列中的值不能为NULL。
创建方式:在创建表时或修改表结构时指定列不允许为空,如:CREATE TABLE employees (employee_id NUMBER(10) NOT NULL, name VARCHAR2(50));

五、检查约束(Check Constraint)
定义与作用:用于确保列中的值满足特定的条件。例如,可以设置一个检查约束来限制员工表中的工资列必须大于0。
创建方式:在创建表时或修改表结构时添加检查约束,如:CREATE TABLE employees (employee_id NUMBER(10), salary NUMBER(10,2) CHECK (salary > 0));

六、REF约束
定义与作用:REF列默认引用另一个对象类型或关系表中的对象。REF约束可以进一步描述REF列与它所引用的对象之间的关系。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2025-2-5 04:58 , Processed in 0.107308 second(s), 22 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表