- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 数据库完整性 授课教师:刘跃娟 2013-12-6 数据库完整性 数据是数据库的核心,数据的正确和完整与否将直接影响数据库的使用。 数据的完整性和安全性是两个不同概念; 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 本次课内容 数据完整性概述 在SQL Server 2005中实现数据完整性 创建和管理约束及约束对象 创建和管理默认值对象 创建和管理规则对象 其他相关知识 触发器 一、数据库完整性概述 1、DBMS必须能够提供 提供定义完整性约束条件的机制 完整性约束条件 = 完整性规则,由SQL的ddl语句来实现; 提供完整性检查的机制 检查数据是否满足完整性约束条件的机制; 违约处理 若用户操作违反完整性约束条件,采取一定的动作,如拒绝执行(NO ACTION)、级联执行或其他操作; 2、数据库完整性约束机制分类 完整性约束条件作用的对象有关系、元组、列三种;可分为: 实体完整性:实体完整性是为了保证表中的数据唯一; 参照完整性:参照完整性用于确保相关联的表间的数据应保持一致,避免因一个表的记录修改,造成另一个表的内容变为无效的值.一般来说,参照完整性是通过外键和主键来维护的; 用户定义完整性:由用户自行定义的,不同于前面3种的完整性,也可以说一种强制数据定义; 1)实体完整性 实体(Entity):是数据逻辑模型中的一个概念。现实世界是一组实体的基本对象和这些对象的联系(Relation)构成的。在数据库中,我们可以理解一条记录就是一个实体。 实体完整性:在现实世界中,任何一个实体都有区别于其他实体的特征,即在数据库中,所有的记录都应该有惟一的标识,这就是实体完整性的含义(规则2.1:实体完整性规则)。 常见的实体完整性机制包括: 主键(Primary Key);惟一码(Unique); 2)参照完整性 参照完整性是指在两个表的主键和外键之间数据的完整性,其含义包括: 参照完整性保证被参照表和参照表之间数据的一致性; 可以防止数据丢失或者无意义的数据; 可以禁止在从表中插入被参照表中不存在的关键字的记录。 参照完整性的常见实现机制包括: 外键(Foreign Key)、检查(Check)、触发器(Trigger);存储过程(Stored Procedure) 在输入或删除记录时,可以用来保持所有表之间定义的关系,以确保键值在所有表中一致。 关系模型的参照完整性定义 在表定义中用FOREIGN KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照哪些表的主码 3)用户自定义完整性 用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求;可直接由RDBMS提供,而不必由应用程序承担;系统将实现数据完整性的要求直接定义在表上或列上。 常见的实现机制包括: 规则(Rule)、创建数据表时的所有约束(Constraint)、触发器(Trigger)、存储过程(Stored Produre); 二、在SQL Server 2005中实现数据完整性 SQL Server 2005提供了完善的数据完整性机制,主要包括规则、默认值和约束3类; 创建及管理约束及约束对象 默认值约束及默认值对象 创建及管理规则对象 1、创建及管理约束及约束对象 主键Primary key约束 惟一值Unique约束 外键Foreign key约束 检查Check约束 1)创建及删除主键约束及惟一值约束 单属性构成的码的两种说明方法 : 定义为列级约束条件,定义为表级约束条件 多个属性构成的码只有一种说明方法: 定义为表级约束条件 创建约束方式: 创建表时同时创建primary key约束或unique约束 修改表时同时创建primary key约束或unique约束 i)创建表时同时创建primary key约束或unique约束 语法结构: CREATE TABLE table_name (column_name data_type (NULL| NOT NULL) [ [CONSTRAINT constraint_name] { PRIMARY KEY | unique} [, ...n] 例1:定义数据表student时,为学号sno字段创建主键约束,对姓名sname字段定义惟一值约束; 方法1:在列级定义主码 Use stu CREATE TABLE student (Sno char(9) constraint sno_pk primary key, Sname char(8) constraint sname_uk uniqu
您可能关注的文档
- 9.3《大气压强》教学精编.ppt
- 7-3毕-萨定律精编.ppt
- 7-3分子轨道精编.ppt
- 7-3绝热过程精编.ppt
- 7-3热力学第一定律对理想气体等值过程的应用精编.ppt
- 7-4毕奥-萨伐尔定律精编.ppt
- 9_钢的热处理原理精编.ppt
- 9_光学参量过程精编.ppt
- 7-4疲劳断裂精编.ppt
- 9_空气流量计精编.ppt
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)