- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 SQL语言高级功能 本章概述 任何一种优秀产品都有这样一种特点,它不但具备了所有此类产品的基本功能,而且还具备了其他产品所没有的特点。就是这种独特的个性,使得这种优秀产品美名远扬。作为一种数据库语言,SQL语言也同此理。 第9章介绍了SQL语言的基本特征,这是所有数据库语言都可以提供的基本操作,但是仅凭这些特征,SQL语言还无法在数据库查询语言领域居于主导地位。 本章将要介绍SQL语言所拥有的约束、触发器等高级功能,正是这些强大的功能和它的灵活性,使得SQL语言具有其他数据库语言无法比拟的,也是SQL语言垄断数据库查询语言的重要因素。 本章的学习目标 理解SQL语言的特征; 了解和掌握约束的概念、作用和定义方法; 了解和掌握触发器的作用和定义方式; 了解和掌握游标的概念和定义过程技术; 理解嵌入式SQL语言的基本概念; 了解SQL安全控制和用户授权语句的概念和特点。 主要内容 10.1 约束 10.2 触发器 10.3 游标 10.4 嵌入式SQL语言 10.5 安全控制和权限管理 10.6 动手练习 10.7 本章小结 10.1 约束 在建立数据库模式时,我们强调了需要为数据库约束建立模式,因为这些约束也是数据库模式的一部分。 同样,在定义关系模式时,也需要定义许多约束形式,这些约束包括键码约束、外键码约束、非空约束、CHECK约束和断言约束。定义这些约束形式,可以大大提高关系(表)中数据的质量。 键码约束 在数据库建模中,最重要的约束类型是声明某个属性或属性集是关系(表)的键码。键码的含义就是禁止关系中的两个元组在组成键码的属性上取值一致。 根据键码的作用不同,可以把键码划分成主键码和候选键码两种类型。主键码使用关键字PRIMARY KEY说明,而候选键码的说明使用关键字UNIQUE。两种键码的主要区别在于前者的键码属性不允许空值,一个表中最多有一个主键码,而后者的键码属性允许空值,且一个表中可以有多个候选键码。当然,这两种键码都不允许出现键码属性取值相同的两个或两个以上的元组同时存在。 外键码约束 数据库中存储的数据是客观现实的实体和实体之间的联系。也就是说,存储的信息包括实体本身的信息和实体之间联系的信息。前面讲过的内容基本上都是用来说明如何处理实体本身的信息,现在我们将要介绍如何存储实体之间的联系信息。 外键码约束就是实现实体之间联系信息存储的方式,也是数据库中非常重要的一种约束。外键码约束实现了两个关系之间属性互相依赖存在的意义。如果把一个关系的属性或属性集定义为外键码,那么它会参照另一个关系(或同一个关系)的某一个或多个属性。 非空约束 最简单的一种约束是非空约束,这种约束使用关键字NOT NULL说明。该约束的效果就是不接受该属性为空的元组。该约束的定义也是在CREATE TABLE语句中的属性的数据类型后面说明。 例如,图10-5就是一个使用了非空约束定义的CREATE TABLE语句。在这里,除了第(4)行的属性之外,都包含了非空约束,只是第(4)行属性pageNumber的约束定义为可空约束。 CHECK约束 在数据库中,经常需要提供一些措施保证数据满足复杂的要求。例如,要求在关系Author中,插入的作者性别要么是“男”,要么是“女”,而不能是其他数据。在关系Book中,要求插入的图书价格大于2.5元但是小于168元且不能等于50元和100元。这些约束都是用户可能会碰到的。如果不能保证这些约束的实现,那么数据库中的数据质量就无法得到保障。幸运的是,在SQL语言中,可以使用CHECK约束来实现这种复杂的约束要求。 CHECK约束就是用来指定某一个或多个属性可以满足的条件。当关系中的某个属性定义一个CHECK约束后,所有的元组插入就需要检查是否满足这种CHECK约束要求。只有满足这种约束的数据才能执行成功,否则就被系统拒绝执行。 断言约束 前面讲述的约束虽然功能非常强大,但是都局限在一个关系模式中,如果希望在多个关系之间保持数据的一致性,那么这些约束就无能为力了。但是,SQL语言又提供了一个可以保证关系之间数据完整的约束,这种约束称为断言ASSERTION。 就像许多其他数据库对象一样,断言约束也可以使用CREATE ASSERTION语句来定义。CREATE ASSERTION语句的基本元素包括关键字CREATE ASSERTION、断言名称、关键字CHECK和使用括号括起来的条件。具体的CREATE ASSERTION语句的语法形式如图10-9所示。 10.2 触发器 触发器,英文名称是Trigger,含义是枪的板机,具有一触即发的意义。触发器是一组可以由系统自动执行对数据库修改的语句。 有时候,触发器也称为主动规则(active rule),或称
您可能关注的文档
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第6章 高级查询.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第7章 索引和视图.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第8章 数据完整性约束.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第9章 关系规范化理论.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第10章 实体联系模型.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第11章 数据库设计.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第12章 事务与并发控制.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第13章 数据库恢复技术.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第14章 查询处理与优化.ppt
- 数据库系统教程 教学课件 作者 何玉洁 李宝安 第15章 数据库技术的发展.ppt
- 数据库系统原理与应用教程(第二版) 教学课件 作者 7 302 0815 6 ch11.ppt
- 数据库系统原理与应用教程(第二版) 教学课件 作者 7 302 0815 6 ch12.ppt
- 数据库系统原理与应用教程(第二版) 教学课件 作者 7 302 0815 6 ch13.ppt
- 数据库系统原理与应用教程(第二版) 教学课件 作者 7 302 0815 6 ch14.ppt
- 数据库系统原理与应用教程(第二版) 教学课件 作者 7 302 0815 6 ch15.ppt
- 数据库系统原理与应用教程(第二版) 教学课件 作者 7 302 0815 6 ch16.ppt
- 数据库系统原理与应用教程(第三版) 教学课件 作者 978 7 302 17185 0 ch01.ppt
- 数据库系统原理与应用教程(第三版) 教学课件 作者 978 7 302 17185 0 ch02.ppt
- 数据库系统原理与应用教程(第三版) 教学课件 作者 978 7 302 17185 0 ch03.ppt
- 数据库系统原理与应用教程(第三版) 教学课件 作者 978 7 302 17185 0 ch04.ppt
最近下载
- 公路养护工程施工组织设计方案.pdf VIP
- 多囊卵巢综合征(最新指南PPT课件).pptx
- 2025年北京通州区招聘社区工作者和社区专职党务工作者考试笔试试题.pdf VIP
- 健康教育咨询模板.docx VIP
- 高压旋喷桩计算表.xls VIP
- 2025年池州安徽省江南产业集中区建设投资发展(集团)有限公司招聘8名笔试备考试题及答案解析.docx VIP
- 皖2015S209混凝土砌块式排水检查井.docx VIP
- 工匠精神大国工匠.pptx VIP
- 审计学(西南财经大学)中国大学MOOC 慕课 章节测验客观题答案.docx VIP
- 设施规划 教学课件 ppt 作者 周宏明 第2章 设施选址.pptx VIP
原创力文档


文档评论(0)