数据库基础知识六:约束与索引

约束

全称完整性约束,它是关系数据库中的对象,用来存放插入到一个表中一列数据的规则,用来确保数据的准确性和一致性。
可以在创建表时规定约束,或者在表创建之后。

约束的种类:

NOT NULL (非空约束):
非空约束强制列不接受 NULL 值。

UNIQUE (唯一约束):
唯一性约束用来限制不受主键约束的列上的数据的唯一性,
每个表可以有多个 唯一 约束,但是每个表只能有一个主键约束。
主键约束不允许出现NULL值。但唯一约束允许包含NULL值
唯一约束把两个NULL值当作重复值,所以施加了唯一约束的列只允许包含一个空值
可以使用多个字段建立唯一约束.

PRIMARY KEY (主键约束):
主键 拥有自动定义的 UNIQUE 约束
主键 唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值

FOREIGN KEY (外键约束):
一个表中的 外键 指向另一个表中的 主键
外键 约束用于预防破坏表之间连接的动作。
外键 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

CHECK (检查约束):
CHECK 约束用于限制列中的值的范围。

DEFAULT(默认值约束):
默认值约束用于向列中插入默认值。
在插入数据时若没有设置包含默认值约束的列,那么会将默认值添加到该记录

索引

1:索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,数据库中用的最频繁的操作是数据查询,索引就是为了加速表中数据行的检索而创建的一种分散的数据结构。可以把索引类比成书的目录。
2:在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据,实现数据查询的优化。
3:可以创建包含多个字段的索引,也可以在一个表上创建多个索引。
4:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列上面创建索引

唯一索引
唯一是指索引的键值唯一,不是指一个表只能有一个唯一索引
唯一索引可以确保任何生成重复键值的尝试都会失败

约束与索引

概念上不同,约束是为了保证数据的完整性,索引是为了辅助查询。

唯一性约束与唯一索引有所不同:

1:约束作用于表上的某一列,索引可由多列组成。
2:创建唯一约束时,会自动的创建唯一索引(为了保证没有重复值,在插入新记录时会再检索一遍,怎样检索快,当然是建索引了,所以,在创建唯一约束的时候就创建了唯一索引)。也就是说其实唯一约束是通过创建唯一索引来实现的。
3:创建唯一索引只会创建一个唯一索引,不会创建约束。
4:在删除时这两者也有一定的区别:删除唯一约束时可以只删除约束而不删除对应的索引,所以对应的列还是必须唯一的,而删除了唯一索引的话就可以插入不唯一的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值