(4.1.1)-4.1数据完整性基础_第1页
(4.1.1)-4.1数据完整性基础_第2页
(4.1.1)-4.1数据完整性基础_第3页
(4.1.1)-4.1数据完整性基础_第4页
(4.1.1)-4.1数据完整性基础_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

数据完整性基础内容提要数据完整性的含义、约束、默认与规则数据完整性基础数据完整性的含义数据的完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性。数据库中是否存在完整的数据,关系到数据库系统能否真实地反映现实世界。在关系数据库中,数据完整性可归纳以下四种类型:(1)实体完整性“实体完整性”要求表中的每条数据记录都是唯一的个体,也就是每条数据记录必须拥有唯一标识符。唯一标识符是字段中的值,能够用来区别各条数据记录。例如,学号可作为学生数据记录的唯一标识符,这样就可以保证学生记录的惟一性。实现实体完整性的方法主要有主键约束、惟一索引、惟一约束和指定IDENTITY属性。数据完整性基础数据完整性的含义(2)域完整性“域完整性”也可称为列完整性,要求存入字段中的数据值必须符合特定的条件(数据类型、格式以及有效的数据范围),以及决定字段是否允许接受Null值。例如,在“成绩信息表”中,对学生成绩列输入数据时,不能出现字符,也不能输入小于0或大于100的数值。(3)引用(通过外键约束)完整性引用完整性涉及两个或两个以上表的数据的一致性维护。当添加、删除或修改数据库表中的记录时,可以借助引用完整性来保证相关联的表之间的数据一致性。例如,在班级管理系统中,如果一个学生的学生证丢失了,需要重新注册一个新的学生证,则应在“学生信息表”表中修改学号。考虑到由于“成绩信息表”表中仍可能有原学生的学生证信息,因此必须在“成绩信息表”或其他相关联的表进行同步修改,否则其他表中的相关记录就会变成无效记录。通过引用(通过外键约束)完整性,可以使几个相关表的学号同时修改。数据完整性基础数据完整性的含义(4)用户定义完整性用户定义完整性,指的是由用户指定的一组规则,它不属于实体、域或引用完整性。例如,想查找到年龄大于18岁的学生,可以设置学生信息表中的年龄属性(Age)大于18岁。数据完整性基础约束在SQLServer系统中,实现数据库完整性提供了2种途径:约束和规则、默认之类的对象。其中约束是用来对用户输入到表或字段中的值进行限制。在SQLServer系统中,约束的定义主要是通过CREATETABLE语句或ALTERTABLE语句来实现的。使用CREATETABLE语句,是在建立新表的同时定义约束。使用ALTERTABLE语句,是向已经存在的表中添加约束。约束可以是字段级约束,也可以是表级约束。约束的创建方法有两种:使用CREATETABLE语句创建约束,使用ALTERTABLE语句创建约束。数据完整性基础约束的类型在SQLServer系统中,对表的属性列(字段)施加的约束可划分为以下五类:主键(PRIMARYKEY)约束;惟一性(UNIQUE)约束;默认值(DEFAULT)约束;外键(FOREIGNKEY)约束;检查(CHECK)约束。数据完整性基础约束1.主键(PRIMARYKEY)约束PRIMARYKEY(主键)约束。主键约束用来强制数据的实体完整性,它是在表中定义一个主键来惟一标识表中的每行记录。主键约束有如下特点:每个表中只能有一个主键,主键可以是一列,也可以是多列的组合;主键值必须惟一并且不能为空,对于多列组合的主键,某列值可以重复,但列的组合值必须惟一。一般应在设计阶段就应该决定哪些字段创建为主键,因此在创建表的同时就创建主键。若创建表时没有创建主键,以后也可对已有的表创建主键。用户通过SQLServer管理平台或CREATETABLE命令都可以创建主键。数据完整性基础约束2.惟一性(UNIQUE)约束惟一性约束的作用是保证在不是主键的字段上不会出现重复的数据。使用惟一性约束和主键约束都可以保证数据的惟一性,但它们之间有两个明显的区别:一个表只能定义一个主键约束,但可以定义多个惟一性约束。定义了惟一性约束的字段的数据可以为NULL值,而定义了主键约束的字段的数据不能为NULL值。如果表除了用主键约束外,还有其他字段也需要进行惟一性的验证,可使用惟一性约束确保单一字段(或多个字段组合后)的值是不重复的。例如,希望系统能帮助验证学号的惟一性,则将“学号”字段设置惟一性约束即可。数据完整性基础约束3.默认值(DEFAULT)约束DEFAULT约束用于指定一个字段的默认值。它的作用是:当向表中插入数据时,如果用户没有给某一字段输入数据,则系统自动将默认值作为该字段的数据内容。向表中添加数据时,如果没有输入字段值,则此字段的值可能是下面几种情况:此字段定义了默认值,则此字段的内容为默认值;此字段未定义默认值,而且允许为NULL值,则NULL值将成为该字段的内容;此字段未定义默认值,也不允许为NULL值,保存时将会出现错误信息,而且添加数据操作失败。对于一个不允许为NULL值的字段,默认值显得非常重要。当用户添加数据记录时,如果当时尚不知字段的值,而该字段又不允许为NULL值,则设置默认值为上策。比如,“学生信息表”中有“年龄”字段,要求此字段不允许为NULL值,但操作员添加新生时不知该项生的年龄,“年龄”字段便没有输入数据。如果不对该字段设置默认值,则保存时将发生错误,而拒绝接受数据;如果设置默认值为“18”,则保存时将默认值“18”作为该字段的内容,而不会拒绝接收数据,待弄清类别后再修改此字段为正确的值。数据完整性基础约束4.外键(FOREIGNKEY)约束FOREIGNKEY约束即外键约束,用于维护同一数据库中两表之间的一致性关系。如果希望一个表中的字段(或字段组合)与其他表中的主键字段(或具有惟一性约束的字段,或字段组合)相关,这个字段(或字段组合)就成为前一个表中的外键。外键约束将限制破坏这种关联的操作。数据完整性基础约束5.检查(CHECK)约束检查约束可以用来限制字段上可以接受的数据值。检查约束使用逻辑表达式来限制字段上可以接受的数据值。检查约束通过检查输入表中字段的的数据值来维护域完整性。比如,在“授课表”中,可以指定“学时数”字段的值必须大于零。这样当插入记录时,若此字段输入了0或负数时,插入操作失败,从而保证了表中数据的正确性。用户可以在一个字段上使用多个检查约束,也可以在表上建立一个可在多个字段上使用的检查约束。数据完整性基础默认与规则1、默认也称默认值、缺省值,是一种数据对象,它与DEFAULT(默认)约束的作用相同,也是当向表中输入数据的时候,没有为列输入值的时候,系统自动给该列赋一个“默认值”。与DEFAULT约束不同的是默认对象的定义独立于表,类似规则,可以通过定义一次,多次应用任意表的任意列,也可以应用于用户定义数据类型4.1.1数据完整性基础默认与规则2、规则类似于CHECK约束,是用来限制数据字段的输入值的范围,实现强制数据的域完整性。但规则不同于CHECK约束,在前面用到的CHECK约束可以针对一个列应用多个CHECK约束,但一个列不能应用多个规则;规则需要被单独创建,而CHECK约束在创建表的同时可以一起

温馨提示

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

评论

0/150

提交评论