博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库的四种类型的完整性约束
阅读量:6607 次
发布时间:2019-06-24

本文共 994 字,大约阅读时间需要 3 分钟。

数据完整性:是指存储在数据库中的所有数据值均正确的状态。

四种类型的完整性约束:
1、实体完整性约束:

表中的每一行数据都反映不同的实体,不能存在相同的数据行.

通过索引.唯一约束,主键约束或标识列属性,可以用来实现表的实体完整性.

索引:将文献中具有检索意义的事项(可以是人名、地名、词语、概念、或其他事项)按照一定方式有序编排起来,以供检索的工具书。
 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。  例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。
唯一约束:

比如一张表的学生姓名设置了唯一约束,那么学生的姓名就是不能重复的,只能是唯一的

 唯一约束保证在一个字段或者一组字段里地数据与表中其它行的数据相比是 唯一的附上与主键约束的区别,以更好理解创建唯一约束可确保在未参与主键的特定列中不输入重复值。尽管唯一约束和主键都强制唯一性,但如果情况如下,则应向表附加唯一约束而不是主键约束: 希望在某一列或某一组列中强制唯一性。您可以向表附加多个唯一约束,但只能向表附加一个主键约束。希望在允许空值的列中强制唯一性。您可以向允许空值的列附加唯一约束,但只能向不允许空值的列附加主键约束。当向允许空值的列附加唯一约束时,请确保在所约束的列中最多只有一行包含空值。

2、域完整性约束:

指给定列的输入有效性
通过
限制数据类型,
检查约束,
输入格式,
外键约束,
默认值,
非空约束
等多种方法,可以用来实现表的域完整性.
3、参照完整性约束:
在输入或删除数据行时,引用完性约束用来保持表之间已定义的关系
4:、用户定义的完整性约束:
用来定义特定的规则,例如,向用户信息表中插入一个用户记录时,要求通过身份证编号来检查另外一个数据库中是否存在该用户,并且该用户的信誉度是否满足要求等.如果不满足要求则不能够插入,这个时候就需要使用数据库的规则存储过程或者触发器来进行约束

转载于:https://www.cnblogs.com/secbook/archive/2012/07/12/2654873.html

你可能感兴趣的文章
去除input[type=number]的默认样式
查看>>
SD类型与协议
查看>>
运行时数据区域
查看>>
(36)老版和新版API调用
查看>>
Ubuntu 12.04 Desktop配置XAMPP【转】
查看>>
抓取网易公开课并下载
查看>>
perl-Thread-Queue for openwrt
查看>>
计算字符串中每种字符出现的次数[Dictionary<char,int>泛型集合用法]
查看>>
UI-text-field
查看>>
在生产环境中安全执行更新删除SQL脚本的技巧
查看>>
ubantu下安装软件
查看>>
PowerDeigner 一个很好的画uml 和建模的软件
查看>>
vs2012创建mvc4项目部署iis所遇到的问题
查看>>
jenkins下载
查看>>
卫语句学习
查看>>
【php】对PHPExcel一些简单的理解
查看>>
文档统一用Word编写之Word写&发送邮件(Office2007)
查看>>
JavaScript的简单继承实现案例
查看>>
第六篇 VIM你值得拥有!
查看>>
项目管理学习笔记之八.课程总结
查看>>