数据库实验报告(7)-触发器
触发器实验报告

触发器实验报告触发器实验报告引言:触发器是数字电路中一种重要的元件,它能够存储和处理信息。
在本次实验中,我们将学习并探索触发器的工作原理、应用以及相关的实验。
一、触发器的工作原理触发器是一种具有两个稳定状态的电子开关,它能够在特定的输入条件下切换状态。
触发器的工作原理基于存储元件的特性,通过输入信号的变化来触发状态的改变。
二、RS触发器实验RS触发器是最简单的一种触发器,它由两个交叉连接的反馈回路组成。
在本次实验中,我们将通过构建一个RS触发器电路来深入理解其工作原理。
1. 实验材料和仪器本次实验所需材料包括电路板、电源、电阻、开关、LED灯等。
仪器包括示波器、数字万用表等。
2. 实验步骤(1)按照电路图连接电路板上的元件,确保连接正确且紧固。
(2)接通电源,调整电压至合适范围。
(3)使用示波器和数字万用表测量电路的输入和输出信号。
(4)按下开关,观察LED灯的亮灭情况,并记录数据。
(5)根据实验数据分析触发器的工作状态和逻辑。
3. 实验结果与分析通过实验测量数据,我们可以观察到RS触发器在不同输入条件下的状态变化。
当输入为00或11时,触发器的状态保持不变;当输入为01或10时,触发器的状态发生改变。
这说明RS触发器能够存储信息,并且在特定输入条件下进行状态切换。
三、JK触发器实验JK触发器是一种基于RS触发器改进而来的触发器,它具有更多的功能和应用场景。
在本次实验中,我们将学习JK触发器的原理和特性。
1. 实验材料和仪器本次实验所需材料和仪器与RS触发器实验相同。
2. 实验步骤(1)按照电路图连接电路板上的元件,确保连接正确且紧固。
(2)接通电源,调整电压至合适范围。
(3)使用示波器和数字万用表测量电路的输入和输出信号。
(4)按下开关,观察LED灯的亮灭情况,并记录数据。
(5)根据实验数据分析JK触发器的工作状态和逻辑。
3. 实验结果与分析通过实验测量数据,我们可以观察到JK触发器在不同输入条件下的状态变化。
触发器实验报告

触发器实验报告一、实验目的本次实验的目的是理解触发器(Flip-Flop)的工作原理和应用,并通过实验验证其稳定性和可靠性。
二、实验原理触发器是一种通过外部信号控制内部状态的电路装置,常用于数字逻辑电路中。
通过输入的控制信号,触发器可以切换输出信号的状态。
常见的触发器有RS触发器、D触发器、JK触发器等。
其中,RS触发器通过两个控制输入S和R来控制输出状态,D触发器只有一个输入D,通过时钟信号来控制状态,JK触发器则同时具备RS和D触发器的功能。
在实验中,我们使用了RS触发器和JK触发器,并通过控制输入信号和时钟信号进行实验观察。
三、实验步骤1. 按照电路图连接电路,将电路连接好后进行电源连接。
2. 先测试RS触发器,调整S和R的状态,观察输出状态并记录。
3. 然后测试JK触发器,调整J和K的状态及时钟信号,观察输出状态并记录。
4. 对比两种触发器的输出状态,并分析其原因。
五、实验结果与分析通过实验观察,我们可以发现,RS触发器具有一定的稳定性,但在输入信号不清晰或时钟信号干扰的情况下会出现状态错乱的情况。
而JK触发器具有更高的可靠性,能够在各种输入信号和时钟信号的情况下稳定输出。
这是因为JK触发器具有更灵活的控制方式,能够通过J和K的状态同时控制输出状态,在使用时比RS触发器更加方便。
六、总结本次实验通过观察和分析不同类型的触发器,加深了我们对数字电路中触发器的理解和应用。
在实际应用中,应根据具体需求选择不同类型的触发器,并注意输入信号和时钟信号的干扰,保证电路的准确性和可靠性。
(完整word版)实验7:使用触发器加强完整性 实验报告

CREATETRIGGERtri6
ONToys
AFTERUPDATE
AS
DECLARE@avgrateMONEY
DECLARE@maxrateMONEY
SELECT@avgrate=AVG(mToyRate)FROMToys
SELECT@maxrate=MAX(mToyRate)FROMToys
1.创建触发器,当修改Orders表中某行数据的mShippingCharges和mGiftWrapCharges时,要修改相应行的总价mTotalCost,以保证结果的正确性。
2.创建after触发器,禁止删除ToysBrand表中的记录。
3.创建Instead of触发器,禁止删除ToysBrand表中的记录。
ROLLBACKTRAN
END
8.
--创建视图
er(
cCandidateCode,vFirstName,vLastName,siTestScore,
cContractRecruiterCode,cName)
AS
andidateCode,vFirstName,vLastName,siTestScore,
IFUPDATE(mShippingCharges)ORUPDATE(mGiftWrapCharges)
BEGIN
DECLARE@change1MONEY
DECLARE@change2MONEY
SELECT@change1=mShippingCharges+mGiftWrapCharges
FROMinserted
7.对Shipment表进行插入操作或者修改操作时,应保证dShipmentDate小于当前日期。
8.对于Recruitment数据库,创建一个视图名为vwCandidateContractRecruiter,其中包含了外部候选人(ExternalCandidate表)的代码,姓名,测试成绩,以及其对应的合同招聘人员(ContractRecruiter表)的代码和名称。并对该视图进行更新,修改外部候选人代码为‘000049’的候选人,更改其测验成绩为87分,并更改相对应的合同招聘人员的名称为‘Roger Federal’。通过创建一个触发器使得能对该视图直接通过下面的Update语句进行更新。
实验报告 触发器

实验报告触发器实验报告:触发器引言:触发器是数字电路中常见的重要元件,它可以存储和控制信号的传输。
本实验旨在通过实际搭建触发器电路,了解其工作原理和应用。
一、实验目的本实验的目的是通过实际搭建触发器电路,掌握触发器的工作原理、特性和应用。
二、实验器材和原理2.1 实验器材:- 电路实验板- 电源- 电压表- 电流表- 逻辑门芯片- 连接线2.2 实验原理:触发器是一种存储器件,可以存储和控制信号的传输。
它由多个逻辑门组成,根据输入信号的不同,可以分为RS触发器、D触发器、JK触发器和T触发器等多种类型。
三、实验步骤3.1 搭建RS触发器电路首先,将两个逻辑门芯片连接在电路实验板上,一个作为RS触发器的输入端,另一个作为输出端。
然后,将电源和适当的电阻连接到逻辑门芯片上,以提供所需的电压和电流。
最后,根据电路图连接连线,搭建完整的RS触发器电路。
3.2 检验和调试电路在搭建好电路后,使用电压表和电流表检验电路的电压和电流是否正常。
如果有异常,需要及时排除故障。
然后,通过改变输入信号,观察输出信号的变化。
根据实验结果,对电路进行调试,确保触发器的正常工作。
3.3 测试触发器的特性在调试完电路后,可以进行一些实验来测试触发器的特性。
例如,可以通过改变输入信号的频率和占空比,观察输出信号的变化。
还可以通过改变逻辑门芯片的类型,比较不同类型触发器的性能差异。
四、实验结果和分析通过实验,我们可以得到触发器的工作特性和性能数据。
根据实验结果,我们可以分析触发器的优缺点,以及在数字电路设计中的应用。
五、实验总结触发器作为数字电路中的重要元件,在现代电子技术中得到了广泛应用。
通过本实验,我们深入了解了触发器的工作原理、特性和应用。
同时,我们也学会了搭建触发器电路、调试电路和分析实验结果的方法。
六、实验心得通过本次实验,我深刻认识到了触发器在数字电路中的重要性。
触发器可以存储和控制信号的传输,是数字电路中的核心部件之一。
触发器功能测试实验报告

触发器功能测试实验报告触发器功能测试实验报告一、引言触发器是数字电路中常见的重要元件之一,其具有存储和放大信号的功能。
触发器的功能测试是电子工程师在设计和制造数字电路时必不可少的一项工作。
本实验旨在通过对不同类型的触发器进行功能测试,验证其在不同工作模式下的正确性和稳定性。
二、实验目的1. 了解触发器的基本原理和工作模式;2. 掌握触发器的功能测试方法;3. 验证不同类型触发器的工作特性。
三、实验器材和材料1. 实验板;2. 电源供应器;3. 逻辑分析仪;4. 电压表;5. 连接线。
四、实验步骤1. 准备工作:将实验板连接好电源供应器和逻辑分析仪,并确保连接正确;2. 功能测试:依次测试RS触发器、D触发器、JK触发器和T触发器的工作特性。
五、实验结果与分析1. RS触发器测试:a. 将RS触发器的S端和R端分别接入逻辑分析仪的输入端,CLK端接入逻辑分析仪的时钟信号输出端;b. 通过逻辑分析仪观察输入信号和输出信号的波形,并记录下来;c. 分析波形,验证RS触发器在不同输入情况下的工作特性。
2. D触发器测试:a. 将D触发器的D端接入逻辑分析仪的输入端,CLK端接入逻辑分析仪的时钟信号输出端;b. 通过逻辑分析仪观察输入信号和输出信号的波形,并记录下来;c. 分析波形,验证D触发器在不同输入情况下的工作特性。
3. JK触发器测试:a. 将JK触发器的J端和K端分别接入逻辑分析仪的输入端,CLK端接入逻辑分析仪的时钟信号输出端;b. 通过逻辑分析仪观察输入信号和输出信号的波形,并记录下来;c. 分析波形,验证JK触发器在不同输入情况下的工作特性。
4. T触发器测试:a. 将T触发器的T端接入逻辑分析仪的输入端,CLK端接入逻辑分析仪的时钟信号输出端;b. 通过逻辑分析仪观察输入信号和输出信号的波形,并记录下来;c. 分析波形,验证T触发器在不同输入情况下的工作特性。
六、实验结论通过对RS触发器、D触发器、JK触发器和T触发器的功能测试,我们可以得出以下结论:1. RS触发器具有存储和放大信号的功能,可以用于实现简单的存储器和时序电路;2. D触发器可以将输入信号在时钟脉冲到来时存储,并在下一个时钟脉冲到来时输出;3. JK触发器是一种带有异步清零和置位功能的触发器,可以用于实现频率分割和计数器等电路;4. T触发器是一种特殊的JK触发器,其输入端和输出端相连,可以实现频率分割和频率加倍等功能。
实验07 触发器实验报告

实验七触发器【实验目的】1.掌握触发器的作用及原理2.掌握触发器创建、查看、修改和删除触发器3.初步掌握触发器的应用【实验内容】①在Student表中编写insert,update的触发器,如果每个班的学生不能超过30个,如果低于此数,添加可以完成;如果超过此数,则插入、修改将不能实现。
create trigger tron STUDENTfor insert,updateasdeclare @ocls numeric,@new numericselect @ocls=cls from insertedselect @new=count(*)from STUDENTwhere cls=@oclsif(@new>30)beginPRINT'插入不成功'rollbackendelseprint'插入成功'执行插入操作:insert into STUDENTvalues('090803111','林','21','女','1')结果:插入成功②在sc表上编写update触发器,当修改sc表中的grade字段时将其修改前后的信息保存在sc_log表中CREATE TRIGGER SC_TRON SCFOR UPDATEASIF UPDATE(GRADE)INSERT INTO sc_log SELECT*FROM DELETEDINSERT INTO sc_log SELECT*FROM INSERTED select*测试:update SCset GRADE='100'where SNO='090803101'查看sc_log表SELECT *FROM sc_log【实验步骤】(要求学生填写详细的实验步骤)【实验体会及存在问题】(要求自己填写)。
触发器——实验报告

触发器——实验报告本次实验主要针对的是数据库的触发器,触发器可以在数据库中对指定的事件进行响应,可以在事件发生前或发生后对相关的SQL语句进行处理,从而实现对数据的限制、约束等相关操作。
本次实验的目标是通过实例了解什么是触发器,如何创建触发器以及触发器的应用。
一、实验环境本次实验使用MySQL数据库作为实验环境。
二、实验步骤1. 创建数据库和表结构首先,需要创建一个新的数据库,并新建一张表来进行触发器的测试。
这里,我们创建一个名为“students”的数据库和“grades”表。
表结构如下:CREATE TABLE grades(id int(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;2. 创建触发器接下来,我们要创建一个触发器来对数据进行限制。
比如,我们想对成绩的输入进行限制,限制只能输入0-100之间的分数。
创建触发器的语法如下:CREATE TRIGGER trigger_name{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_nameFOR EACH ROWBEGIN-- 触发器的处理END;以上语法中,trigger_name是触发器的名称,table_name是触发器所作用的表名,BEFORE或AFTER关键字表明触发器是在事件发生前还是发生后进行处理的,在本次实验中,我们使用BEFORE关键字,表示在事件发生前进行处理。
触发器可以应用在INSERT、UPDATE、DELETE事件上,我们用INSERT事件做例子,表示在插入数据之前实现相应的数据限制。
触发器中的处理代码可以是任何合法的SQL语句,其中可以使用NEW和OLD关键字来引用触发器作用的记录,NEW表示要插入或者修改的记录,OLD表示删除的记录。
触发器的实验报告

触发器的实验报告触发器的实验报告引言:触发器是数字电路中常用的一种元件,它具有记忆功能,能够存储和传递信息。
在本次实验中,我们将通过搭建和测试不同类型的触发器电路,深入了解触发器的工作原理和应用。
一、RS触发器的搭建与测试RS触发器是最简单的一种触发器,由两个交叉连接的非门组成。
我们首先按照电路图搭建RS触发器电路,并连接输入和输出信号线。
然后,通过输入不同的逻辑电平,观察输出的变化情况。
实验结果显示,当输入信号为00时,输出保持不变;当输入信号为01时,输出为0;当输入信号为10时,输出为1;当输入信号为11时,输出保持不变。
这说明RS触发器能够存储和传递信息,并且具有稳定的工作状态。
二、D触发器的搭建与测试D触发器是一种常用的触发器,它具有单个输入端和两个输出端。
我们按照电路图搭建D触发器电路,并连接输入和输出信号线。
接下来,我们通过改变输入信号的逻辑电平,观察输出的变化情况。
实验结果显示,当输入信号为0时,输出保持不变;当输入信号为1时,输出与输入信号同步。
这表明D触发器可以根据输入信号的变化来更新输出信号,实现信息的存储和传递。
三、JK触发器的搭建与测试JK触发器是一种常用的触发器,它具有两个输入端和两个输出端。
我们按照电路图搭建JK触发器电路,并连接输入和输出信号线。
然后,我们通过改变输入信号的逻辑电平,观察输出的变化情况。
实验结果显示,当输入信号为00时,输出保持不变;当输入信号为01时,输出为0;当输入信号为10时,输出为1;当输入信号为11时,输出取反。
这说明JK触发器能够根据输入信号的不同来更新输出信号,并具有翻转输出的功能。
四、T触发器的搭建与测试T触发器是一种特殊的JK触发器,它只有一个输入端和两个输出端。
我们按照电路图搭建T触发器电路,并连接输入和输出信号线。
接下来,我们改变输入信号的逻辑电平,观察输出的变化情况。
实验结果显示,当输入信号为0时,输出保持不变;当输入信号为1时,输出取反。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
桂林航天工业学院学生实验报告
实验七
实验名称触发器实验日期2019.11.12
实验目的
1.了解触发器的基本原理,掌握创建触发器的方法。
2.掌握修改和删除触发器的方法,能够设计简单的触发器。
实验内容触发器
实验方法及步骤
1、创建一个触发器InsStud,当向student表插入一条记录时,同时把该记录插入到关系student2。
CREATE TRIGGER InsStud
on student
FOR INSERT
AS
insert into student2
select*from inserted
2、向student表中插入一条记录('201215130','张三','男',20,'CS'),查看student和student2表中记录的变化是什么?
student和student2表中都能插入('201215130','张三','男',20,'CS')这条记录
insert student values('201215130','张三','男',20,'CS');
select*from student
select*from student2
3、创建一个触发器DelStud,当向student表删除一条记录时,同时把该记录从student2表删除掉。
CREATE TRIGGER DelStud
on student
FOR delete
AS
delete student2
select*from deleted
4、删除student表中的sno为201215130的元组,同时查看student2表中元组的变化是什么?
student和student2表中都能删除('201215130','张三','男',20,'CS')这条记录。
delete student where sno='201215130'
select*from student
select*from student2
5、为course表创建一个名为del_rollback_tr的DELETE触发器,该触发器的作用是禁止删除course表中的记录。
CREATE TRIGGER del_rollback_tr
on course
FOR delete
AS
if (exists(select*from deleted))
rollback
insert course values('8','张','5',2);
delete course where cno='8'
6、为student表创建一个名为student_tr 的update、delete触发器,该触发器的作用是当修改或者删除student表中的 sno时,同步修改或者删除sc表中的sno的内容。
(前提是sc表的sno的外键规则得删除)
create trigger student_tr
on student
for delete,update
as
if update (sno)
update sc set sno=a.asno from (select inserted.sno
as asno,deleted.sno
as bsno from inserted,deleted)
as a inner join sc
as b on a.bsno=b.sno
修改前
修改后:update student set sno=sno='80'where sno='6666666'。