情景5 数据完整性及完整性约束

情景5 数据完整性及完整性约束

ID:5649142

大小:971.00 KB

页数:63页

时间:2017-11-15

情景5 数据完整性及完整性约束_第1页
情景5 数据完整性及完整性约束_第2页
情景5 数据完整性及完整性约束_第3页
情景5 数据完整性及完整性约束_第4页
情景5 数据完整性及完整性约束_第5页
资源描述:

《情景5 数据完整性及完整性约束》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、情景5数据完整性及完整性约束《SQLServer数据库技术及应用》数据完整性及完整性约束数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误信息。保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。数据完整性因此而提出。本情景将讲述数据完整性的概念及其在SQLServer中的实现法。目录任务1:掌握数据完整性任务2:掌握数据约束的实现任务1:掌握数据完整性5.1完整性的概念数据完整性(DataIntegrity)是指数据的精确性(Accuracy

2、)和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性(EntityIntegrity)、域完整性(DomainIntegrity)、参照完整性(ReferentialIntegrity)、用户定义的完整性(User-definedIntegrity)。5.1.1实体完整性(EntityIntegrity)实体完整性规定表的每一行在表中是唯一的实体。表中定义的UNIQUE、PRIMARYKE

3、Y和IDENTITY约束就是实体完整性的体现。5.1.2域完整性(DomainIntegrity)域完整性是指数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。表中的CHECK、FOREIGNKEY约束和DEFAULT、NOTNULL定义都属于域完整性的范畴。5.1.3参照完整性(ReferentialIntegrity)参照完整性是指两个表的主关键字和外关键字的数据对应一致。它确保了有主关键字的表中对应其表的外关键字的行存在,即保证了表之间的数据的一致性,防止了数据丢

4、失或无意义的数据在数据库中扩散。参照完整性是建立在外关键字和主关键字之间或外关键字和唯一性关键字之间的关系上的。5.1.4用户定义的完整性(User-definedIntegrity)不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。SQLServer提供了定义和检验这类完整性的机制,以便用统一的系统方法来处理它们,而不是用应用程序来承担这一功能。其他的完整性类型都支持用户定义的

5、完整性。5.2完整性的实施——约束5.2.1主键(PrimaryKey)表通常具有包含唯一标识表中每一行的一列或多列,这样的一列或多列称为表的主键(primarykey),用于实现表的实体完整性。主键具有以下特性:(1)保证表中唯一可区分记录行;(2)每个表只能存在一个主键;(3)主键可以由一个或多个字段组成;(4)主键不能为空也不能重复。5.2.1主键(PrimaryKey)【例5-1】由于在Student_info表中,需要用学号作为记录唯一区分的标志,可以把学号当作该表的PRIMARYKEY,如何

6、来完成设置呢?5.2.1主键(PrimaryKey)(1)打开SSMS(SQLServerManagementStudio)管理器,依次如图5-1展开各节点,点击“设计”选项。5.2.1主键(PrimaryKey)(2)右键单击要设置PRIMARYKEY的列,比如本例中选择右键Sid,在弹出的快捷菜单中选择“设置主键”选项,如图5-2所示。5.2.1主键(PrimaryKey)(3)完成后,在该字段前面将会显示一把钥匙,表示设置成功,如图5-3所示。5.2.1主键(PrimaryKey)(4)如果需要删

7、除主键,则在Sid上单击右键选择“删除主键”选项,如图5-4所示。5.2.1主键(PrimaryKey)第二种方法,使用T-SQL创建主键约束定义主键约束的基本语句格式如下:ALTERTABLE表名ADDCONSTRAINT约束名PRIMARYKEY(列或者列的组合)5.2.1主键(PrimaryKey)更普遍的使用方法是在创建Student_info表时,就把主键设置写进SQL代码中:CREATETABLEStudent_info(SidChar(8)PRIMARYKEY,SnameVarchar(1

8、0),SgenderChar(2),SbirthDatetime,SdepartChar(6),SaddrNvarchar(50),StelChar(14))5.2.2UNIQUE约束UNIQUE约束通过确保在列中不输入重复值保证一列或多列的实体完整性,比如说公民身份证号这一列就不允许出现重复值,每个UNIQUE约束都要创建一个唯一索引。对于实施UNIQUE约束的列,不允许有任意两行具有相同的索引值。与主键不同的是,SQLServer允许为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。