菜鸟总结之——数据完整性

菜鸟总结之——数据完整性,第1张

概述     数据库是我们存放数据的仓库,而需要我们保存的数据肯定都是精确而且可靠的,当我们对这些数据做一些增删改查时,保护数据的完整和一致是我们必须做到的。所以我们下面来说说数据的完整性。 我们先来看这张图: 一:概念与作用的联系。         在SQLServer联机丛书中,将数据完整性解释如下:“存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数

     数据库是我们存放数据的仓库,而需要我们保存的数据肯定都是精确而且可靠的,当我们对这些数据做一些增删改查时,保护数据的完整和一致是我们必须做到的。所以我们下面来说说数据的完整性。

我们先来看这张图:

一:概念与作用的联系。

        在sqlServer联机丛书中,将数据完整性解释如下:“存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。也就是说数据完整性就是指数据的精确性和可靠性。概念与作用是一体的,它就是为了达到保护数据精确性和可靠性而提出的一个概念。

二:分类和方式的对应。

       从图中可以看出:

     1.Primary Key(主键约束)是实体完整性的体现。

    2. 域完整性则是对表中的字段做了要求,它对应的是方式中的数据类型、Not Null约束、Check束、Foreign Key约束、Default约束和默认值

     3.参照完整性:指两个表的主键和外键的数据应对应一致。

它的作用有:

             1)禁止在从表中插入包含主表中不存在的关键字的数据行。

             2)禁止会导致从表中相应值孤立的主表中的外键值的改变。

             3)禁止删除在从表中有对应记录的主表的记录。

三:check约束与规则。

        规则是一个向后兼容的功能,用于执行一些与CHECK约束相同的功能。       CHECK约束是用来限制列值的首选标准方法。       一个列只能应用一个规则,但是却可以应用多个CHECK约束。       规则需要单独创建,check约束在建表的同时就可以创建。       规则比check约束更复杂功能更强大。       规则只需创建一次,以后就可以多次使用,可以应用于多了表多了列,还可以用到用户定义的数据类型上。

四:默认值与Default约束的区别

       两者的作用相同,只是默认值更类似与规则,它独立于表,可以通过定义一次,多次应用的任意表任意列,还可以用到用户定义的数据类型上。

五:如何选择方法。

        在这些方法中,触发器功能强大,即可以维护基础的数据完整性逻辑,又可以维护复杂的完整性逻辑,如多表的级联 *** 作,但是开销较高;约束的功能比触发器弱,但开销底;默认和规则功能更弱,开销也更低;数据类型提供最低级别的数据完整性功能,开销也是最底的。

         在选择完整性方案时,应该遵循在完成同样任务的条件下,选择开销底的方案解决。也就是说,能使用约束完成的就不用触发器;能用数据类型完成的功能,就不用规则来完成。

附一张图是三种类型数据完整性实施方法的比较:

总结

以上是内存溢出为你收集整理的菜鸟总结之——数据完整性全部内容,希望文章能够帮你解决菜鸟总结之——数据完整性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1177765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存