关系型数据库的约束机制

关系型数据库的约束机制

约束机制提供了一条强大而建议的途径来保证数据库中数据的完整性。

数据完整性的三个规则

实体完整性

​ 指关系的主属性(就是俗称主键的一些字段,主键的组成部分)不能出现空值和重复的值。在InnoDB存储引擎中,用户可以定义主键(Primary Key)和唯一(Unique Key)约束来保证实体的完整性。

域完整性

​ 保证数据每列的值满足特定的条件。InnoDB存储引擎中保证域完整性的方法:<1>选择合适的数据类型保证一个数据值满足特定条件;<2>外键(Foreign Key)约束;<3>编写触发器.

参照完整性

​ 保证两张表之间的关系。InnoDB存储引擎支持外键,用户可以通过外键来强制参照完整性,也可以通过编写触发器来强制执行。

约束

主键约束(PRIMARY KEY)

​ 主键约束指定表中的一列或者几列的组合的值在表中不能出现空值和重复值,即唯一的标识一行记录。其中IMAGE和TEXT类型的列不能被指定为主关键字,主键列也不能有NULL属性。其中多列组成的主键叫联合主键,而联合主键只能设定为表级约束;单列组成的主键,既可以设定为列级约束,也可以设定为表级约束。

单列主键
-- 直接对字段田间primary key 关键字。
create table student(
id INT PRIMARY KEY,
name VARCHAR(20)
)
-- 额外添加约束
create table student(
id INT NOT NULL,
name VARCHAR(20),
CONSTRAINT PK_stu_ID PRIMARY KEY(id)
-- 其中PK_stu_ID为约束的名称
)
联合主键

如果一个列不能满足需求,可以使用多个列组合为主键。

CREATE TABLE student (
	name VARCHAR (20),
	class VARCHAR(20),
	age INT,
	CONSTRAINT PK_stu_ID PRIMARY KEY(name,class)
)
其他操作
-- 删除主键约束
ALTER TABLE student DROP PRIMARY KEY;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值