北京邮电大学计算机学与技术大三数据库第10次实验报告.doc
文本预览下载声明
北京邮电大学
实验报告
课程名称 数据库系统概念
实验名称 存储过程与触发器实验
_计算机_系_302_班 姓名 华逸群
_计算机_系_302_班 姓名 魏乐业
教师_叶文 吴起凡_ 成绩_________
2013年5月15日
一、实验目的 2
二、实验环境 2
三、实验内容 2
实验总结 8
一、实验目的
1.理解存储过程的工作原理和作用。
2.掌握存储过程设置和程序设计过程。
3.理解触发器的工作原理和作用。
4.掌握触发器编写方法。
二、实验环境
采用IBM DB2或Sybase数据库管理系统作为实验平台。其中,DB2可以采用DB2 Express-C或DB2 V8 Enterprise。Sybase数据库可以采用Sybase SQL Anywhere Studio(SAS)或 Sybase Adaptive Server Enterprise(ASE)。
三、实验内容
1、 存储过程实验
1).针对下面2个完整性约束条件,建立存储过程,实现当数据导入或更新时,可以自动修改拥塞率、半速率话务量比例
拥塞率 = 拥塞数量/呼叫数量
半速率话务量比例 = 半速率话务量/全速率话务量
2.将存储过程添加到数据库服务器上
创建的触发器已经和相关的表格关联。
3.在客户端编写调用存储过程的主程序
例如,在插入一条数据的时候,调用存储过程的程序为:
insert into CellData
values (1000,20000,28000,23,7,7,7,7,7,7)
execute GSM
4.运行客户端程序,调用存储过程,观察存储过程执行过程和数据更新情况;
单独插入一条数据:
insert into CellData
values (1001,20002,28002,23,3, 3, 3, 3, 3, 3)
execute GSM
数据情况为:
运行GSM这个存储过程后的数据情况为:
Execute GSM
二、触发器实验
1. 针对下列约束条件,分别建立1个触发器:
1)每个小区/扇区最多占用14个TCH频点,合法频点范围在[1,60]之间。当向小区中新加入频点时,如果小区中现有频点数目已达到14个,则用新加入的频点替换现有频点中的最小频点;当修改或新加入频点时,如果发现频点不在合法范围内,则输出提示信息,并拒绝该操作。
create trigger Pin_Dian_to_CELL
on Frequency
for insert,update as
if exists
(
select inserted.CellID
from inserted,Frequency,( select Frequency.CellID,count(distinct Freq) as Freq_number
from Frequency,Cell
where Frequency.CellID = Cell.CellID
group by Frequency.CellID) as Pin_Dian_Count_Cell
where Freq_number 14
)
begin
delete from Frequency
where Freq=(select min(Frequency.Freq)
from Frequency, inserted
where Frequency.CellID=inserted.CellID and Frequency.Freq!=inserted.Freq
)
print A CELL can only manage at most 14 TCH.
if exists
(
select inserted.Freq
from inserted,Frequency,( select Frequency.Freq as Freq_number
from Frequency,Cell
where Frequency.CellID = Cell.CellID
group by Frequency.CellID, Frequency.Freq) as Pin_Dian_Count_Cell
where Freq_number60 or Freq_number1
)
print A TCH can only be between 1 and 60.
rollback
end
2)每个小区有且只能有一个BCCH频点,合法范围在[70-90]之间。当修
显示全部