大数据库实验6触发器实验报告材料
- 格式:doc
- 大小:409.79 KB
- 文档页数:9
____专业__日期:实验六:存储过程与触发器的应用一、实验目的1、掌握创建存储过程的方法和步骤。
2.掌握存储过程的使用方法。
3.掌握创建触发器的方法和步骤。
4.掌握触发器的使用方法。
二、实验内容1、存储过程的创建、执行和删除;2、触发器的创建、执行和删除。
三、实验步骤1、存储过程的创建、执行和删除。
(1)使用S_C数据库中的student表、course表;sc表创建一个带参数的存储过程—cjjicx。
该存储过程的作用是:当任意输入一个学生的XX时,将从三个表中返回该学生的学号、选修的课程名称和课程成绩。
Cjjicx的创建语句:createprocedure[dbo].[cjjicx]@sname nchar(10)asselect s.sno,ame,sc.gradefrom student as s innerjoin sc as sc on s.sno=sc.sno innerjoin course as c on o= owhere sname=@sname(2)执行cjjicx存储过程,查询“XXX”(自己选个名字)的学号、选修课程和课程成绩。
执行语句:结果描述:(3)使用系统存储过程sp_helptext查看存储过程cjjicx的文本信息。
查看结果描述:(4)使用S_C数据库中的student表,为其创建一个存储过程—jmxs。
该存储过程的作用是:当执行该存储过程时,将返回物流工程系学生的所有信息。
Jmxs创建语句:(5)执行jmxs存储过程,查看物流工程系学生的情况。
执行语句:结果描述:(6)删除jmxs存储过程。
删除语句:2、触发器的创建、执行和删除。
(1)在S_C数据库中建立一个名为insert_xh的INSERT触发器,存储在sc表中。
该触发器的作用是:当用户向sc表中插入记录时,如果插入了在student表中没有的学生学号sno,则提示用户不能插入记录,否则提示记录插入成功。
触发器实验报告触发器实验报告引言:触发器是数字电路中一种重要的元件,它能够存储和处理信息。
在本次实验中,我们将学习并探索触发器的工作原理、应用以及相关的实验。
一、触发器的工作原理触发器是一种具有两个稳定状态的电子开关,它能够在特定的输入条件下切换状态。
触发器的工作原理基于存储元件的特性,通过输入信号的变化来触发状态的改变。
二、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触发器更加方便。
六、总结本次实验通过观察和分析不同类型的触发器,加深了我们对数字电路中触发器的理解和应用。
在实际应用中,应根据具体需求选择不同类型的触发器,并注意输入信号和时钟信号的干扰,保证电路的准确性和可靠性。
实验五 触发器实验报告[实验目的]1. 理解Oracle 触发器的种类和用途2. 掌握行级触发器的编写[预备知识]1. PL/SQL 程序设计[实验原理]1. 建立触发器CREATE [OR REPLACE] TRIGGER <触发器名>BEFORE|AFTERINSERT|DELETE|UPDATE OF <列名> ON <表名>[FOR EACH ROW]WHEN (<条件>)<PL/SQL 程序块>ON 子句中的名称识别与数据库触发器关联的数据库表触发器事件指定了影响表的 SQL DML 语句 ( INSERT 、 DELETE 或 UPDATE)AFTER 指定了触发器在处理完成后触发BEFORE 指定了触发器在处理完成前触发默认情况下,触发器每个表触发一次FOR EACH ROW 选项指定触发器每行触发一次(即触发器为行级触发器)要使触发器触发,WHEN 子句中布尔型表达式的值必须判定为 TRUE可以将 REPLACE 添加到 CREATE 语句以自动删除和重建触发器2. 行级触发器中引用表数据在行级触发器中,使用伪记录来表示旧数据:old 和新数据:new引用示例::new.customer_name, :old.customer_name3. 行级触发器中的谓词在一个多条件触发的触发器中,使用谓词可以区分当前触发的操作的类型:触发事件 :old :newInsert 无定义,所有字段都是NULL该语句完成后插入的值Update 更新前该行的旧值 更新后该行的值Delete 删除前该行的值 无定义,所有字段inserting,updating,deleting。
示例:IF Inserting THEN语句;END IF;IF Updating THEN语句;END IF; IF Deleting THEN语句;END IF;4.触发器的限制SELECT 语句必须是SELECT INTO 语句或内部游标声明。
实验六触发器实验报告
触发器是数据库中非常重要的组成部分,它可以触发特定的动作,多用于数据库的实时更新和存储过程的管理。
本次实验主要了解不同类型的触发器,应用在增删改查动作中的效果,以增强数据库安全性和完整性。
首先,我们创建库,然后建立一张名为学生信息的表,用于存放学生的信息,包括姓名、学号、性别等,再建立一张名为考试成绩的表,用于存放考试成绩,包括课程名称、成绩等。
接着,我们分别使用表级、行级、语句级的触发器来监视学生信息和考试成绩表的增删改查操作,可以通过结果看出触发器的效果。
例如,使用表级触发器,在插入新学生信息或修改存在学生信息时,触发器会自动根据触发条件将其记录在日志表中;使用行级触发器,当有学生成绩超过及格线时,改变考试成绩的状态;使用语句级触发器,当考试成绩有更新时,将记录学生更新信息。
通过本次实验,我们能够熟悉触发器的使用,学会不同类型触发器之间的区别以及应用在数据库操作上的效果,大大提高了数据库的安全性和完整性。
实验项目SQL Server 2000中数据库完整性约束触发器设置所属课程数据库原理实验目的1)熟悉通过SQL对数据进行完整性约束触发器控制。
2)完成作业的上机练习。
实验环境SQL Server 2000 window XP实验内容要求:在SQLSERVER2000中利用SQL语句完成以下操作。
1)通过SQL对表建立完整性约束。
2)通过SQL创建插入触发器。
3)通过SQL创建删除触发器。
4)通过SQL创建更新触发器实验过程1)复制生成xscj数据库的代码并运行。
2)为student表的年龄字段增加名为Checkage约束条件,限制年龄介于15到25之间。
3)为student表建立触发器Sinsert,如果student表中插入一条记录,则取消插入并提示错误。
4)为student表建立触发器Smodi,如果student表中某一学生年龄加1,则SC表中该学生的各门成绩都加15)为student表建立触发器Sdel,如果student表中某一学生删除,则SC表中该学生记录也删除。
实验结果及分析1.首先打开SQL查询分析器,复制生成xscj数据库的代码并运行实验操作步骤通过SQL Server 2000软件运行后所得截图如下:2:新建约束条件checkage:3:测试sinsert触发器:4.建立触发器Smodi:运行smodi触发器,当学好为2002151121的学生的年龄加一,sc表中,该同学的成绩加1.5:创建触发器sdel:运行sdel触发器,如图,删除学号为2002151121的在student表中的学生记录,相应的SC表中的记录也删除了。
实验心得总结通过这次的实验,我熟悉掌握了通过SQL对表建立完整性约束,了解了创建插入触发器,更加深入地学习了数据库的一些知识,充分地运用SQL软件的功能。
在为student表建立触发器Sdel,如果student表中某一学生删除,则SC表中该学生记录也删除的过程中存在着很多困难,多次运行失败,我通过查询资料以及翻阅课本知识,深入了解触发器的一些知识,对问题有了一些头绪,能够运行成功,基本解决的这个问题。
实验六触发器一、实验目的1. 学习触发器逻辑功能的测试方法。
2. 熟悉基本RS触发器的组成、工作原理和性能。
3. 熟悉集成JK触发器和D触发器的逻辑功能及触发方式。
二、实验原理触发器具有两个稳定状态,用以表示逻辑状态“1”和逻辑状态“0”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存储器件,是构成各种时序电路的最基本的逻辑单元。
1.基本RS触发器基本RS触发器是一种无时钟控制的低电平直接触发的触发器。
它具有置“0”、置“1”和“保持”三种功能。
通常S端为置“1”端,因为S=0时触发器被置“1”;R为置“0”端,因为R=0时触发器被置“0”;当S=R=1时,状态保持。
基本RS触发器可以用两个“与非门”(如图6-1)或两个“或非门”组成。
2.JK触发器在输入信号为双端输入的情况下,JK触发器是功能完善、使用灵活和通用性较强的一Q+K Q n,J和K是数据输入端,是触发器状态更新的种触发器。
其状态方程为:Q n+1=J n依据,若J、K有两个或两个以上输入端时,组成“与”的关系。
Q与Q为两个互补输出端,通常把Q=0、Q=1的状态规定为触发器的“0”状态;而把Q=1、Q=0规定为“1”状态。
JK触发器输出状态的更新发生在CP脉冲的下降沿。
JK触发器通常被用作缓冲存储器、移位寄存器和计数器等。
3.D触发器在输入信号为单端输入的情况下,D触发器用起来比较方便。
它的状态方程为:Q n+1=D n,其输出状态的更新发生在CP脉冲的上升沿,所以又称为上升沿触发的边沿触发器。
触发器的状态只取决于时钟到来前D端的状态,D触发器可用作数字信号的寄存、移位寄存、分频和波形发生等。
4.触发器间的转换在集成触发器中,每一种触发器都有自己固定的逻辑功能。
我们可以利用转换的方法获得具有其它功能的触发器。
例如将JK触发器转换成T和Tˊ触发器,也可将JK触发器转换成D触发器。
三、实验仪器及器件1. DS1052E型示波器2. EL-ELL-Ⅳ型数字电路实验系统3. 器件:集成电路芯片74LS00 74LS112 74LS74四、实验内容及步骤1.基本RS 触发器的逻辑功能测试在实验仪上选用74LS00,按图6-1连接实验电路,即为基本RS 触发器。
实验六触发器实验报告一、实验目的本次实验的主要目的是深入理解触发器的工作原理和应用,通过实际操作和观察,掌握触发器在数字电路中的功能和特性。
二、实验原理触发器是一种具有记忆功能的基本逻辑单元,能够存储一位二进制信息。
常见的触发器类型有 SR 触发器、JK 触发器、D 触发器和 T 触发器等。
以 D 触发器为例,其工作原理是在时钟脉冲的上升沿或下降沿,将输入数据D 传递到输出端Q。
在没有时钟脉冲时,输出状态保持不变。
三、实验设备与材料1、数字电路实验箱2、 74LS74 双 D 触发器芯片3、示波器4、导线若干四、实验内容与步骤1、用 74LS74 芯片搭建 D 触发器电路将芯片插入实验箱的插座中,按照芯片引脚功能连接电源、地和输入输出引脚。
使用导线将 D 输入端连接到逻辑电平开关,将时钟输入端连接到脉冲信号源,将 Q 和 Q'输出端连接到发光二极管或逻辑电平指示器。
2、测试 D 触发器的功能置 D 输入端为高电平(1),观察在时钟脉冲作用下 Q 输出端的变化。
置 D 输入端为低电平(0),再次观察时钟脉冲作用下 Q 输出端的变化。
3、观察 D 触发器的异步置位和复位功能将异步置位端(PRE)和异步复位端(CLR)分别连接到逻辑电平开关,测试在置位和复位信号作用下触发器的状态。
4、用示波器观察时钟脉冲和 Q 输出端的波形将示波器的探头分别连接到时钟脉冲输入端和 Q 输出端,调整示波器的设置,观察并记录波形。
五、实验结果与分析1、在 D 输入端为高电平时,每当时钟脉冲的上升沿到来,Q 输出端变为高电平;在D 输入端为低电平时,每当时钟脉冲的上升沿到来,Q 输出端变为低电平,验证了 D 触发器的正常功能。
2、当异步置位端(PRE)为低电平时,无论其他输入如何,Q 输出端立即变为高电平;当异步复位端(CLR)为低电平时,Q 输出端立即变为低电平,表明异步置位和复位功能有效。
3、从示波器观察到的波形可以清晰地看到时钟脉冲与 Q 输出端的关系,进一步验证了触发器的工作特性。
触发器功能测试实验报告触发器功能测试实验报告一、引言触发器是数字电路中常见的重要元件之一,其具有存储和放大信号的功能。
触发器的功能测试是电子工程师在设计和制造数字电路时必不可少的一项工作。
本实验旨在通过对不同类型的触发器进行功能测试,验证其在不同工作模式下的正确性和稳定性。
二、实验目的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触发器,其输入端和输出端相连,可以实现频率分割和频率加倍等功能。
触发器实验报告一、实验目的1.1 探索触发器的基本原理触发器,简单来说,就是一个能在特定条件下改变状态的电路。
它就像一扇门,只有当你用力去推的时候,才会打开。
我们的目标是搞清楚这些“门”是如何工作的。
1.2 理解触发器在电路中的应用触发器的应用范围可广泛了。
无论是数据存储,还是控制逻辑,触发器都扮演着关键角色。
它们就像是信息的守门员,决定了什么能进,什么得被拒绝。
二、实验设备2.1 实验工具这次实验,我们用的是基本的逻辑电路组件。
包括电源、开关、LED灯,还有万用表。
这些东西就像是我们的小工具箱,缺一不可。
2.2 触发器模块我们选择了D型触发器,因其结构简单,易于理解。
它的工作原理就像是一个小孩的玩具,按一下按钮就会亮灯,放开就灭。
我们把它接入电路,准备好迎接它的“表现”。
2.3 安全措施在进行实验之前,安全可不能马虎。
我们确保电源关闭,检查所有连接,确保一切正常。
毕竟,安全第一,任何小失误都可能引发“大麻烦”。
三、实验过程3.1 连接电路首先,我们根据电路图连接所有元件。
小心翼翼地将电缆接入D型触发器。
电缆像是我们的手,仔细地操控每一个连接。
看到电路成形,心中有种莫名的期待。
3.2 测试触发器一切准备好后,开启电源。
按下开关,LED灯瞬间亮起。
那一刻,仿佛看到了触发器在欢呼。
又按一下,灯灭了,状态变化真是瞬息万变。
就像生活,时刻都在变化,让人惊喜。
3.3 数据记录我们开始记录每次实验的结果。
数据像是我们收集到的“宝藏”,每一组数字都有它的故事。
这种追踪过程,就像是在解谜,寻找背后的秘密。
四、实验结果4.1 状态变化通过几轮实验,我们观察到触发器在不同输入条件下的状态变化。
每一次按下开关,触发器都准确无误地改变状态,表现得相当稳定。
这让我想起一句话:“坚持就是胜利”。
4.2 误差分析当然,实验中也不是没有波折。
偶尔会出现状态不一致的情况。
这就引发了我们的讨论,究竟是接线问题,还是外部干扰。
最终,我们发现是接触不良导致的,改正后,一切恢复正常。
实验六-数据库的存储过程和触发器
大学实验报告(六)2014年04月08日
专业年级
2012级
信计专业
(1)班
学号201221143025
成绩
姓名
课程名称
《数据库
管理系统》
实验名称
数据库的存储过程和
触发器
实验目的和要求(1)掌握存储过程的创建与应用
(2)了解触发器的创建与使用.
实验内容和步骤1)用存储过程查询指定课程选课的学生人
数、最高成绩、最低成绩和平均成绩.
2)用存储过程求某系学生选修的课程号及成
绩.
3)用存储过程查询某门课程成绩大于80分
的学生姓名.
4)用存储过程查询缺成绩的学生名和课程
号.
5)查询每位学生已选课程的门数和总平均成绩.
6)假设有两张结构完全一样的表,创建触发器a,当一张表某条记录更新时,另一张表该条记录也跟着更新;创建触发器b,当一张表添加一条记录时,另一张表也自动添加;
研究与探讨
评语。
触发器实验报告一、实验目的。
本实验旨在通过实际操作,加深对触发器工作原理的理解,掌握触发器的使用方法,并能够准确地进行触发器的实验测量。
二、实验仪器与设备。
1. 示波器。
2. 信号发生器。
3. 电源。
4. 电路连接板。
5. 电阻、电容、开关等元器件。
三、实验原理。
触发器是一种能够存储和放大数字信号的电子元件,根据输入信号的不同,可以分为正边沿触发器和负边沿触发器。
在本实验中,我们将主要研究正边沿触发器的工作原理和特性。
四、实验步骤。
1. 将触发器电路连接至电源、示波器和信号发生器。
2. 调节信号发生器,产生不同频率和幅值的方波信号输入至触发器。
3. 观察示波器上输出的波形,并记录下触发器的工作状态。
4. 调节输入信号的频率和幅值,重复步骤3,得到更多的实验数据。
5. 对实验数据进行分析,总结触发器的特性和工作规律。
五、实验数据与分析。
通过实验我们得到了不同频率和幅值下触发器的输出波形,观察到了触发器的触发特性和稳态特性。
在输入信号达到一定条件时,触发器会输出稳定的高电平或低电平信号,这为数字电路的稳定工作提供了重要保障。
六、实验结论。
通过本次实验,我们深入了解了触发器的工作原理和特性,掌握了触发器的使用方法,能够准确地进行触发器的实验测量。
同时,我们也意识到了触发器在数字电路中的重要作用,为今后的学习和工作打下了坚实的基础。
七、实验心得。
通过动手操作,我们不仅加深了对触发器的理解,还提高了实际动手能力和实验数据处理能力。
实验中遇到的问题和挑战,也让我们更加谨慎和细致,为今后的学习和科研工作积累了宝贵的经验。
八、参考文献。
1. 《数字电子技术基础》,XXX,XXX出版社,XXXX年。
2. 《电子技术实验指导书》,XXX,XXX出版社,XXXX年。
以上为触发器实验报告内容,希望能对大家的学习和科研工作有所帮助。
触发器实验报告一、实验目的本次实验的主要目的是深入了解和掌握触发器的工作原理、功能特性以及在数字电路中的应用。
通过实际操作和观察,增强对触发器逻辑行为的直观认识,提高电路设计和故障排查的能力。
二、实验设备和材料1、数字电路实验箱2、示波器3、逻辑分析仪4、各种集成触发器芯片(如 D 触发器、JK 触发器等)5、电阻、电容、导线若干三、实验原理1、触发器的定义和分类触发器是一种能够存储一位二进制信息的基本单元电路,根据其逻辑功能的不同,可分为 D 触发器、JK 触发器、T 触发器和 SR 触发器等。
2、 D 触发器D 触发器在时钟脉冲 CP 的上升沿(或下降沿)将输入数据 D 锁存到输出端 Q。
其逻辑表达式为:Q(n+1) = D。
3、 JK 触发器JK 触发器具有置0、置1、保持和翻转四种功能。
当J=1,K=0 时,在时钟脉冲作用下触发器置 1;当 J=0,K=1 时,触发器置 0;当J=K=0 时,触发器保持原态;当 J=K=1 时,触发器翻转。
其逻辑表达式为:Q(n+1) =JQ(n)’ +K’Q(n)。
4、触发器的触发方式触发器的触发方式分为边沿触发和电平触发。
边沿触发是指在时钟脉冲的上升沿或下降沿触发,而电平触发是指在时钟脉冲为高电平或低电平时触发。
边沿触发方式可以有效地避免空翻现象,提高电路的可靠性。
四、实验内容和步骤1、 D 触发器实验(1)按照实验电路图,在实验箱上连接好 D 触发器电路,将输入信号 D 接逻辑电平开关,时钟信号 CP 接脉冲信号源。
(2)通过改变输入信号 D 的电平状态和时钟信号 CP 的脉冲,用示波器观察输出端 Q 和Q’的波形,并记录下来。
(3)分析输出波形与输入信号之间的关系,验证 D 触发器的逻辑功能。
2、 JK 触发器实验(1)类似地,连接好 JK 触发器电路,将 J、K 输入端分别接逻辑电平开关,时钟信号 CP 接脉冲信号源。
(2)设置不同的 J、K 输入组合,观察输出端 Q 和Q’的波形,并记录。
硬件实验实验报告实验6:触发器一、实验目的:熟悉几种常见触发器的逻辑功能,准确理解触发器特性描述和正确对其逻辑功能进行测试操作。
熟练使用示波器来观看触发器的时序图。
二、实验内容1、用74LS00搭接一个基本RS触发器,并对其功能进行测试,填写基本RS触发器的特性表。
2、将2个D触发器接成异步计数器,在此基础上实现4分频,再用示波器记录分频信号波形。
3、用4个D触发器设计一个4位的环形计数器。
三、实验环境四、实验数据记录1、用74LS00搭接一个基本RS触发器,并对其功能进行测试,填写基本RS触发器的特性表。
答:芯片选择:74LS007400的管脚图测试电路图如下S R Q n Q1 n0 0 1 10 01 0 1 10 10 1 1 00 01 1 1 10 1设计思路:通过2输入与非门实现R-S锁存器,本设计中的反相器是通过2输入与非门实现的,由于增加了反相器,因此该锁存器的功能表和通用的R-S锁存器相一致2、将2个D触发器接成异步计数器,在此基础上实现4分频,再用示波器记录分频信号波形。
答:芯片选择:74LS747474的引脚图电路图如下实际电路中Q1’,Q2’在接线时并不是通过Q1,Q2分别求反得到的,7474芯片有Q1’,Q2’的输出实验所得波形图如下参数说明CH1:输入脉冲信号(5KHz) CH2:输出脉冲信号(1.25KHz)时基电压灵敏度周期峰峰值正占空比200.0us 2.00V CH1 CH2 CH1 CH2 CH1 CH2200.0us 800.0us 4.0V 4.0V 50.5% 50.5%设计思路:利用2个D触发器构成了模4的异步计数器一次实现4次分频的功能,其中第一个D触发器的输出端Q1接第二个D触发器的时钟输入,Q2即为分频后的结果3、用4个D触发器设计一个4位的环形计数器。
(单向 0000——>1000——>0100——>0010——>0001——>0000)答:芯片选择74LS175、74LS0874175的管脚图 7408的管脚图实验电路图:电路图中的A’,B’,C’,D’在接线时并不是通过ABCD求反得到的,74175芯片含A’,B’,C’,D’输出端实验结果:测试时能正确的循环计数和人和状态均能自动进入循环体设计思路:通过四个D同步触发器级联而成,第一个触发器的数据输入端D=A B C D,只有当ABCD=0000时才会产生一个1其余情况全为0,以此实现1在循环体中的逐渐移动五、实验日志与总结1、本次试验主要学习了R-S锁存器和D触发器的一些知识,熟悉了其逻辑功能和使用方法,并运用D触发器构成了4次分频器和环形计数器2、通过本次试验,我进一步提高了自己设计电路的能力,掌握了电路查错和检查芯片的一些基本方法,比如带电测试其管脚的电压值等3、在本次试验中学习了芯片74LS74、74LS175的管脚分配和使用方法,复习了芯片74LS00、74LS084、本次试验没有能够实现能左右移动的环形计数器,只做了一个右移的,但自己动手尝试努力过,还需不断提高自己的设计能力。
实验6 触发器的实现实验目的1.通过创建触发器,了解触发器的基本概念。
2.理解触发器的功能,掌握使用触发器的操作技巧和方法;3.通过修改触发器,进一步理解触发器的功能,掌握使用触发器的操作技巧和方法;实验内容和步骤一.创建触发器1.使用SQL Server管理平台创建触发器的过程如下:在SQL Server管理平台中,展开指定的服务器和数据库项,然后展开表,选择并展开要在其上创建触发器的表,如图6-1所示,右击触发器选项,从弹出的快捷菜单中选择“新建触发器”选项,则会出现触发器创建窗口,如图6-2所示。
最后,单击“执行”按钮,即可成功创建触发器。
图6-1 新建触发器对话框图6-2 新建触发器窗口2使用CREATE TRIGGER命令创建触发器下:CREATE TRIGGER [schema_name.]trigger_nameON {table|view}[WITH [ENCRYPTION] EXECUTE AS Clause][,...n]]{FOR|AFTER|INSTEAD OF} {[INSERT] [,] [UPDA TE] [,] [DELETE]}[WITH APPEND][NOT FOR REPLICATION]AS{sql_statement [;] [...n]|EXTERNAL NAME <method specifier [;]>}<method_specifier> ::= assembly_name.class_name.method_name例1示例说明inserted,deleted表的作用。
程序清单如下:create table sc (sno char(10), cno char(2), score real); GoCREATE TRIGGER tr1ON scFOR INSERT,UPDATE,DELETEASPRINT'inserted表:'Select*from insertedPRINT'deleted表:'Select*from deletedGo图6-3 触发器的执行结果二.触发器的应用1. 使用INSERT触发器INSERT触发器通常被用来更新时间标记字段,或者验证被触发器监控的字段中数据满足要求的标准,以确保数据的完整性。
实验6 存储过程和触发器一、实验目的1、加深和巩固对存储过程和触发器概念的理解。
2、掌握触发器的简单应用。
3、掌握存储过程的简单应用。
二、实验容一)存储过程:1. 创建一存储过程,求l+2+3+…+n,并打印结果。
CREATE PROCEDURE addresultASDECLARE n int=10,/*最后一个数*/i int=0,result int=0 /*结果*/BEGINWHILE(i<=n)BEGINSET result=result+iSET i=i+1ENDPRINT'1+2+3+...+n的结果是:'PRINT resultRETURN(result)ENDGO2.调用上面的addresult存储过程,打印l十2+3+…+10的结果。
EXEC addresult3. 修改上述存储过程为addresult1,使得n为输入参数,其具体值由用户调用此存储过程时指定。
CREATE PROCEDURE addresult1n int=10 /*最后一个数*/ASDECLARE i int=0,result int=0 /*结果*/BEGINWHILE(i<=n)BEGINSET result=result+iSET i=i+1ENDPRINT'1+2+3+...+n的结果是:'PRINT resultRETURN(result)ENDGO4. 调用上面修改后的addresult1存储过程,打印l+2+3+…+100的结果。
EXEC addresult1 1005.修改上述存储过程为addresult2,将n参数设定默认值为10,并改设sum为输出参数,让主程序能够接收计算结果。
CREATE PROCEDURE addresult2n int=10,/*最后一个数*/sum int out/*结果*/ASDECLARE i int=0BEGINset sum=0WHILE(i<=n)BEGINSET sum=sum+iSET i=i+1ENDENDGO6.调用上面修改后的addresult2存储过程,设置变量s接收计算l+2+3+…+10的结果。
数字电路与EDA实践教程实验报告系部名称:电子工程学院学生姓名:专业名称:光电信息工程班级:时间:2011.10.27学号: 31实验六 触发器设计一、实验目的(1)认识RS 触发器、JK 触发器、D 触发器和T 触发器。
(2)掌握RS 触发器、JK 触发器、D 触发器和T 触发器的逻辑功能及动作特点。
(3)能够通过CPLD 开发实现具有触发器功能的数字电路。
二、实验原理及内容实验一 JK 触发器要求设计一个合理的电路,通过MAX+plus Ⅱ软件仿真和CPLD 实现验证JK 触发器的逻辑功能,并掌握其动作特点。
此次设计的JK 触发器如图所示。
JK 触发器功能表如下。
异步置位端PRNJ 端 输出端QCP 端K 端异步复位端CLRNPRN CLRN CP J K Q 0 1 × × × 0 1 0 × × × 1 0 0 × × × 1 1 1 0 0 保持 1 1 0 1 01 1 1 0 1 1 1 1 1 翻转电路程序 SET J Q K Q CLR仿真图实验一 D 触发器要求设计一个合理的电路,通过MAX+plus Ⅱ软件仿真和CPLD 实现验证D 触发器的逻辑功能,并掌握其动作特点。
此次设计的D 触发器如图所示。
D 触发器功能表如下。
异步置位端PRND 端 输出端Q CP 端异步复位端CLRNPRN CLRN CLK D Q0 1 × × 1 1 0 × × 00 0 × × 11 1 1 11 1 0 01 1 0 × 保持SET D Q Q CLR电路程序仿真图5.实验心得在本次试验中首先是要清楚了解JK触发器和D触发器的功能,其各个管脚的功能;其次,分清楚异步与同步在编程上的差别,从而可以更好的设计程序。
淮海工学院计算机工程学院实验报告书课程名:《数据库原理及应用》题目:存储过程和触发器班级:软件132学号: 2013122907姓名:孙莹莹一.目的与要求1.掌握存储过程的创建方法;2.掌握存储过程的执行、修改和删除等操作;3.掌握触发器的创建方法;4.掌握触发器的使用、修改和删除等相关内容二.实验内容基于前面建立的factory数据库,使用T-SQL语句完成如下各小题的功能:1.创建一个为worker表添加职工记录的存储过程Addworker;2.创建一个存储过程Delworker删除worker表中指定职工号的记录。
3.显示存储过程Delworker;4.删除存储过程Addworker和Delworker.三.实验步骤1 .(1)建立存储过程USE factoryGOCREATE PROCEDURE Addworker@no int=NULL,@name char(10)=NULL,@sex char(2)=NULL,@birthday datetime=NULL,@na char(2)=NULL,@wtime datetime=NULL,@depno int=NULLASIF @no IS NULL OR @name IS NULL OR @sex IS NULL OR@birthday IS NULL OR @depno IS NULLBEGINPRINT '请重新输入该职工信息!'PRINT '你必须提供职工号、姓名、性别、出生日期、部门号'RETURNENDBEGIN TRANSACTIONINSERT INTO workerVALUES(@no,@name,@sex,@birthday,@na,@wtime,@depno)IF @@error<>0BEGINROLLBACK TRANRETURNENDCOMMIT TRANSACTIONPRINT '职工'+@name+'的信息成功添加到表worker中'(2)验证存储过程USE factoryGOAddworker 20,'陈立','女','55/03/08','否','75/10/10',4GOSELECT 职工号,姓名,性别,党员否 FROM workerGO2.(1)建立存储程序USE factoryGOCREATE PROCEDURE Delworker@no int=NULLASIF @no IS NULLBEGINPRINT '必须输入职工号!'RETURNENDBEGIN TRANSACTIONDELETE FROM worker WHERE 职工号=@noIF @@error<>0BEGINROLLBACK TRANRETURNENDCOMMIT TRANSACTIONPRINT '成功删除职工号为'+CAST(@no AS CHAR(2))+'的职工记录' 执行下列语句,可验证存储过程的正确性:USE factoryGODelworker 20GOSELECT 职工号,姓名,性别,党员否 FROM workerGO3.USE factoryGOEXEC sp_helptext DelworkerGO4.USE factoryGOIF EXISTS (SELECT name FROM sysobjectsWHERE name = 'Addworker' AND type ='P') DROP PROCEDURE AddworkerGOIF EXISTS (SELECT name FROM sysobjectsWHERE name = 'Delworker' AND type ='P') DROP PROCEDURE DelworkerGO5.建立触发器depart_update的程序如下:USE factoryGOIF EXISTS (SELECT name FROM sysobjectsWHERE type='TR' AND name='depart_update')DROP TRIGGER depart_updateGOCREATE TRIGGER depart_update ON departAFTER UPDATEASDECLARE @olddepno int,@newdepno intSELECT @olddepno=部门号FROM deletedSELECT @newdepno=部门号FROM inserted UPDATE workerSET 部门号=@newdepnoWHERE 部门号=@olddepnoGO执行下列语句,可验证存储过程的正确性:USE factoryGOPRINT '将部门号改为'UPDATE departSET 部门号=105WHERE 部门号=101GOSELECT 职工号,姓名,部门号FROM workerGOPRINT '将部门号改为'UPDATE departSET 部门号=101WHERE 部门号=105GOSELECT 职工号,姓名,部门号FROM workerGO6.建立触发器worker_delete的程序如下:USE factoryGOIF EXISTS(SELECT name FROM sysobjectsWHERE type='TR'AND name='worker_delete')DROP TRIGGER worker_deleteGOCREATE TRIGGER worker_delete ON workerFOR DELETEASDECLARE @no intSELECT @no=职工号FROM deletedDELETE FROM salaryWHERE职工号=@noGO执行下列语句,可验证存储过程的正确性:USE factoryGOPRINT'删除前的工资记录'SELECT*FROM salaryGODELETE FROM workerWHERE职工号=15GOPRINT'删除职工号为的职工记录后的工资记录'SELECT*FROM salaryGO7.删除触发器depart_update的程序如下:USE factoryGODROP TRIGGER depart_updateGO8.删除触发器worker_delete的程序如下:USE factoryGODROP TRIGGER worker_deleteGO四.测试数据与实验结果第1题图第2题图第3题图第5题图第6题图五.结果分析与实验体会CREATE PROCEDURE语句允许创建、编译并在MS-SQL Server上保存存储过程。
淮海工学院计算机工程学院实验报告书课程名:《数据库原理及应用》题目:存储过程和触发器班级:软件132学号: 2013122907姓名:孙莹莹评语:成绩:指导教师:批阅时间:年月日一.目的与要求1.掌握存储过程的创建方法;2.掌握存储过程的执行、修改和删除等操作;3.掌握触发器的创建方法;4.掌握触发器的使用、修改和删除等相关内容二.实验内容基于前面建立的factory数据库,使用T-SQL语句完成如下各小题的功能:1.创建一个为worker表添加职工记录的存储过程Addworker;2.创建一个存储过程Delworker删除worker表中指定职工号的记录。
3.显示存储过程Delworker;4.删除存储过程Addworker和Delworker.三.实验步骤1 .(1)建立存储过程USE factoryGOCREATE PROCEDURE Addworker@no int=NULL,@name char(10)=NULL,@sex char(2)=NULL,@birthday datetime=NULL,@na char(2)=NULL,@wtime datetime=NULL,@depno int=NULLASIF @no IS NULL OR @name IS NULL OR @sex IS NULL OR@birthday IS NULL OR @depno IS NULLBEGINPRINT '请重新输入该职工信息!'PRINT '你必须提供职工号、姓名、性别、出生日期、部门号'RETURNENDBEGIN TRANSACTIONINSERT INTO workerVALUES(@no,@name,@sex,@birthday,@na,@wtime,@depno)IF @@error<>0BEGINROLLBACK TRANRETURNENDCOMMIT TRANSACTIONPRINT '职工'+@name+'的信息成功添加到表worker中'(2)验证存储过程USE factoryGOAddworker 20,'陈立','女','55/03/08','否','75/10/10',4GOSELECT 职工号,姓名,性别,党员否 FROM workerGO2.(1)建立存储程序USE factoryGOCREATE PROCEDURE Delworker@no int=NULLASIF @no IS NULLBEGINPRINT '必须输入职工号!'RETURNENDBEGIN TRANSACTIONDELETE FROM worker WHERE 职工号=@noIF @@error<>0BEGINROLLBACK TRANRETURNENDCOMMIT TRANSACTIONPRINT '成功删除职工号为'+CAST(@no AS CHAR(2))+'的职工记录' 执行下列语句,可验证存储过程的正确性:USE factoryGODelworker 20GOSELECT 职工号,姓名,性别,党员否 FROM workerGO3.USE factoryGOEXEC sp_helptext DelworkerGO4.USE factoryGOIF EXISTS (SELECT name FROM sysobjectsWHERE name = 'Addworker' AND type ='P') DROP PROCEDURE AddworkerGOIF EXISTS (SELECT name FROM sysobjectsWHERE name = 'Delworker' AND type ='P') DROP PROCEDURE DelworkerGO5.建立触发器depart_update的程序如下:USE factoryGOIF EXISTS (SELECT name FROM sysobjectsWHERE type='TR' AND name='depart_update')DROP TRIGGER depart_updateGOCREATE TRIGGER depart_update ON departAFTER UPDATEASDECLARE @olddepno int,@newdepno intSELECT @olddepno=部门号FROM deletedSELECT @newdepno=部门号FROM inserted UPDATE workerSET 部门号=@newdepnoWHERE 部门号=@olddepnoGO执行下列语句,可验证存储过程的正确性:USE factoryGOPRINT '将部门号改为'UPDATE departSET 部门号=105WHERE 部门号=101GOSELECT 职工号,姓名,部门号FROM workerGOPRINT '将部门号改为'UPDATE departSET 部门号=101WHERE 部门号=105GOSELECT 职工号,姓名,部门号FROM workerGO6.建立触发器worker_delete的程序如下:USE factoryGOIF EXISTS(SELECT name FROM sysobjectsWHERE type='TR'AND name='worker_delete')DROP TRIGGER worker_deleteGOCREATE TRIGGER worker_delete ON workerFOR DELETEASDECLARE @no intSELECT @no=职工号FROM deletedDELETE FROM salaryWHERE职工号=@noGO执行下列语句,可验证存储过程的正确性:USE factoryGOPRINT'删除前的工资记录'SELECT*FROM salaryGODELETE FROM workerWHERE职工号=15GOPRINT'删除职工号为的职工记录后的工资记录'SELECT*FROM salaryGO7.删除触发器depart_update的程序如下:USE factoryGODROP TRIGGER depart_updateGO8.删除触发器worker_delete的程序如下:USE factoryGODROP TRIGGER worker_deleteGO四.测试数据与实验结果第1题图第2题图第3题图第5题图第6题图五.结果分析与实验体会CREATE PROCEDURE语句允许创建、编译并在MS-SQL Server上保存存储过程。
在默认情况下,只有数据库拥有者(DBO)具有对数据库的CREATE PROCEDURE访问权。
但是,DBO可执行以下形式的GRANT语句向由语句中的<username>所标识的用户ID授予CREATE PROCEDURE访问权: GRANT CREATE PROCEDURE <username>CREATE PROCEDURE语句的句法如下:CREATE PROCEDURE <procedure name> [;<version number>][{@<parameter name><data type> [VARYING][=<default value>] [OUTPUT][…,n]}][WITH {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}][FOR REPLICATION]AS <Transact-SQL statement(s)>其中:<procedure name>是存储过程的名称,名称至多可有128个字符。
<version number>允许创建多个有相同名称的存储过程。
通过在执行命令中包括版本号从而执行指定版本的存储过程,如下面的语句所示:EXEC usp_proc;2。
如果调用存储过程时没有指定版本号,DBMS将执行具有相同名称的存储过程组中最高版本号的存储过程。
通过在DROP语句中包括版本号,如DROP PROCEDURE usp_proc;2所示,可以删除特定版本号的存储过程,或者忽略版本号,如DROP PROCEDURE usp_proc从而一次删除存储过程的所有版本。
<parameter name>是可用作存储过程中的变量的参数名。
每个参数的值必须在存储过程调用中提供或者作为CREATE PROCEDURE语句的一部分设置为缺省值。
虽然参数可用作存储过程中的变量名,但参数不能用作列名、表名或是其他数据库对象的名称。
<data type>是参数的数据类型。
参数可以是任何合法的SQL数据类型(包括TEXT、NTEXT和IMAGE)或用户定义的数据类型。
如果参数是CURSOR数据类型,该参数还必须被指定为VARYING和OUTPUT。
VARYING仅对数据类型为CURSOR的参数才是合法的。
指明该参数将包括内容会变化的结果集,其内容由存储过程中的语句动态地构成。
<default value>是参数的默认值。
如果指定,则过程可在不指定参数的情况下执行。
OUTPUT指明参数在存储过程中可以变化,而且修改后的值可返回给主调过程。
…,n指明CREATE PROCEDURE语句可有多达2100个参数。
RECOMPILE每当存储过程被调用时告诉MS-SQL Server都要进行编译(也就是生成新的执行计划)。
如果没有此选项项,DBMS在执行CREATE PROCEDURE语句时编码存储过程,每次调用时都使用同一执行计划。
ENCRYPTION告诉MS-SQL Server加密SYSCOMMENTS表中存储过程条目的文本,以防止用户查看编译后的存储过程中的语句。
指定此选项还可防止存储过程被除数作为MS-SQL Server的复制过程而分开。
由于创建的触发器在条件成立时会自动被调用,可能影响后面示例的执行,所以当一个触发器不再需要时,需将其禁用,禁用trigop触发器的操作是:选中factory表节点,展开下方的触发器节点,右击trigop,在出现的快捷菜单中选择禁用命令。