- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第05章数据完整性
安徽工业经济职业技术学院计算机系 第5章 表的创建与管理 5.6.6 数据完整性 数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误的信息。保证数据符合规定,成了数据库系统关注的问题,数据完整性因此而提出。通过本章的学习,应该掌握以下内容: ????????????? 完整性的概念 ????????????? 使用约束实施数据完整性 ????????????? 5.6.1 完整性的概念 数据完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性. 数据完整性分为:实体完整性、域完整性、参照完整性、用户定义完整性。 5.6.1.1 实体完整性 实体是指表中的记录. 实体完整性将行定义为特定表的惟一实体。实体完整性要求表中不存在完全相同的记录,并具有一个非空且唯一的主键值. 实现实体完整性的方法:主键约束、惟一索引、惟一性约束、 标识列(IDENTITY )属性。 5.6.1 完整性的概念 5.6.1.2 域完整性 域完整性也称列完整性.它要求指定列中输入的数据必须具有正确的数据类型、格式以及有效的数据范围。 实现域完整性的方法: 限制类型(通过数据类型) 格式:检查(CHECK)约束和规则 可能值的范围:外键约束、检查(CHECK)约束、默认值 定义、NOT NULL 定义和规则。 5.6.1 完整性的概念 5.6.1.3 参照完整性 参照完整性又称为引用完整性.在输入或删除记录时,参照完整性保持表之间已定义的关系。在SQL Server 2005 中,参照完整性基于外键与主键之间或外键与惟一键之间的关系。参照完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。 实现参照完整性的方法: 外键约束、检查(CHECK)约束、触发器、存储过程 5.6.1 完整性的概念 5.6.1.4 用户定义的完整性 用户定义的完整性是应用领域需要遵守的约束条件,其允许用户定义不属于其他任何完整性分类的特定业务规则.所有的完整性类型都支持用户定义完整性. 实现方法: 规则、触发器、存储过程。 5.6.2 约束的类型 约束是SQL Server2005提供的自动强制数据完整性的一种方法,它是通过定义列的取值规则来维护数据的完整性. 主键(PRIMARY KEY)约束:主键约束用来强制数据的实体完整性,主键值可以惟一标识表中一行记录. 其特点是:每表只能一个主键,主键可以是一列,也可以是多列的组合,主键值必须唯一且不能为空(NULL). 惟一性(UNIQUE)约束:强制表中数据的实体完整性,主要用于非主键列中不允许输入重复值. 特点:一个表中可以有多个惟一约束;惟一约束可以定义在一列上也可以定义在多列上.空值可以出现一次. 非空(NOT NULL)约束:强制数据的域完整性,要求该列值不能为空. 检查(CHECK)约束:强制域完整性,它使用逻辑表达式来限制表中列可以接受哪些数据. 5.6.2 约束的类型 默认(DEFAULT)约束:强制数据的域完整性,它为表中列建立默认值. 外键(FOREIGN KEY)约束:外键是指表中的一列或列组合,虽不是该表的主键,但却是另一个表的主键(或候选键). 通过外键约束可以为相关联的两个表建立联系,实现数据的参照完整性,从而维护两表数据之间的一致性(外键表中不能存在主键表中没有的数据、不能删除主键表中对应在外键表中有的记录或者级联同时删除、不能修改主键表中对应在外键表中有的记录或者级联同时修改). 例如:学生表中的“班级代码”,班级表中的“班级代码” 5.6.3 约束的创建 5.6.3.1 创建主键约束 主键约束用来强制数据的实体完整性,主键值可以惟一标识表中一行记录. 一般每个表都应有一个主键。 使用“SSMS图形窗口界面”创建主键约束 使用 建表命令“CTEATE TABLE”创建主键约束 例:建立学生表并定义“学号”为主健 CREATE TABLE 学生 (学号 char(8) CONSTRAINT pk_stu PRIMARY KEY, 姓名 char(8),性别 chara(2), 出生日期 datetime,是否团员 bit) 其中“pk_stu”称为主键约束名,如果不指定约束名,系统将指定一默认约束名. 5.6.3 约束的创建 5.6.3.1 创建主键约束 使用修改表命令“ALTER TABLE”为已有表创建主键约束 例:在STUDENT数据库中的“课程注册”表中,指定字段“注册号”为表的主键. ALTER TABLE 学生选课 ADD CONSTRAINT PK_ZEC PRIMARY KEY (注册号) 5.6.3 约束的创建 5.6
文档评论(0)