数据库-实验五-创建和使用触发器
- 格式:doc
- 大小:865.00 KB
- 文档页数:3
数据库基础与实践实验报告实验五存储过程和触发器班级:惠普测试142学号:**********姓名:***日期:2016-11-141 实验目的:1)掌握SQL进行存储过程创建和调用的方法;2)掌握SQL进行触发器定义的方法,理解触发器的工作原理;3)掌握触发器禁用和重新启用的方法。
2 实验平台:操作系统:Windows xp。
实验环境:SQL Server 2000以上版本。
3 实验内容与步骤利用实验一创建的sch_id数据库完成下列实验内容。
1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。
存储过程定义代码:CREATE PROCEDURE JSXX_PROCASSELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND o=o存储过程执行语句与执行结果截图:EXECUTE JSXX_PROC2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。
存储过程定义代码:CREATE PROCEDURE XM_PROC @sname VARCHAR(100)ASBEGINIF EXISTS(SELECT NULL FROM S WHERE sn=@sname)SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE o=o AND SC.sno=S.sno ANDS.sn=@snameELSEPRINT'无该姓名的同学。
'END运行截图:3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业),统计并显示该专业各年龄段男、女生人数。
如果没有该专业,则显示“无此专业”。
存储过程定义代码:CREATE PROCEDURE XBNL_PROC@departName VARCHAR(30)='计算机',@begin INT,@end INTASDECLARE @numOfBoys INTDECLARE @numOfGirls INTDECLARE @d# VARCHAR(3)DECLARE @result VARCHAR(50)BEGINSELECT @d# = dno FROM D WHERE dn=@departNameIF @d# IS NOT NULLBEGINSELECT @numOfBoys =COUNT(sno)FROM S WHERE age BETWEEN @begin AND @end AND dno=@d# AND sex='男'SELECT@numOfGirls =COUNT(sno)FROM S WHERE age BETWEEN@begin AND@end AND dno=@d# AND sex='女'SET @result = @departName+'专业年龄在'+CAST(@begin AS VARCHAR(3))+'-'+CAST(@end AS VARCHAR(3))+'之间的男生有'+CAST(@numOfBoys AS VARCHAR(3))+'人,'+'女生有'+CAST(@numOfGirls AS VARCHAR(3))+'人'ENDELSESET @result='无此专业。
实验五 触发器及其应用(仿真)一、实验目的1.掌握JK 触发器和D 触发器的逻辑功能。
2.掌握触发器相互转换的方法。
3.掌握集成JK 触发器和集成D 触发器的使用方法。
二、实验相关知识1.JK 触发器数字集成触发器74112内部有两个独立的下降沿触发的JK 触发器,其逻辑符号和仿真元件引线排列如图5-1所示。
CLR 是异步置0端D R , PRE 是异步置1端D S 。
特性方程是:2.D 触发器数字集成触发器7474内部有两个独立的上升沿触发的D 触发器,其逻辑符号和仿真元件引线排列如图5-2所示。
其特点是次态(Q n+1)输出仅取决于CP 上升沿到达时D 端输入信号的状态,而与在此以前或以后D 的状态无关。
其特性方程是: Q n+1 = D三、实验预习要求与思考1.阅读实验相关知识。
2.按要求设计“实验内容”中的电路,画出逻辑图。
n n n Q KQ J Q 1(b ) 仿真元件引线排列(a ) 逻辑符号图5-1 74112的逻辑符号和仿真元件引线排列1J C1 1K Q> J CP K R D S DRSQ(a ) 逻辑符号(b ) 仿真元件引线排列图5-2 7474的逻辑符号和仿真元件引线排列四、实验内容1.设计电路验证JK触发器74112的逻辑功能。
建议示波器A通道接时钟脉冲、B通道接输出端Q,Q 和Q端接指示灯。
表5-1 JK触发器逻辑功能验证表(1)由表5-1可以得出PRE’和CLR’的优先级哪个高?(2)由表5-1可以得出JK触发器的特性方程:。
2.设计电路验证D触发器7474的逻辑功能。
建议示波器A通道接时钟脉冲、B通道接输出端Q,Q 和Q端接指示灯。
表5-2 D触发器逻辑功能验证表(1)比较7474和74112的复位、置位端的异同。
(2)由表5-2可以得出D触发器的特性方程: 。
3.比较D触发器、JK触发器逻辑表达式,用适当的逻辑门实现D触发器与JK触发器的逻辑功能互相转换,并验证之。
实验五:触发器和存储过程一.实验目的:理解触发器和存储过程的含义,掌握用SQL语句实现触发器和存储过程的编写,并初步掌握什么情况下使用事务。
二.实验内容:有一个小型的图书管理数据库,包含的表为:bookstore(bookid,bookname,bookauthor,purchasedate,state);--图书库存表borrowcard(cardid,ownername);--借书证表borrowlog(cardid,bookid,borrowdate,returndate);--借书记录表写一个存储过程,实现借书操作,要求有事务处理。
(1)读者借书,要先设置书籍不在库标志state(借出),然后增加借书记录,在同一事务中完成。
(2)要求在事务执行过程中引入错误触发事件,以此体会事务的错误保护机制和事务编程的作用。
(3)要求用触发器实现表的完整性控制。
三、操作与运行1.创建图书数据库:create table bookstore(bookid int not null primary key,bookname char(20),bookauthor char(20),purchasedate datetime,state char(4))create table borrowcard(cardid int not null primary key,ownername char(20))create table borrowlog(cardid int not null,bookid int not null,borrowdate datetime,returndate datetime,primary key(cardid,bookid),---foreign key(cardid)references borrowcard(cardid), ---foreign key(bookid)references bookstore(bookid) )通过以上语句,可以看到数据库中的表建立成功。
数字电⼦技术实验五触发器及其应⽤(学⽣实验报告)实验三触发器及其应⽤1.实验⽬的(1) 掌握基本RS、JK、D和T触发器的逻辑功能(2) 掌握集成触发器的逻辑功能及使⽤⽅法(3) 熟悉触发器之间相互转换的⽅法2.实验设备与器件(1) +5V直流电源(2) 双踪⽰波器(3) 连续脉冲源(4) 单次脉冲源(5) 逻辑电平开关(6) 逻辑电平显⽰器(7) 74LS112(或CC4027);74LS00(或CC4011);74LS74(或CC4013)3.实验原理触发器具有 2 个稳定状态,⽤以表⽰逻辑状态“1”和“0”,在⼀定的外界信号作⽤下,可以从⼀个稳定状态翻转到另⼀个稳定状态,它是⼀个具有记忆功能的⼆进制信息存贮器件,是构成各种时序电路的最基本逻辑单元。
(1) 基本RS触发器图4-5-1为由两个与⾮门交叉耦合构成的基本RS触发器,它是⽆时钟控制低电平直接触发的触发器。
基本RS触发器具有置0 、置1 和保持三种功能。
通常称S为置“1”端,因为S=0(R=1)时触发器被置“1”;R为置“0”端,因为R=0(S=1)时触发器被置“0”,当S=R=1时状态保持;S=R=0时,触发器状态不定,应避免此种情况发⽣,表4-5-1为基本RS触发器的功能表。
基本RS触发器。
也可以⽤两个“或⾮门”组成,此时为⾼电平电平触发有效。
图4-5-1 基本RS触发器(2) JK触发器在输⼊信号为双端的情况下,JK触发器是功能完善、使⽤灵活和通⽤性较强的⼀种触发器。
本实验采⽤74LS112双JK触发器,是下降边沿触发的边沿触发器。
引脚功能及逻辑符号如图4-5-2所⽰。
JK触发器的状态⽅程为Q n+1=J Q n+K Q nJ和K是数据输⼊端,是触发器状态更新的依据,若J、K有两个或两个以上输⼊端时,组成“与”的关系。
Q与Q为两个互补输出端。
通常把 Q=0、Q=1的状态定为触发器0 状态;⽽把Q=1,Q=0定为 1 状态。
图4-5-2 74LS112双JK触发器引脚排列及逻辑符号下降沿触发JK触发器的功能如表4-5-2注:×— 任意态↓— ⾼到低电平跳变↑— 低到⾼电平跳变Q n (Q n )— 现态 Q n+1(Q n+1)— 次态φ— 不定态JK 触发器常被⽤作缓冲存储器,移位寄存器和计数器。
数据库触发器的创建和使用总结数据库触发器是一种在数据库管理系统中使用的特殊对象,它可以在特定的数据库操作发生时自动执行一系列的操作。
触发器可以用于实现数据的完整性约束、应用业务规则、监控数据库操作等功能。
创建数据库触发器需要以下几个步骤:1. 定义触发器的类型:触发器可以在 INSERT、UPDATE 或 DELETE 操作发生前或发生后执行操作。
根据需要选择合适的类型。
2. 指定触发器的事件:选择触发器对应的数据库表,并指定触发器所监控的事件,如 INSERT、UPDATE 或 DELETE。
3. 编写触发器的触发条件:定义触发器执行的条件,可以使用 SQL 表达式或逻辑判断语句来指定触发条件。
4. 编写触发器的操作:定义触发器触发后要执行的操作,可以是单个 SQL 语句或多个 SQL 语句的组合。
5. 创建触发器:使用数据库管理系统提供的 CREATE TRIGGER 语句来创建触发器。
使用数据库触发器可以实现以下功能:1. 强制实施数据完整性约束:通过在 INSERT、UPDATE 或 DELETE 操作前执行触发器,可以对数据进行验证和修正,确保数据的完整性和一致性。
2. 应用业务规则:触发器可以根据特定的业务规则执行相关操作,如在插入新记录时自动生成一个唯一标识符。
3. 监控和审计数据库操作:通过触发器,可以记录数据库操作的详细信息,包括操作时间、操作用户等,以便进行监控和审计。
4. 实现数据复制和同步:触发器可以用于实现数据的复制和同步,当一个表的数据发生变化时,触发器可以自动将变化应用到其他表。
然而,使用触发器也需要注意一些问题:1. 触发器的执行效率:触发器会在数据库操作发生时自动执行,如果触发器的操作较为复杂,可能会对数据库的性能产生影响。
2. 触发器的递归执行:触发器的执行可能会引起其他触发器的执行,如果触发器之间存在递归调用,可能会导致死循环。
3. 触发器的管理和维护:数据库中存在大量的触发器时,触发器的管理和维护可能会变得复杂,需要注意触发器的命名和组织结构。
实验五--------触发器及应用实验五触发器及应用院系:信息科学与技术学院 专业:电子信息工程姓名:刘晓旭学号:2011117147 一:实验目的1. 掌握RS ,D,JK 触发器的电路结构及其逻辑功能。
2. 学习各种触发器功能的测试及应用方法。
3.掌握触发器的应用。
二:实验器材74LS00四2输入与非门 74LS20二4输入与非门 74LS74双D 正沿触发器 74LS76双JK 触发器蜂鸣器,三极管,电阻若干,示波器,函数信号发生器,稳压电源三:实验内容1. 单次脉冲发生器按照图5.7(a )所示电路接线即构成单次脉冲发生器。
工作时,每按一次按键就从Q 端输出工作脉冲。
波形如图5.7(b )所示。
脉冲宽度T 0取决于开关按下的时间,用双踪示波器同时观察 Q,Q 波形。
图1波形如图(2)图22.测试D 触发器的逻辑功能将D 触发器74LS74的S D ,R D 和D 分别接逻辑开关,CP 接单次脉冲。
Q,Q 接发光二极管,按D 触发器的逻辑功能进行测试,记录测试结果。
按照图示连接电路图3当1D 接高电平时,给电路一个单次脉冲,Q 总是处于高电平; 当1D 接低电平时,给电路一个单次脉冲,Q 总是处于低电平。
满足D 触发器的特性表(1):表13.测试JK 触发器的逻辑功能。
JK 触发器74LS76按图所示的电路连线,用函数发生器输出0~5V 方波信号作图示图4波形如图5:图54,触发器的相互转换 (1) JK 触发器转换成T 触发器,按图(a ),(b)所示连接电路,组成T ,T ’触发器,记录测试结果:图6特性图如表2表2当T=1时,每来一个脉冲信号,,状态就反转一次,而T=0时,cp 信号到达后,它的波形不变波形如图7所示:图7T ’触发器的电路如图8所示:图8波形如图9所示:图9(2) 按照图5.5将D 触发器转换成T 触发器,验证其功能。
电路如图图10波形如图11所示:特性如表2所示。
一、实验背景随着信息技术的飞速发展,数据库技术在各行各业中的应用越来越广泛。
数据库触发器作为数据库管理系统的重要组成部分,具有强大的功能,能够帮助用户实现复杂的数据操作和业务逻辑。
为了提高学生对数据库触发器的理解与应用能力,我们开展了数据库触发器实验实训。
二、实验目的1. 掌握触发器的概念、作用及分类;2. 熟悉触发器的创建、修改和删除操作;3. 学会使用触发器实现业务规则和数据完整性;4. 提高数据库编程能力,为以后的实际工作打下基础。
三、实验环境1. 操作系统:Windows 102. 数据库:MySQL 5.73. 编程语言:Python四、实验内容1. 触发器的基本概念触发器是一种特殊的存储过程,它在特定事件发生时自动执行。
触发器可以分为两大类:DML触发器和DDL触发器。
DML触发器包括INSERT、UPDATE和DELETE触发器,用于在数据操作时执行特定的逻辑;DDL触发器用于在数据定义语言操作时执行特定的逻辑。
2. 触发器的创建以MySQL为例,创建触发器的语法如下:DELIMITER //CREATE TRIGGER 触发器名称BEFORE|AFTER INSERT|UPDATE|DELETE ON 表名BEGIN-- 触发器逻辑END;//DELIMITER ;例如,创建一个名为before_insert_trigger的触发器,在向bookinfo表插入数据之前执行:DELIMITER //CREATE TRIGGER before_insert_triggerBEFORE INSERT ON bookinfoFOR EACH ROWBEGINIF NEW.price > 100 THENSIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Book price should not exceed 100';END IF;END;//DELIMITER ;3. 触发器的修改修改触发器的语法与创建触发器类似,只需要使用ALTER TRIGGER语句:ALTER TRIGGER 触发器名称BEFORE|AFTER INSERT|UPDATE|DELETE ON 表名BEGIN-- 触发器逻辑END;例如,修改上述触发器,限制书籍价格不超过50元:DELIMITER //ALTER TRIGGER before_insert_triggerBEFORE INSERT ON bookinfoFOR EACH ROWBEGINIF NEW.price > 50 THENSIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Book price should not exceed 50';END IF;END;//DELIMITER ;4. 触发器的删除删除触发器的语法如下:DROP TRIGGER IF EXISTS 触发器名称;例如,删除上述触发器:DROP TRIGGER IF EXISTS before_insert_trigger;5. 触发器与存储过程的区别触发器和存储过程都是数据库编程的重要工具,但它们之间存在一些区别:(1)触发器在特定事件发生时自动执行,而存储过程需要手动调用;(2)触发器只能包含一个语句块,而存储过程可以包含多个语句块;(3)触发器不能返回结果集,而存储过程可以返回结果集。
实验五创建存储过程和触发器
一、实验目的
1.通过对常用系统存储过程的使用,了解存储过程的类型;通过创建和执行存储过程,了解存储过程的基本概念,掌握使用企业管理器及查询分析器执行T-SQL语句创建存储过程。
2.通过创建触发器,了解触发器的基本概念,理解触发器的功能,掌握使用企业管理器及查询分析器执行T-SQL语句创建触发器。
二、实验要求
1.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;
2.能认真独立完成实验内容;
3.实验后做好实验总结,根据实验情况完成总结报告。
三、实验学时
2学时
四、实验内容
1、使用sp_helptext查看byroyalty存储过程的文本,该存储过程在数据库pubs中。
2、在实验二创建的factory数据库中执行以下操作:
(1)创建一个为worker表添加职工记录的存储过程addworker。
执行并验证存储过程的正确性。
最后删除该存储过程。
(2)在depart表上创建一个触发器depart_update,当更改部门号时同步更改worker 表中对应的部门号。
执行并验证触发器的正确性。
最后删除该触发器。
(3)在worker表上创建一个触发器worker_delete,当删除职工记录时同步删除salary表中对应职工的工资记录。
执行并验证触发器的正确性。
最后删除该触发器。
数据库触发器实验报告一、引言随着信息技术的发展,数据处理已经成为了各种科学技术领域中至关重要的一环。
在数据处理系统中,数据库是必不可少的组成部分之一。
而数据库中的触发器就是实现数据库自动化的重要手段之一。
本文对数据库触发器的实验进行了详细的分析和总结,以期为大家提供一些有关数据库的实际应用经验和理论指导。
二、实验开展过程本次实验选择的是MySQL 5.0版本数据库,我们通过多个实验案例来了解和掌握触发器的实际应用。
1.定义触发器我们首先通过定义触发器的方法来了解触发器的基本概念和语法结构。
通过设置一些触发器的触发条件和执行程序,我们可以实现对数据库的自动化维护和更新。
2. 插入触发器然后我们通过插入触发器的实验案例来掌握数据库自动插入数据的具体实现方法。
这样,无须手动输入每一条数据,数据库就可以自动将新的数据插入到数据库中去。
这样做的好处在于可以减少人为错误的发生,并且提高了数据处理的效率。
3. 修改触发器接下来,我们又进行了修改触发器的实验案例。
通过设置一些修改触发器的触发条件和执行程序,可以在数据库中修改一些指定数据,或者将一些数据更新到数据库中。
4. 删除触发器最后,我们还进行了删除触发器的实验案例。
通过设置一些删除触发器的触发条件和执行程序,可以将数据库中的指定数据逐一删除掉,从而实现数据库的自动化维护和更新。
三、实验结果分析通过本次实验,我们加深了对数据库触发器的理解和掌握。
同时,我们也发现在实际应用中,触发器设计的精细度和实现的合理度对于数据库的使用效果有着十分重要的影响。
因此,我们应该在实际操作过程中,注重考虑实际应用场景和条件,来设计和优化触发器的应用方案。
四、总结本文主要介绍了数据库触发器的基本概念、使用步骤和实验案例。
触发器的应用范围非常广泛,在实际应用中有着极为重要的作用。
通过对本次实验的掌握和总结,我们可以更好地理解并掌握数据库触发器的应用方法和原理,为后续在实际工作中使用数据库打下了基础。