读书频道 > 网站 > 网页设计 > SQL Server数据库管理与开发实用教程
3.6 实现数据完整性
15-11-06    下载编辑
收藏    我要投稿   
本书通过实例循序渐进地讲解了SQL Server 2014的理论知识和基本操作。主要内容包括:数据库的基本原理、SQL Server 2014概述、数据库和表的创建与管理、表中数据的查询、Transact_SQL、索引、视图、游标、事立即去当当网订购

数据完整性是指数据的正确性、一致性和安全性,它是衡量数据库中数据质量好坏的重要标准。当用户用INSERT、DELETE或UPDATE语句修改数据库内容时,数据的完整性就可能会遭到破坏。例如可能会出现下列情况:将无效的数据添加到数据库的表中,如产品的价格输入成负数;将存在的数据修改为无效的数据,如将Orders表中的SaleID修改为并不存在的销售员号;对数据库的修改不一致,如在产品表中修改了ProductID,但在OrderDetail表中的ProductID却没有得到修改等。

为了解决这些问题,保证数据的完整性,SQL Server提供了实施数据完整性的方法,包括约束、缺省、规则等。在SQL Server数据库中,数据完整性大致可划分为以下4种类型:

1.实体完整性(entity integrity)

实体完整性是指表中的每一行都能由称为主键的属性列来唯一标识,且不存在重复的数据行。作为唯一标识符的主键可能是一列,也可能是几列的组合,并且主键不可为空。

例如,在Seller表中可能由两个或多个销售员都叫‘张芳’,因此SaleName字段不能设为主键。给每一个销售员赋予唯一编码SaleID来标识他们,SaleID字段为主键。

2.域完整性(domain integrity)

域完整性是指限制向表中输入的值的范围,保证给定列的输入有效性。它可以通过限制数据类型、值域或数据格式来实现。

例如,销售员的性别只能是“男”或“女”,年龄必须在18~60岁之间,产品的价格不可能为负数等。

3.参照完整性(referential integrity)

参照完整性也叫引用完整性,是指当一个表引用了另一个表中的某些数据时,要防止非法的数据更新,以保持表格间数据的一致性。

例如,如果产品“p01003”被定购,在OrderDetail表中有一行表示××订单订购了“p01003”产品,订购数量为××,那么这个产品的代码必须存在于Product表中。这是为了保证订单只对可供应的产品有效,并且如果产品数据发生了变化,那么在OrderDetail表中的数据也将相应地发生变化。如果要删除某个Product.ProductID,则对应的OrderDetail.ProductID也将被全部删除,或者在存在对应的OrderDetail.ProductID的前提下,不允许删除该Product.ProductID。

参照完整性可通过外键约束来实现,如图3-55所示。

4.用户定义完整性

用户定义完整性主要是体现实际运用的业务规则。它可以通过前面3种完整性的实施得到维护。


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站