- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上一页 下一页 返回本章首页 SQL SERVER中的数据完整性 1 数据完整性概述 “数据完整性”是指存放在数据库中数据的一致性和准确性,通俗地将就 是限制数据库表中可输入的数据。它是为了防止数据库中存在不符合语义规定 的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 保证数据库的数据完整性,在数据库管理系统中是十分重要的,它是衡量 数据库中的数据质量的重要标志。满足数据完整性的数据具有以下特点:数据 正确无误;数据的存放必须确保同一表格数据之间的和谐关系;数据的存放必 须维护不同表格之间的和谐关系。 2 数据完整性分类与实施 2-1 数据完整性分类 (1)实体完整性 (2)域完整性 (3)参照(引用)完整性 (4)用户定义完整性 3 约束 约束是SQL Server 提供的自动保持数据库完整性的一种方法,它是通过限 制列中数据行中数据和表之间数据来保持数据完整性。 约束是独立于表结构的,作为数据库定义部分在CREATE TABLE语句中声明, 可以在不改变表结构的基础上,通过ALTER TABLE语句添加或者删除.当表被删 除时,表所带的所有约束定义也随之被删除。 在SQL Server 中主要有下列约束: 主键约束(Primary Key Constraint) 外键约束(Foreign Key Constraint) 唯一性约束(Unique Constraint) 检查约束(Check Constraint) 默认值约束(Default Constraint) 级联引用完整性约束 NULLable约束 sp_helpconstraint table_name 查看约束信息 主键约束 表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。 一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。 如果 PRIMARY KEY 约束定义在不止一列上,则一列中的值可以重复,但 PRIMARY KEY 约束定义中的所有列的组合的值必须唯一。 主键约束应用举例 1:在创建表时,同时设定该约束 create table xy ( 学号 char(4) primary key , 姓名 char(8)) 2:若表已存在,添加列的同时设定该约束 alter table xy add 学号 char(4) primary key 3:若表和指定列都已存在,则可单独添加该列的约束 alter table xy add constraint 学号_nst primary key(学号) 外键约束 参照完整性要求:外部键值必须引用有效的主键值,所以这项约束是对于外部键的约束。 当要实现这类要求应用时,则可使用参照完整性声明。 CREATE TABLE SC (S# CHAR(4), C# CHAR(4), GRADE SMALLINT, PRIMARY KEY(S#,C#), FOREIGN KEY(S#) REFERENCES S(S#), FOREIGN KEY(C#) REFERENCES C(C#), CHECK(GRADE BETWEEN 0 AND 100)) 外键约束应用举例 修改表定义加入外键约束 Alter table xsxk add constraint fk_学号 foreign key(学号) references xsxx(学号) on delete cascade 级联的作用:将把主表中的记录及其相关的从表中的记录一起删除。 删除顺序是:首先删除从表中的记录,然后再删除主表中的记录。 注: 若启用了级联删除选项,执行删除主表的记录的命令,也会同时删除从表中所有相关的记录行。 唯一性约束 使用惟一值unique约束的用途是保证指定列中的每一个值都必须是唯一的 1:在创建表时,同时设定该约束 create table xs ( 学号 char(4) unique, 姓名 char(8) , 借书证号 char(6) not null) 2:若表已存在,添加列的同时设定该约束 a
文档评论(0)