- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大学-Read
北京邮电大学
实验报告
课程名称 数据库系统原理
实验名称 数据库事务创建与运行实验
计算机科学与技术系 05402班 姓名 宋莹
班内序号 05 学号 051014
教师_____ 成绩_________
教师评语:
2008年 6 月 3 日
实验目的:
通过实验,了解DB2 或Sybase 数据库数据库系统中各类数据库事务的定义机制和基于锁的并发控制机制,掌握DB2 或Sybase 数据库系统的事务控制机制。实验环境:
硬件配置: 一台笔记本电脑,windows XP系统。
软件配置:采用IBM DB2 Express-C数据库管理系统作为实验平台。
参与人员:宋莹。
实验内容:
一、在DB2 命令行中实现单事务
把下面操作用到的表做一个备份,就是使用create table a like b 命令创建一个同样结构的表,然后使用insert into a select * from b 命令将b 中的数据全部导入a 表中,以下所有操作都在新建的表上操作:
create table CELL1 like CELL
insert into CELL1 select * from CELL
create table BSC1 like BSC
insert into BSC1 select * from BSC
1. 在开始|运行下执行db2cmd,进入带有DB2 环境的命令行界面,然后执行db2 -c-,并做以下操作:
(1) 首先查看小区/扇区ID 在9011 和9143 之间的小区的LAC 号;
select CELLID,LAC from CELL1 where CELLID between 9011 and 9143
执行结果如下:
(2) 然后将小区/扇区ID 在9011 和9143 之间的小区的LAC 号更新为14120,将小区/扇区ID 在9151 和9293 之间的小区的LAC 号更新为14121,将小区/扇区ID 在9311和9573 之间的小区的LAC 号更新为14123;
update CELL1 set LAC=case when CELLID between 9011 and 9143 then 14120 when CELLID between 9151 and 9293 then 14121 when CELLID between 9311 and 9573 then 14123 end
执行结果如下:
(3) 最后再次查看小区/扇区ID 在9011 和9143 之间的小区的LAC 号。
select CELLID,LAC from CELL1 where CELLID between 9011 and 9143
执行结果如下:
运行commit 命令提交事务。
从另外一个DB2 窗口中检查执行commit 前后相关的表的状况(可用SELECT 命令查看)。
运行commit命令之前:
运行commit 命令之后:
可以看到,表被改变。
运行命令:
drop table CELL1
create table CELL1 like CELL
insert into CELL1 select * from CELL
(1) 首先查看小区/扇区ID 在9011 和9143 之间的小区的LAC 号;
select CELLID,LAC from CELL1 where CELLID between 9011 and 9143
执行结果如下:
(2) 然后将小区/扇区ID 在9011 和9143 之间的小区的LAC 号更新为14120,将小区/扇区ID 在9151 和9293 之间的小区的LAC 号更新为14121,将小区/扇区ID 在9311和9573 之间的小区的LAC 号更新为14123;
update CELL1 set LAC=case when CELLID between 9011 and 9143 then 14120 when CELLID between 9151 and 9293 then 14121 when CELLID between 9311 and 9573 then 14123 end
执行结果如下:
(3) 最后再次查看小区/扇区ID 在9011 和9143 之间的小区的LAC 号。
select CELLID,LAC from CELL1 where CELLID between 9011 and 9143
执行结果如下:
运行rollback 命令卷回事务,查看相关表的状况。执行命令:rollb
文档评论(0)