电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPTX文档下载
分享到微信 分享到微博 分享到QQ空间

数据库技术与应用 教学课件 ppt 作者 第5章数据库

  • 资源ID:89495200       资源大小:281.13KB        全文页数:83页
  • 资源格式: PPTX        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

数据库技术与应用 教学课件 ppt 作者 第5章数据库

第5章 数据库的完整性和安全性,本章学习目标,掌握数据库完整性的基本概念。 清楚数据库完整性约束条件的分类。 掌握并运用SQL实现实体完整性和参照完整性的定义。 运用SQL灵活实现用户自定义完整性的各种约束。 掌握完整性约束的修改方法。 理解触发器的概念和作用。 掌握数据库安全性的基本概念。 清楚DBMS中的安全性保护措施。 清楚SQL中的安全机制。 掌握并运用SQL实现授权和角色机制。 了解其他安全措施。,本章概述,数据库作为资源共享和存放大量数据的场所,如何能更好地保护数据库中的数据就显得尤为重要。数据的完整性和安全性是数据库保护的两个不同方面。安全性是防止非法用户恶意破坏和越权存取数据,确保用户被限制在其想做的事情范围之内。完整性则是防止合法用户使用数据库时无意中造成的破坏,确保用户所做的事情是正确的。即安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。,主要内容,5.1 完整性概述,5.3参照完整性,5.4用户自定义完整性,5.2 实体完整性,5.5 完整性约束的修改,5.6 触发器,5.8 DBMS中的安全性保护,5.9 SQL中的安全性机制,5.7 安全性概述,5.10 其它安全机制,主要内容,5.1 完整性概述,5.3参照完整性,5.4用户自定义完整性,5.2 实体完整性,5.5 完整性约束的修改,5.6 触发器,5.8 DBMS中的安全性保护,5.9 SQL中的安全性机制,5.7 安全性概述,5.10 其它安全机制,5.1.1 完整性概念,数据库的完整性(integrity)的基本含义是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。,正确性(correctness)是指数据的合法性,例如成绩属于数值型数据,只能含有数字而不能含有字母。 有效性(valid)是指数据是否属于所定义域的有效范围,例如性别只能是男或女。 相容性(consistency)是指表示同一事实的两个数据应当一致,不一致即是不相容。例如一个学生不能有两个学号。 DBMS必须提供一种功能来确保数据的正确性,避免不合语义的数据造成的无效操作和错误结果,还要检查先后输入的数据是否一致。,5.1.2完整性约束条件,数据库中的数据要成为有意义的信息,必须满足一定的语义约束条件。数据库中数据应当满足的条件称为“完整性约束条件”,也称为“完整性规则”。它是DBMS控制数据完整性的依据,是整个完整性控制机制的核心。 完整性约束条件作用的对象是关系、元组和属性,这三种对象的状态可以是静态的,也可以是动态的。,5.1.2完整性约束条件,静态约束是关于数据库状态合理性的约束,是指数据库每一确定状态时的数据对象所应满足的约束条件。分别作用于属性、元组和关系就表现为: (1) 静态属性级约束:是对一个属性的取值域的说明,即对数据类型、数据格式和取值范围的约束。如,学生的出生年月日必须为日期型,成绩的取值范围必须在0100等。 (2) 静态元组级约束:是对元组中各个属性值之间关系的约束。如图书管理表中有总库存量,借出量,和剩余量三个属性,其中借出量和剩余量都不得超过总库存量。 (3) 静态关系级约束:是一个关系中各个元组之间或者若干个关系之间常常存在的各种联系的约束。常见的静态关系约束有:实体完整性;参照完整性;函数依赖约束,大部分函数依赖约束都在关系模式中定义;统计约束,即字段值与关系中多个元组的统计值之间的约束关系。,5.1.2完整性约束条件,动态约束是指数据库从一种正确状态转移到另一种状态时,新、旧值之间所应满足的约束条件。例:学生的最高学位,如下动态转移是正确的:学士到硕士、硕士到博士。 (1) 动态属性级约束:是修改定义或属性值时应满足的约束条件,包括两种情况。 修改定义时的约束。例:将允许空值的属性改为不允许空值时,如果该属性当前已存在空值,则规定拒绝修改。 修改属性值时的约束。例:修改属性值时有时需要参照其旧值,或新旧值之间应该满足某种约束条件,如学生的年龄只能增长。 (2) 动态元组级约束:是指修改某个元组的值时需要参照该元组的原有值,或者元组中各个字段之间应当满足某种约束条件。例:给职工提升工资时新工资不得低于原工资+现工龄×10。 (3) 动态关系级约束:是加在关系变化前后状态上的限制条件。例:事物一致性、原子性等约束条件。,5.1.2完整性约束条件,完整性约束条件从执行时间上又可分为立即执行约束(immediate CONSTRAINTS)和延迟执行约束(deferred CONSTRAINTS)。 立即执行约束是指在执行用户事物过程中,某一条语句执行完后,系统立即对此数据进行完整性约束条件检查。如果发现用户操作请求违背了立即执行约束,则可以拒绝该操作,以保证数据的完整性。 延迟执行约束是指在整个事物执行结束后再对约束条件进行完整性检查,结果正确后才能提交。如果发现用户操作请求违背了延迟执行约束,而又不知道是哪个事物的操作破坏了完整性,则只能拒绝整个事物,把数据库恢复到该事物执行前的状态。,完整性约束条件还可以作用在数据库上,说明数据库的合法取值。通常,数据库的约束检查是可以延迟到事务提交时进行的,而上述作用于属性、元组和关系的约束检查是立即进行的。所有数据库的更新都不能破坏数据库的完整性。,5.1.3完整性控制机制,为了维护数据库的完整性,DBMS必须提供以下三种机制: 1. 完整性约束条件定义 完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件。SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。这些完整性一般由SQL的DDL语义来实现,它们作为数据库模式的一部分存入数据字典中。 2. 完整性检查方法 检查数据是否满足已定义的完整性约束条件称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。检查这些操作执行后数据库中的数据是否违背了完整性约束条件。 3. 违约处理 若发现用户操作违背了完整性约束条件,应采取一定的措施,如拒绝(NOACTION)执行该操作,或级连(CASCADE)执行其它操作,进行违约处理以保证数据的完整性。,目前商用的数据库管理系统都支持完整性控制。即完整性定义和检查控制由DBMS实现,不必由应用程序来完成,从而减轻了应用程序员的负担。,主要内容,5.1 完整性概述,5.3参照完整性,5.4用户自定义完整性,5.2 实体完整性,5.5 完整性约束的修改,5.6 触发器,5.8 DBMS中的安全性保护,5.9 SQL中的安全性机制,5.7 安全性概述,5.10 其它安全机制,5.2 实体完整性,实体完整性要求基本表的主码值唯一且不允许为空值。 在SQL中,实体完整性定义是使用CREATE TABLE语句中的PRIMARY KEY短语来实现,或通过使用ALTER TABLE语句中的ADD PRIMARY KEY短语来实现。 对单属性构成的码有两种说明方法: 定义为列级约束条件 定义为表级约束条件 对多个属性构成的码只有一种说明方法,即定义为表级约束条件。,5.2.1 实体完整性定义,例5-1 将Student表中的Sno属性定义为码。,CREATE TABLE Student ( Sno CHAR(7), Sname CHAR(8) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY(Sno) ); /* 在表级定义主码*/ 其中,Sno为表Student的主码,它由主码约束说明PRIMARY KEY实现。对于这种情况,还可以直接在列Sno定义的同一行上定义为表Student的主码。如: CREATE TABLE Student ( Sno CHAR(7) PRIMARY KEY, /* 在列级定义主码*/ Sname CHAR(8) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20);,注意,如果主码包含多列,则只能在表级定义。,5.2.1 实体完整性定义,例5-2 将SC表中的Sno,Cno属性组定义为主码。 CREATE TABLE SC ( Sno CHAR(7), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY(Sno,Cno) ); /* 只能在表级定义主码*/,5.2.2实体完整性检查和违约处理,在用PRIMAYR KEY语句定义了关系的主码后,每个用户程序对基本表插入一条记录或者对主码列进行更新操作时,RDBMS将按实体完整性规则自动进行检查。包括: (1) 检查主码值是否唯一,如果不唯一则拒绝插入或修改。 (2) 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。,检查主码值的唯一性,可以采用全表扫描法或B+树索引扫描法。 全表扫描法:从外存依次将表的每个数据块读入内存,判断块中的每一条记录的主码值与待插入(或修改)记录的主码值是否相同,如果相同,则阻止插入(或修改)。全表扫描法如图5-1所示。,待插入或修改的记录,5.2.2实体完整性检查和违约处理,B+树索引扫描法 全表扫描法是十分耗时的,为了避免对基本表进行全表扫描,DBMS核心一般都在主码上自动建立一个B+树索引,通过扫描索引来查找基本表中是否存在相同的主码值,这将大大提高效率。 例如,如果新插入记录的主码值是25,通过主码索引,从B+树的根结点开始查找,只要读取3个结点就可以知道该主码值已经存在,所以不能插入这条记录。这3个结点是根结点(51)、中间结点(12 30)、叶节点(15 20 25)。如果新插入记录的主码值是86,也只要查找3个结点就可以知道该主码值不存在,所以可以插入该记录,如图5-2所示。,主要内容,5.1 完整性概述,5.3参照完整性,5.4用户自定义完整性,5.2 实体完整性,5.5 完整性约束的修改,5.6 触发器,5.8 DBMS中的安全性保护,5.9 SQL中的安全性机制,5.7 安全性概述,5.10 其它安全机制,5.3参照完整性,参照完整性是指基本关系R的任何一个元组在外码F上的取值要么是空值,要么是被参照关系S中一个元组的主码值。 SQL不仅可以实现实体完整性的定义,还可以通过CREATE TABLE语句定义参照完整性规则。即用户可以在建表时定义哪些列为外码列,这个外码对应于哪个表的主码。 一般来讲,参照完整性的定义包括两个部分: (1) 外码说明,它由FOREIGN KEY(列名)语句来描述。 (2) 被引用的表名和列名,由REFERENCES语句描述。,5.3.1 参照完整性定义,例5-3 关系SC中一个元组表示一个学生选修的某门课程的成绩,Sno 代表Student中的一个学生,Cno代表Course中的一门课程。因此Sno,Cno分别是对Student和Course的参照引用。,CREATE TABLE SC ( Sno CHAR(7), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /*在表级定义实体完整性*/ FOREIGN KEY Sno REFERENCES Student(Sno), /*在表级定义参照完整性*/ FOREIGN KEY Cno REFERENCES Course(Cno) /*在表级定义参照完整性*/ );,5.3.2参照完整性检查和违约处理,定义了参照完整性,对参照表和被参照表进行修改操作有可能会破坏参照完整性,系统首

注意事项

本文(数据库技术与应用 教学课件 ppt 作者 第5章数据库)为本站会员(E****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.