博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
orcale 之 数据完整性约束
阅读量:6677 次
发布时间:2019-06-25

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

  数据完整性约束是对数据描述的某种约束的条件,在关系型数据库中一般有:完整性约束,实体完整性约束,参照完整性约束和用户自定义完整性约束。

  实体完整性约束

    在数据库中一张表一般对应一个现实生活中的实体,比如学生信息表一般对应学生的集合。我们所知道世界上没有完全相同的两片树叶,那么同样的道理表中的数据肯定也是不一样的,所以我们要有某种标识去进行分辨。在关系模型的数据库总我们用主键作为唯一的标识进行区分。在这里需要提醒主键不能为空值,空值就是没有意义的值。如果主键为空那就说明某个实体不可标识,这与现实是自相矛盾的,所以这个实体就不是完整的。因此实体完整性约束就是规定表中的每一行数据都是唯一的实体。

  参照完整性约束

    我们知道在现实的生活中实体之间会有这一定的关系,在关系型数据库中实体与实体之间都是通过关系来进行描述的。

    比如现在有两张表:部门信息表(部门的主键FID, 部门的名称FName,部门的级别FLevel),员工信息表(工号FNumber,姓名FName, 所属部门FDepartmentId).为了表示部门信息和员工信息之间的关联关系,我们在员工信息表中保存着部门信息表中的主键(FDepartmentId - FID),这里告诉你这个 FDepartmentId 就是员工信息表的外键。因此参照完整性约束就是指两个表中的主键和外键的数据必须一致,这样就保证了表之间的数据一致性,防止数据丢失或者有脏数据的进入。

  用户定义的完整性约束

     上面提到的实体完整性和参照完整性适用于任何的关系型数据库。但是当应用环境不同的时候我们需要定义自己的约束条件。比如:员工的年龄不能为负数等。

    用户定义的完整性就是针对某一个具体的关系型数据库的条件约束,它反映了某一具体应用所满足的语义条件。在关系型数据库中提供了定义和检查这类约束的机制,以便用户用统一的方法去进行管理。

转载于:https://www.cnblogs.com/brother-four/p/6380104.html

你可能感兴趣的文章
测试用例设计-WEB通用测试用例
查看>>
js中将数字和字符串相互转换的方法(转自脚本之家www.jb51.net)
查看>>
centos6.5-VMware虚拟机-双网卡绑定
查看>>
scala言语基础学习二
查看>>
《团队-科学计算器-项目总结》
查看>>
理解单例模式
查看>>
从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑...
查看>>
软件工程结对作业01
查看>>
面向对象----方法的重载
查看>>
阿花宝宝 Java基础笔记 之 多态
查看>>
589. N叉树的前序遍历
查看>>
二项式展开
查看>>
推荐系统-03-简单基于用户的推荐
查看>>
Android scaleType属性与ImagView中图片的显示的关系
查看>>
十、cent OS开启APR模式报错:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed...
查看>>
中文字符按拼音首字母排序(转)
查看>>
【mysql】一次有意思的数据库查询分析。
查看>>
C++获取window临时路径
查看>>
Python(面向对象编程—1)
查看>>
自己封装的数据通信服务组件DotNet.ServiceModel
查看>>