06实现数据完整性约束.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《06实现数据完整性约束.pptx》由会员分享,可在线阅读,更多相关《06实现数据完整性约束.pptx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库技术与应用数据库技术与应用袁宝库实现数据完整性约束o数据完整性基本概念 o实现声明完整性 o实现过程完整性 数据完整性基本概念数据完整性基本概念o数据的完整性是为了防止数据库中存在不符合语义的数据。o这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。o这些约束条件作为表定义的一部分存储在数据库中。oDBMS检查数据是否满足完整性条件的机制就称为完整性检查。完整性约束条件的作用对象完整性约束条件的作用对象o列级约束n对数据类型的约束n对数据格式的约束n对取值范围或取值集合的约束n对空值的约束o元组约束n元组中各个字段之间的联系的约束,如:开始日期小于结束日期。o关系约束n是若干元
2、组之间、关系之间的联系的约束。实现数据完整性的方法实现数据完整性的方法 o一种是在定义表时声明数据完整性,称为声明完整性,o另一种是在服务器端编写触发器来实现,称为过程完整性。o在执行对数据的增、删、改操作时,数据库管理系统自动检查用户定义的完整性约束条件。实现声明完整性实现声明完整性 o主码约束n每个表只能有一个PRIMARY KEY约束;n用PRIMARY KEY约束的列取值不能有重复,而且不允许有空值;o添加主码约束的语法格式:ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY(,n)实现声明完整性实现声明完整性 例:对雇员表和工作表添加主码约束A
3、LTER TABLE 雇员表 ADD CONSTRAINT PK_EMP PRIMARY KEY(雇员编号)ALTER TABLE 工作表 ADD CONSTRAINT PK_JOB PRIMARY KEY(工作编号)UNIQUE约束 o用于限制在一个列中不能有重复的值。o用在事实上具有惟一性的属性列上,比如每个人的身份证号码、驾驶证号码等均不能有重复值。o注意:n允许有一个空值;n在一个表中可以定义多个UNIQUE约束;n可以在一个列或多个列上定义UNIQUE约束。添加UNIQUE约束o添加UNIQUE约束的语法格式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 UN
4、IQUE(,n)o例为雇员表的“电话”列添加UNIQUE约束。ALTER TABLE 雇员表 ADD CONSTRAINT UK_SID UNIQUE(电话)外码约束o实现引用完整性。o外码所引用的列必须是有PRIMARY KEY约束或UNIQUE约束的列。o添加FOREIGN KEY约束的语法格式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY()REFERENCES 引用表名()示例o例为雇员表的工作编号添加外码引用约束。ALTER TABLE 雇员 ADD CONSTRAINT FK_job_id FOREIGN KEY(工作编号)REFER
5、ENCES 工作表(工作编号)DEFAULT约束o用于提供列的默认值。o只有在向表中插入数据时才检查DEFAULT约束。o添加DEFAULT约束的语法格式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 列名o例定义雇员表的工资的默认值为1000。ALTER TABLE 雇员 ADD CONSTRAINT DF_SALARYDEFAULT 1000 FOR 工资 CHECK约束o用于限制列的取值在指定的范围内,使数据库中存放的值都是有意义的。o系统在执行INSERT语句和UPDATE语句时自动检查CHECK约束。oCHECK约束可约束同一个
6、表中多个列之间的取值关系。o添加CHECK约束的语法格式为:ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(逻辑表达式)示例o限制雇员的工资必须大于等于200。ALTER TABLE 雇员 ADD CONSTRAINT CHK_SalaryCHECK(工资=200)o限制工资表的最低工资小于等于最高工资。ALTER TABLE 工作 ADD CONSTRAINT CHK_Job_Salary CHECK(最低工资=最高工资)实现过程完整性o过程完整性是指在服务器端通过编写实现约束的一段代码来实现数据完整性约束,这段代码就称为触发器。o触发器是用编程的方法实现复杂
7、的商业规则,它可以实现一般的数据完整性约束实现不了的复杂的完整性约束。事务的基本概念o事务o事务的特征oSQL事务处理模型事务o事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。o例如:对于一个转帐活动:A帐户转帐给B帐户n元钱,这个活动包含两个动作:n第一个动作:A帐户 n n第二个动作:B帐户 n事务的特征o原子性(Atomicity):指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。o一致性(Consistency):指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。o隔离性(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 06 实现 数据 完整性 约束
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内