SQL Server的数据库完整性及实现方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.实现数完整性的具体方法
例: CREATE TABLE S_B (学号 CHAR(5), 书号 CHAR(5), 借阅时间 DATATIME, 归还时间 DATATIME,
CONSTRAINT P_Y PRIMARY KEY (学号,书号))
此例题就是建立了一个表级主键。 在student库中,建立一个民族表(民族代码,民族名称),将民族代码指定为主键。
插入数据时,如果没有明确提供列值,则用默认值作 为该列的值。
指定某个列或列组可以接受的范围,或指定数据应满 足的条件。 指定主码,确保主码值不重复,并不允许主码为空值。 指出数据应具有唯一值,防止出现冗余。 定义外码、被参照表和主码。 约束类型和完整性功能
3.实现数完整性的具体方法
(2)声明数据完整性约束的定义 声明数据完整性约束可以在创建表和修改表语句中定 义。约束分列级约束和表级约束两种:列级约束定义时, 直接跟在列后,与列定义子句之间无“,”分隔;元组级 约束和表级约束要作为语句中的单独子句,与列定义子句 或其他子句之间用“,”分隔。
SQL Server的数据库完整性及实现方法
2015
数据库的完整性:数据完整性就是指 存储在数据库中的数据正确无误并且相关 数据具有一致性。数据库中是否存在完整 的数据关系到数据库系统能否真实的反映 现实世界。它是衡量数据库中数据好坏的 一种标志,是确保正确的数据被存放在正 确的位置的一种手段。例如:学校的学生 学号必须是唯一的;性别只能为男或女; 学生所在的系必须是学校已开设的系等。
过程数据完整性通过使用脚本语言定义包括触发器和存储过程等。
3.实现数完整性的具体方法
SQL Server实现数据完整性的主要方法有约束、默认、规则和触发器,实现数 据约束方法要通过数据对象的定义和管理。 (1)SQL Server约束的类型 完整性类型 约束类型 默认 域完整性 检查 实体完整性 参照完整性 主码 唯一值 外码 完整性功能描述
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 约束相比,触发器能强制实现更加复杂的数据完整性,能执行操作或 级联操作,能实现多行数据间的完整性约束,能维护非正规化的数据。
1.数据库完整性的分类
(1)域完整性 域完整性为列级和元组级完整性。它为列或列组指定一个有效的数据 集,并确定该列是否允许为空。域完整性要求向表中指定列输入的数 据必须具有正确的数据类型、格式以及有效的数据范围。实现域完整 性的方法主要有CHECK约束、外键约束、默认约束、非空定义、规则以 及在建表时设置的数据类型。 (2)实体完整性 实体完整为表级完整性,它维护表中所有元组都应该有唯一的标识符, 这个标识符就是平常所说的主码。实现实体完整性的方法主要有主键 约束、唯一索引、唯一约束和指定属性 。
(3)参照完整性
引用完整性是指作用于有关联的两个或两个以上的表,通过使用主键 和外键或主键和唯一键之间的关系,使表中的键值在所有表中保持一 致。
2.数据完整性的两种方式
(1)声明数据完整性
声明数据库完整性通过在对象定义、系统本身自动 强制来实现。声明数据完整性包括各种约束、默认 和规则。 (2)过程数据完整性
you