- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级数据库技术-第5章 主动数据库.ppt
第5章 主动数据库技术 主动数据库的一个突出的思想是让数据库系统具有各种主动进行服务的功能,并以—种统一而方便的机制来实现各种主动性需求。实现主动数据库系统有许多需要解决关键的问题,这些问题包括实现有效的事件监视器,有效的规则表示和执行机制,数据库中的事件描述、运算和复合,以及在主动数据库中的有效事务处理机制等。 5.1主动数据库的产生5.1.1 数据库的被动服务与主动服务 传统数据库管理系统本身都是被动的,即它只能响应和重做用户要求它们做的事情,而不会灵活地根据数据库的外部环境或内部状态等情况主动做些什么,数据库仅作为一种被动的数据存储仓库而存在。利用“被动服务”的数据库不能很好地完成带有主动性需求的任务。而在实际应用中,主动性需求是大量存在的,这就呼唤着解决该问题的方案。 5.1.2实际应用的主动性需求 实际应用中一些最经常遇到的主动性需求: MIS中的预警功能 系统的实时监控功能 例外或错误情况的主动处理和自动恢复功能 系统瞬时状态的输出或关键点状态的输出 协同工作或协同解决问题 方便灵活的实时处理能力 方便灵活的人机交互接口 自适应和学习功能 演绎推理功能 更强的系统交互性 原有数据库功能的加强和集成也需要主动性的帮助 5.1.3 什么是主动数据库 近年来,一些商品化的数据库管理系统,纷纷引进了所谓的“触发器(Trigger)”和“规则(Rule)”概念。在某种意义上引入了主动处理的功能。ISO的SQL3标准也支持通用的主动规则机制。他们支持的语义有:基本事件和简单事件的复合;事件-条件(Event-Condition, EC)和条件-动作(Condition-Action, CA)耦合;多种规则粒度;串行的规则选择和可中断的规则执行方式等。 主动数据库提供给用户一个统一定义主动功能的平台,方便使用和修改,同时提高了系统的可靠性和性能。主动数据库的一个突出的思想是让数据库系统具有各种主动进行服务的功能,并以—种统一而方便的机制来实现各种主动性需求。 5.2 触发器技术5.2.1 标准SQL中的主动数据库功能 SQL3引入了触发器的功能,从而在公共的标准上实现了对主动数据的支持。 SQL3触发器的语法如下: SQL3 trigger ::= CREATE TRIGGER trigger name {BEFORE | AFTER | INSTEAD OF} trigger event ON table name [ORDER order value] [REFERENCING references] WHEN (condition) SQL Procedure statement [FOR EACH {ROW | STATEMENT} ] 其中: trigger event ::= INSERT | DELTE | UPDATE [ OF column names ] reference ::= OLD AS old value tuple | NEW AS new value tuple | OLD_TABLE AS old value table name | NEW_TABLE AS new value table name 触发器是按照事件(Event)-条件(Condition)-动作(Action)的规则定义的。在SQL3触发器中,触发的事件仅限于数据更新操作,不支持数据查询操作。每一种触发器操作有3种可能的触发时间,他们是BEFORE、AFTER和INSTEAD OF,BEFORE为事件前触发,AFTER为事件后触发,INSTEAD OF表示触发器执行某项操作,而不是触发这个触发器的操作。SQL更新操作的对象一般来说是元组集,这样就存在一个操作粒度问题。一个SQL3触发器的操作粒度分为逐行(ROW)或以语句(STATEMENT)为单位。 由于触发器的事件只能是数据更新操作,这些操作的执行会引起数据库中的数据变动,因此提出了旧值(old value)和新值(new value)的概念,其目的是为了在触发器语句的条件和动作部分可以用到而定义一个引用名。这些新旧值作为一种过渡值,要么是单个元组,要么是一个结果元组集,一般占据的空间不大,因而一般是暂存在内存中,并随着触发器的执行完毕而释放所占用的内存空间。SQL3的触发器语法中的REFERENCING子句就是实现上述的过渡值引用问题而设置的。在reference的定义中,OLD AS和NEW AS分别定义元组的旧值和新值的引用名,用于逐行监控;而OLD_TABLE AS和NEW_TABLE AS分别定义元组集的旧值和新值的引用名,用于按
您可能关注的文档
最近下载
- 2023-2024学年辽宁省大连市沙河口区八年级(上)期末数学试卷+答案解析.pdf VIP
- 统编版(2024)七年级下册道德与法治11.1《法不可违》教案 .pdf VIP
- 小学生古诗词大赛试题(附答案).docx VIP
- GPIR复合外模板现浇混凝土保温系统建筑构造.pdf VIP
- 中小学校长选拔笔试试题及参考答案.docx VIP
- 全国计算机等级考试教程二级WPS Office高级应用与设计:电子表格的创建与编辑PPT教学课件.pptx VIP
- 黔西南州企业融资难融资贵主要情况反馈.doc VIP
- 垂径定理练习.3 垂径定理练习.doc VIP
- (已压缩)关于建筑设计防火的原则规定(1960)(OCR).pdf VIP
- 工业与民用建筑抗震设计规范TJ11-78.pdf VIP
文档评论(0)