SQL Server的数据库完整性及实现方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

插入数据时,如果Βιβλιοθήκη Baidu有明确提供列值,则用默认值作 为该列的值。
指定某个列或列组可以接受的范围,或指定数据应满 足的条件。 指定主码,确保主码值不重复,并不允许主码为空值。 指出数据应具有唯一值,防止出现冗余。 定义外码、被参照表和主码。 约束类型和完整性功能
3.实现数完整性的具体方法
(2)声明数据完整性约束的定义 声明数据完整性约束可以在创建表和修改表语句中定 义。约束分列级约束和表级约束两种:列级约束定义时, 直接跟在列后,与列定义子句之间无“,”分隔;元组级 约束和表级约束要作为语句中的单独子句,与列定义子句 或其他子句之间用“,”分隔。
SQL Server的数据库完整性及实现方法
2015
数据库的完整性:数据完整性就是指 存储在数据库中的数据正确无误并且相关 数据具有一致性。数据库中是否存在完整 的数据关系到数据库系统能否真实的反映 现实世界。它是衡量数据库中数据好坏的 一种标志,是确保正确的数据被存放在正 确的位置的一种手段。例如:学校的学生 学号必须是唯一的;性别只能为男或女; 学生所在的系必须是学校已开设的系等。
1.数据库完整性的分类
(1)域完整性 域完整性为列级和元组级完整性。它为列或列组指定一个有效的数据 集,并确定该列是否允许为空。域完整性要求向表中指定列输入的数 据必须具有正确的数据类型、格式以及有效的数据范围。实现域完整 性的方法主要有CHECK约束、外键约束、默认约束、非空定义、规则以 及在建表时设置的数据类型。 (2)实体完整性 实体完整为表级完整性,它维护表中所有元组都应该有唯一的标识符, 这个标识符就是平常所说的主码。实现实体完整性的方法主要有主键 约束、唯一索引、唯一约束和指定属性 。
(3)参照完整性
引用完整性是指作用于有关联的两个或两个以上的表,通过使用主键 和外键或主键和唯一键之间的关系,使表中的键值在所有表中保持一 致。
2.数据完整性的两种方式
(1)声明数据完整性
声明数据库完整性通过在对象定义、系统本身自动 强制来实现。声明数据完整性包括各种约束、默认 和规则。 (2)过程数据完整性
you
3.实现数完整性的具体方法
例: CREATE TABLE S_B (学号 CHAR(5), 书号 CHAR(5), 借阅时间 DATATIME, 归还时间 DATATIME,
CONSTRAINT P_Y PRIMARY KEY (学号,书号))
此例题就是建立了一个表级主键。 在student库中,建立一个民族表(民族代码,民族名称),将民族代码指定为主键。
CREATE TABLE 民族
( 民族代码 民族名称 GO char(2) CONSTRAINT pk_mzdm PRIMARY KEY, varchar(30) NOT NULL)
此例题就是建立了一个列级主键
3.实现数完整性的具体方法
(3)默认和规则 默认(DEFAULT)和规则(RULE)都是数据库对象。当它们被创建后,可以 绑定到一列或几列上,并可以反复使用。当使用INSERT语句向表中插 入数据时,如果设有为绑定有DEFAULT的列指定数据,系统就会将 DEFAULT指定的数据插入;如果绑定有RULE的列,则所插入的数据必须 符合RULE的要求。 默认和规则与约束相比,功能较低但开支大。所以,如果默认和规则 可以使用约束方法表示,要尽可能采用约束数据完整性方法处理。 (4)触发器 触发器是一个特殊的存储过程。在创建触发器时通过CREATE TRIGGER 语句定义触发器对应的表、执行的事件和触发器的指令。当发生事件 后,会引发触发器执行,通过执行其指令,保证数据完整性。 触发器的用途是维护行级数据的完整性,它不能返回结果集。与CHECK 约束相比,触发器能强制实现更加复杂的数据完整性,能执行操作或 级联操作,能实现多行数据间的完整性约束,能维护非正规化的数据。
过程数据完整性通过使用脚本语言定义,系统在执 行这些语言时,强制完整性实现。过程数据完整性 包括触发器和存储过程等。
3.实现数完整性的具体方法
SQL Server实现数据完整性的主要方法有约束、默认、规则和触发器,实现数 据约束方法要通过数据对象的定义和管理。 (1)SQL Server约束的类型 完整性类型 约束类型 默认 域完整性 检查 实体完整性 参照完整性 主码 唯一值 外码 完整性功能描述
相关文档
最新文档