- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
港口和轮船公司环境管理数据库开发中基
于多表视图数据更新的实现 现
代
计
算
机
^
总
第
一
一
实践与经验
谂掩潦孥薄孥潞
L基-t多袁视图敖据更崭的雾
严小荃,王慧觉,郭庆平
/武汉理工大学.武汉430063)
摘要:文章重点介绍了使用视图的优点.并重点论述了SQLSERVER2000申的新增
功能INSTEADOF触发嚣
的设计噩应用,特别是基于多表视图更新数据的新特性. 关键词:视图;可更新视困:触发嚣:INSTEADOFImet~lDeleted
引百
在数据库系统中,视图是一个非常有用和重要 的概念.当视图作为面向用户的数据源时,虽然它 可以简化数据的查询和修改操作,但是在SQL7.0 版本中只能对基于一个基表的视图进行修改操作. 而在许多情况下,视图往往是基于多个基表的,这
大大限制了视图的使用.现在,在SQL2000版本 中,引进了一个INSTEAD0F触发器的概念,使得 基于多表的视图可以通过设计INSTEAD0F触发 器来逻辑地实现对基表数据的更新操作. 1使用视图的优点
通过使用视图.可对用户隐藏数据库的结 构,使得只有部分数据对用户是透明的.增强了系 统的安全性;通过使用视图,可创建一个更容易 控制的环境,用户可方便地操纵视图中的数据, 而不必理睬对用户来说是没必要了解的冗余数据; 由于视图实际上是一个虚表,生成视图的SELECT 语句是在生成inserted表和deleted表之后执行 的,因此视图中的数据总是最新的;使用视图,可以 简化用户权限管理,使他们可通过视图来查询数 据,而不是限制用户查询表中特定列的权限,还可 以使得基表设计的更改不至于影响用户查询:此 外,通过使用视图,还可以进行数据更新操作,并且 代码是在后台数据库系统中实现的,减少了前台应 用程序的重复编码,提高了系统的运行速度,增强 了系统的可维护性.
可见把视图作为面向用户的数据源对象是一 个不错的选择,特别是在有了INs1EAD0F触发器 后,通过基于多表视图能够直接更新基表数据,使 得视图的应用范围更加广泛,对视图的操作更加直 接,方便.
要通过基于多表的视图更新数据,通常就要进 行INEAD0F触发器的设计.作者将在文章的下面 部份重点介绍INSTEAD0F触发器的设计和应用 2INSTEAD0F触发器
(1)设计INSTEADOF触发器
使用INSTEADOF触发器的主要优点就是可 以使不能更新的视图支持更新.对于包含多个基 表的视图,可以方便地使用INEAD0F触发器来 支持I用表中数据的插入,更新和删除操作. 在设计INSTEAD0F触发器时,需要考虑到对 基表的更新时可能出现的重复记录的情况,作者在 制作的数据库管理系统中采取的处理方法是,将对 表的重复插人转变为UPDATE语句,该语句将当 前信息检索并更新至基表中,这样就不会产生重复 键侵犯,保证了数据库的完整性.为了充分说明如 何在视图设计中使用INSTEAD0F触发器,本文将 以为轮船公司和港口所制作的环境数据库管理系 统中的部分实现为例进行论述.在数据库管理系 盯
?
眦
@
v
统中包含船舶表和防止污染设备表,这两个表之间 存在外键约束,其中船舶表是主键表,防止污染设 备表是外键表.当用户只需要更新防止污染设备 的信息时,并不需要起知道船舶的所有信息时,只 需要知道船舶与防止污染设备的对应关系即可. 这时,使用视图就很方便,用户也很容易理解.船 舶表和防止污染设备表之间的关系图如图1所示. 船舶蠡垫谖鑫
i瞒?I口精;羲?
釉睡J—_勃i;谴蔷茬称
船舶枣喳—_蒯鞋醺嗜噶
建遘i朝啪景?J8舱—_型号
津是单喀一
_L莓.,—-矩.
囝1
其中,船舶编号与防污设备编号分别是两个表 的主键列,外键FK_防止污染设备一船舶是通过 表船舶的列船舶编号与表防止污染设备列所属船 舶编号相等来实现的,且船舶编号是标识列: 注意到在船舶表中创建了一个唯一索引,在本 例中它是必需的,它的作用将在下面进行解说.接 下来,当然是创建一个视图,名为vw一防污染设 备,其可视化的图形如图2所示.
L卜l三i
- _=嚣翳翥一},釜i:墨薏lll;箍
AI隶属章泣?l::苎I
图2
在创建了视图之后,为了使用户可以通过视图 直接进行数据操作,接下来就必须为视图创建 INSTEADOF触发器,在本例中为视图创建了 INEADOFINSERT触发器和INSTEADOF DELETE触发器.其中设计INs1陋ADOFINSERT
触发器主要语句如下!
CREA1ZTRIGGERtrigmarmgerONyw一船舶防污染设备 INS1Z,~_DOFINSERT AS
SETNOCOUNTON
I
1亿VIP精品文档
相关文档
最近下载
- 2023年四年级下语文期中复习·心田花开.pdf VIP
- 2023年全国统一高考英语试卷(全国甲卷)(含答案与解析).pdf
- 【课件】歌唱的情感与表达+当那一天来临+课件高中音乐人音版(2019)+必修2+歌唱.pptx VIP
- 03s702钢筋混凝土化粪池图集(高清).pdf
- 在线网课学习课堂《生命科学基础(北理 )》单元测试考核答案.docx
- 电视画面编辑(本科)王晓红.ppt
- 2021-2022学年威海市乳山市八年级下学期期中数学试卷(含答案解析).docx
- 特种设备生产(含安装、改造、维修)单位质量安全风险管控清单 .docx
- 人工智能导论 人工智能理论基础 人工智能理论基础.pptx
- 搅拌设备设计.ppt
文档评论(0)