我的Oracle数据库学习笔记
Day 4 实体完整性约束
文章目录
为什么添加数据完整性约束 : 保证数据的安全性,准确性。
一 、数据完整性约束 的分类
- 实体完整性约束
- 域完整性约束
- 引用完整性约束
- 自定义完整性约束
二 、如何实现完整性约束
实现实体完整性约束
实体完整性约束 :保证表中实体数据的唯一性
实现: 主键约束 ,唯一约束
1. 主键约束 :
给表中添加主键 ,主键能够唯一确定每个实体信息的一个列或多个列的组合 (组合主
键)
主键列的特点 :唯一性,非空性
表中仅可以包含一个主键。
主键的选择的要求:最少性,稳定性
2. 如何给表中设置主键?
1)在创建表中设置 :
字段名 数据类型 primary key.
2)给现有表中添加主键约束:
alter table 表名
add constraint 约束名 primary key( 列名);
约束名 :pk_表名_列名 或 列名_pk
注意:如果添加约束的表中已有数据,则现有的数据也要满足约束要求,否则约束添加失败
例:给学生表中的学号列添加主键约束
alter table studentInfo
add constraint pk_studentId primary key(studentid);
唯一约束
1 唯一约束 : 唯一的,可空
表中可以包含多个唯一约束的列
2 给表中添加唯一约束
1) 在创建表时给列添加唯一约束
字段名 数据类型 unique;
- 对现有表添加唯一约束
alter table 表名
add constraint 约束名 unique(列名);
约束名 :uk_列名
注意: 如果添加约束的表中已有数据,则现有的数据也要满足约束要求,否则约束添加失败
主键约束与唯一约束的区别
- 主键约束:唯一,非空 ;唯一约束:唯一 ,可空
- 一张表中仅可以包含一个主键, 可以包含多个唯一约束的列
例:给学生表中的电话号码添加唯一约束
alter table studentInfo
add constraint uk_phone unique(phone);