数据完整性在SQL SERVER中的实现课件_第1页
数据完整性在SQL SERVER中的实现课件_第2页
数据完整性在SQL SERVER中的实现课件_第3页
数据完整性在SQL SERVER中的实现课件_第4页
数据完整性在SQL SERVER中的实现课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

数据完整性在SQLSERVER中的实现最终的目的是:

要产生学生成绩管理

数据库ScoreDB的模式:数据完整性的含义?作用?什么是实体?什么是实体完整性?数据库实体就是数据库管理系统中的不同管理对象。数据库管理系统中的各种用于数据管理方便而设定的各种数据管理对象,如:数据库表、视图、存储过程等都是数据库实体。广义上讲,这些对象中所存储的数据也是数据库实体。因为它们也是确切存在着的实体。实体完整性要求每一个表中的主键字段都不能为空或者重复的值。实体完整性指表中行的完整性。要求表中的所有行都有唯一的标识符,称为主关键字。主关键字是否可以修改,或整个列是否可以被删除,取决于主关键字与其他表之间要求的完整性。 SQLServer2000中的数据完整性包括域完整性、实体完整性和参照完整性3种。(1)域完整性域完整性为列级和元组级完整性。它为列或列组指定一个有效的数据集,并确定该列是否允许为空值(NULL)。(2)实体完整性实体完整性为表级完整性,它要求表中所有的元组都应该有一个惟一标识,即主关键字。(3)参照完整性参照完整性是表级完整性,它维护从表中的外码与主表中主码的相容关系。如果在主表中某一元组被外码参照,那么这个元组既不能被删除,也不能更改其主码。在SQL中如何实现实体完整性?定义PRIMARYKEY约束CREATETABLEPersons(Id_PintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255),CONSTRAINTuc_PersonIDPRIMARYKEY(Id_P,LastName))这是定义在表级上的主键CREATETABLEPersons(Id_PintprimarykeyLastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255),)这是定义在列级上的主键定义在列级和表级上的主键的区别如下在列定义同时定义的约束称为列级完整性约束定义,作为表的独立的一项定义的完整性约束称为表级完整性约束。如果表的主码由多个列(超过1列)组成,则这样的主码也只能在表级完整性约束处定义,并注意将主码列用括号括起来,即PRIMARYKEY(列1{【,列2】...}) 可以使用UNIQUE约束确保在非主键列中不输入重复的值。尽管UNIQUE约束和PRIMARYKEY约束都强制唯一性,但想要强制一列或多列组合(不是主键)的唯一性时应使用UNIQUE约束而不是PRIMARYKEY约束。可以对一个表定义多个UNIQUE约束,但只能定义一个PRIMARYKEY约束。而且,UNIQUE约束允许NULL值,这一点与PRIMARYKEY约束不同。不过,当与参与UNIQUE约束的任何值一起使用时,每列只允许一个空值。FOREIGNKEY约束可以引用UNIQUE约束参照完整性什么是参照完整性?具体的含义是什么?在哪几种操作方式下实现一致性?当主码外码发生不一致时,系统可采取哪几种策略?二、具体的含义是什么?例如,如果在学生表和选修课之间用学号建立关联,学生表是主表,选修课是从表,那么,在向从表中输入一条新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在,则允许执行输入操作,否则拒绝输入,这就是参照完整性。参照完整性还体现在对主表中的删除和更新操作,例如,如果删除主表中的一条记录,则从表中凡是外键的值与主表的主键值相同的记录也会被同时删除,将此称为级联删除;如果修改主表中主关键字的值,则从表中相应记录的外键值也随之被修改,将此称为级联更新。三、在哪几种操作方式下实现一致性? 有三种方法 NOACTION指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚DELETE/UPDATE语句。 CASCADE、SETNULL和允许通过删除或更新键值来影响指定具有外键关系的表,这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作,那么指定的级联操作也将应用于删除或更新的那些行。不能为具有timestamp列的外键或主键指定CASCADE。定义FOREIGNKEY约束语法:CREATETABLEOrders(O_IdintNOTNULL,OrderNointNOTNULL,Id_Pint,PRIMARYKEY(O_Id),FOREIGNKEY(Id_P)REFERENCESPersons(Id_P))域完整性什么是域完整性?其实现机制有哪些?用户自定义完整性什么是用户定义完整性?其实现机制有哪些?什么是用户定义完整性?

用户自定义完整性指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用坏境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。定义default约束CREATETABLEOrder

温馨提示

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

评论

0/150

提交评论