第5章 数据完整性_第1页
第5章 数据完整性_第2页
第5章 数据完整性_第3页
第5章 数据完整性_第4页
第5章 数据完整性_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章数据完整性5.1数据完整性概述5.2完整性的实现5.1数据完整性概述

关系模型中数据完整性主要是对数据库中的数据进行约束,以保证数据库中的数据的正确性和相容性。 关系模型中提供了3类完整性规则:实体完整性参照完整性自定义完整性。5.1数据完整性概述1.实体完整性实体完整性是指基本关系的主属性(或主键)不能取空值。2.参照完整性参照完整性是指两个表的主关键字和外关键字的数据应对应一致。3.用户定义完整性用户定义完整性是针对某一特定关系数据库的约束条件,由应用环境所决定5.2完整性的实现5.2.1列约束和表约束5.2.2默认约束5.2.3主键约束5.2.4惟一约束5.2.5CHECK约束5.2.6外键约束5.2.1列约束和表约束约束又分为列约束(ColumnConstraint)和表约束(TableConstraint)。列约束作为列定义的一部分只作用于此列本身。表约束作为表定义的一部分,可以作用于多个列。5.2.1列约束和表约束【例5.1】创建表BorrowList分别定义了列约束和表约束。CREATETABLEBorrowList(

借阅编号intidentity(1,1)NOTNULL,

图书编号varchar(50),

借书证编号varchar(50),

借阅时间datetime,

应还书时间datetime,

实际归还时间datetime,

续借时间datetime,

逾期罚款moneycheck(逾期罚款>=1and逾期罚款<=10),/*列约束*/constraintpk_编号primarykey(借阅编号,图书编号,借书证编号)/*表约束*/)5.2.2默认约束默认约束通过定义列的默认值或使用数据库的默认值对象绑定表的列,来指定列的默认值。【例5.2】在SSMS界面中,为图书借阅信息管理系统中的ReaderCard表的“性别”列创建缺省约束。5.2.2默认约束【例5.3】使用T-SQL语句,为图书借阅信息管理系统中的ReaderCard表创建名为DF_性别的DEFAULT约束,该约束的值为男。ALTERTABLEReaderCardADDCONSTRAINTDF_性别

DEFAULT(’男’)for性别5.2.3主键约束主键约束是一种基础性约束,主键约束(primarykey)定义了用于惟一标识某一行的一列或多列数据。在SQLServer2008中,主键约束具备以下几个特点:(1)被定义的主键列数据不允许有相同的值(2)被定义为主键约束的列,值不能为空值。(3)一张表只能定义一个主键约束。5.2.3主键约束1.在SSMS界面中,创建表时定义主键约束【例5.4】在SSMS界面中,为图书借阅信息管理系统中的BookInfo表的“图书编号”列创建主键约束,以保证图书编号的惟一性。5.2.3主键约束2.通过T-SQL语句为数据库中已经存在的表添加主键。【例5.5】使用T-SQL语句,为图书借阅信息管理系统中的CardType表的“卡类型编号”列添加主键约束,以保证“卡类型编号”的惟一性。ALTERTABLECardTypeADDCONSTRAINTpk_CardNoPRIMARYKEY(卡类型编号)5.2.4唯一约束惟一性(UNIQUE)约束指定一个或多个列的组合的值具有惟一性,以防止在列中输入重复的值。 惟一性约束指定的列可以有NULL

属性。由于主关键字值是具有惟一性的,因此主关键字列不能再设定惟一性约束。5.2.4唯一约束【例5.6】使用T-SQL语句,为图书借阅信息管理系统中的BorrowList表的“图书编号”和“借书证编号”两列添加惟一性约束。ALTERTABLEBorrowListADDCONSTRAINT

Uq_book_card_NoUNIQUE(图书编号,借书证编号)5.2.5检查(Check)约束

检查约束对输入列或整个表中的值设置检查条件,以限制输入值,保证数据库的数据完整性。可以对每个列设置检查约束。5.2.5检查(Check)约束【例5.7】使用T-SQL语句,为图书借阅信息管理系统中的BorrowList表“续借时间”添加检查约束,续借时间必须在应还书时间的10天前。ALTERTABLEBorrowListADDCONSTRAINTCK_tcheck(续借时间<应还书时间-10)5.2.6外键约束

外键约束(foreignkey)定义了表之间的关系。当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联。5.2.6外键约束【例5.8】使用T-SQL语句,为图书借阅信息管理系统中的BookInfo表中的图书编号和BorrowList表的图书编号建立外键约束。ALTERTABLEBorrowListAD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论