文档库 最新最全的文档下载
当前位置:文档库 › 实验8+触发器及应用

实验8+触发器及应用

实验8+触发器及应用
实验8+触发器及应用

实验8 触发器及应用

实验名称:DML触发器的设计和应用

实验内容:在SQL Server环境下设计、创建DML触发器,并设定相关操作使触发器运行。

实验目的:理解和掌握数据库中触发器的创建方法,体会触发器执行的条件和作用。

实验方法:在SQL Server环境下按要求设计DML触发器,并使用相关操作使触发器运行。

实验要求:

在实验1数据库设计的基础上补充设计触发器,并基于实验2建立的表和实验3插入的数据完成实验。

1.为选课表分别建立插入和更新触发器,如果当前学生累计不及格门数达到5则给出警示信息。

2.为课程表分别建立插入和更新触发器来建立约束规则:“专业基础”课的教师必须为“教授”或“副教授”,如果不满足约束则拒绝操作,并给出错误信息。

3.自行再分别设计2~3个触发器(在实验报告中要准确描述功能需求)。

4.设计并执行相关的操作,体会DML触发器的效果和作用。

相关命令:

建立DML触发器语句的基本格式是:

CREATE TRIGGER [ schema_name . ]trigger_name

ON { table | view }

{ FOR | AFTER | INSTEAD OF }

{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }

AS

sql_statement

实验八使用触发器实现数据完整性

实验八使用触发器实现数据完整性 一、实验目的 使学生用触发器实现数据完整性的重要性,掌握用触发器实现数据完整性的方法, 掌握用触发器实现参照完整性的方法,并理解触发器与约束的不同。 二、实验内容 (1)为表建立触发器,实现域完整性,并激活触发器进行验证。 (2)为表建立级联的触发器,实现参照完整性,并激活触发器进行验证 (3)比较约束与触发器的执行顺序。 三、实验指导 实验 8.1 创建 JXGL数据库的表 S 的 INSERT触发器材 tri_INSERT_S,插入年龄在线 15 到 30 之间的记录。 实验 8.2 创建 JXGL 数据库的表 S 的 DELETE 触发器 tgr_s_delete, 当删除 S 表中的记录时触发该触发器

DELETE 触发器会在删除数据的时候主,将刚才删除的数据保存在 下面删除表S 中的记录: DELETED表中。 实验 8.3 在数据库 JXGL中有 3 个表,即 S、SC和 C,其中,表 S 连接。如果要删除表 S 中的记录,需要创建触发器,先删除 SC的字段 sno 作为外键与表SC中与要删除记录级联的所 有记录,再删除表S 中的记录。

实验 8.4 为学生表 S创建一个 UPDATE 触发器,当更新了某同学的姓名时,就激活该触发器,并使用 PRINT 语句返回一个提示信息。

deleted表中,将更新后的数据保UPDATE 触发器会在更新数据后,将更新前的数据保存在 存在 inserted 表中。 实验 8.5触发器中的其它操作。 (1)触发器中常用的消息函数raiserror() 的应用。

实验五 触发器操作实验

实验五触发器操作实验 一、实验目的和要求 1、掌握SQL Server中的触发器的使用方法; 二、实验内容和步骤 1、在学生表student上建立一个DELETE类型的触发器tr_delete,触发动作是显示信息“已删除学生表中的数据”。 2、创建名为为tr_delete1的触发器,要求实现如下功能:当删除课程表course中某一门课程的记录时,级联删除成绩表sc中有关此课程的记录。 3、创建名为tr_delete2的触发器,要求实现如下功能:当修改课程表course中某一门课程的课程号时,级联修改成绩表sc中有关此课程的课程号。 4、创建名为tr_delete3的触发器,要求如下:当同时修改student表中的姓名和性别字段时,提示用户“不能同时修改姓名和性别字段”,并撤销此次修改操作。 5、在学生表student上建立一个名为tr_sno的触发器。该触发器将被操作update所激活,将不允许用户修改表的sno字段。 二、实验环境 1.Windows7+SQL 三、调试过程 1.删除出错(级联删除) 修改:(删除sc表外键数据后再删student表)

2.更新出错(级联更新) 修改: 四、实验结果 1.

2. 3.

4. 5.

五、总结 通过此次实验: 1.本人加深对SQL和Transact-SQL语言的查询语句的理解; 2.简单了解了触发器的使用; 3.对级联删除有了再一步的理解,但是对于级联更新的处理还是不够,例如第五题依 旧没解决调试出现的约束冲突问题 六、附录 /************************************************************ 1、在学生表student上建立一个DELETE类型的触发器tr_delete,触发动作是显示信息“已删除学生表中的数据”。 *************************************************************/ create trigger tr_delete on Student after delete as begin print'已删除学生表中的数据' end delete from sc where sno='95011' delete from student where sno='95011' drop trigger tr_delete insert into student values('95011','王一鸣',20,'男','计算机系','福州市') insert into sc(sno,cno,grade)

集成触发器及其应用电路设计

华中科技大学 电子线路设计、测试与实验》实验报告 实验名称:集成运算放大器的基本应用 院(系):自动化学院 地点:南一楼东306 实验成绩: 指导教师:汪小燕 2014 年6 月7 日

、实验目的 1)了解触发器的逻辑功能及相互转换的方法。 2)掌握集成JK 触发器逻辑功能的测试方法。 3)学习用JK 触发器构成简单时序逻辑电路的方法。 4)熟悉用双踪示波器测量多个波形的方法。 (5)学习用Verliog HDL描述简单时序逻辑电路的方法,以及EDA技术 、实验元器件及条件 双JK 触发器CC4027 2 片; 四2 输入与非门CC4011 2 片; 三3 输入与非门CC4023 1 片; 计算机、MAX+PLUSII 10.2集成开发环境、可编程器件实验板及专用电缆 三、预习要求 (1)复习触发器的基本类型及其逻辑功能。 (2)掌握D触发器和JK触发器的真值表及JK触发器转化成D触发器、T触发器、T 触发器的基本方法。 (3)按硬件电路实验内容(4)(5),分别设计同步3 分频电路和同步模4 可逆计数器电路。 四、硬件电路实验内容 (1)验证JK触发器的逻辑功能。 (2)将JK触发器转换成T触发器和D触发器,并验证其功能。 (3)将两个JK触发器连接起来,即第二个JK触发器的J、K端连接在一起, 接到第一个JK触发器的输出端Q两个JK触发器的时钟端CP接在一起,并输入1kHz 正方波,用示波器分别观察和记录CP Q、Q的波形(注意它们之间的时序关系),理解2分频、4分频的概念。 (4)根据给定的器件,设计一个同步3分频电路,其输出波形如图所示。然后组装电路,并用示波器观察和记录CP Q、Q的波形。 (5)根据给定器件,设计一个可逆的同步模4 计数器,其框图如图所示。图中,M为控制变量,当M=0时,进行递增计数,当M=1时,进行递减计数;Q、 Q为计数器的状态输出,Z为进位或借位信号。然后组装电路,并测试电路的输入、输出

实验六 触发器实验报告

实验五 触发器实验报告 [实验目的] 1. 理解Oracle 触发器的种类和用途 2. 掌握行级触发器的编写 [预备知识] 1. PL/SQL 程序设计 [实验原理] 1. 建立触发器 CREA TE [OR REPLACE] TRIGGER <触发器名> BEFORE|AFTER INSERT|DELETE|UPDA TE OF <列名> ON <表名> [FOR EACH ROW] WHEN (<条件>) ON 子句中的名称识别与数据库触发器关联的数据库表 触发器事件指定了影响表的 SQL DML 语句 ( INSERT 、 DELETE 或 UPDA TE) AFTER 指定了触发器在处理完成后触发 BEFORE 指定了触发器在处理完成前触发 默认情况下,触发器每个表触发一次 FOR EACH ROW 选项指定触发器每行触发一次(即触发器为行级触发器) 要使触发器触发,WHEN 子句中布尔型表达式的值必须判定为 TRUE 可以将 REPLACE 添加到 CREA TE 语句以自动删除和重建触发器 2. 行级触发器中引用表数据 在行级触发器中,使用伪记录来表示旧数据:old 和新数据:new 引用示例::new.customer_name, :old.customer_name 3. 行级触发器中的谓词 在一个多条件触发的触发器中,使用谓词可以区分当前触发的操作的类型:触发事件 :old :new Insert 无定义,所有字段都是NULL 该语句完成后插入的值 Update 更新前该行的旧值 更新后该行的值 Delete 删除前该行的值 无定义,所有字段

实验 触发器设计

实验8 触发器设计 一、实验目的: 通过本实验了解数据库触发器的概念,掌握触发器完整性设计方法。 二、实验原理 触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程,由服务器自动激活可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。 创建触发器语法格式 CREATE TRIGGER <触发器名> {BEFORE | AFTER} <触发事件> ON <表名> FOR EACH ROW [WHEN <触发条件>] <触发动作体> 触发时间:Before, AFTER 触发事件:insert,update, delete 删除触发器:drop trigger <触发器名> 显示创建触发器脚本 >show create trigger <触发器名> >show triggers; 三、实验内容及方法 实验平台操作系统:win7,数据库管理平台:mysql5.6或者mysql8,实验用数据库:老师提供的数据库脚本TradeDBSQL.txt (一)触发器应用于数据库完整性设计 实体完整性-PK 参照完整性-FK 用户定义完整性 1.参照完整性级联约束 在订单表Orders(主表)与订单细节表OrderDetails(副表)中实现更新、删除级联是通过下列方式实现的 foreign key(OrderID) references Orders (OrderID) on delete cascade on update cascade 用下面的更新、删除触发器实现上面的更新、删除级联 1)更新级联触发器orderd_upd

DELIMITER %% /* 用%% 代替; 作为命令结束符*/ Create trigger orderd_upd /* 创建触发器名为orderd_upd */ after update on Orders /* 在表orders 上建立更新后触发器*/ for each row /* 对于每一行*/ begin /* 在表orders上更新后自动更新OrderDetails 表*/ update OrderDetails set OrderID = new.OrderID where OrderID=old.OrderID; end %% 特别要注意new,old 的区别 old 表示更新前的一行记录(for each row) new 表示更新为新的数据的一行记录。 DELIMITER ; /* 恢复; 命令行结束符*/ 设计测试用例,测试是否生效: 例如将orderid 从10400 改为14400 select * from orders where orderid=10400; update orders set orderid=14400 where orderid=10400 select * from orders where orderid=14400;

触发器实验报告

. . . . .. . 实验报告 课程名称:数字电子技术基础实验 指导老师: 周箭 成绩:__________________ 实验名称:集成触发器应用 实验类型: 同组学生姓名:__邓江毅_____ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 实验内容和原理 1、D →J-K 的转换实验 设计过程:J-K 触发器和D 触发器的次态方程如下: J-K 触发器:n n 1 +n Q Q J =Q K +, D 触发器:Qn+1=D 若将D 触发器转换为J-K 触发器,则有:n n Q Q J =D K +。 实验结果: J K Qn-1 Qn 功能 0 0 0 0 保持 1 1 0 1 0 0 置0 1 0 1 1 0 1 翻转 1 0 1 0 1 置1 1 1 (上:Qn ,下:CP ,J 为高电平时) 2、D 触发器转换为T ’触发器实验 设计过程:D 触发器和T ’触发器的次态方程如下: D 触发器:Q n+1= D , T ’触发器:Q n+1=!Q n 若将D 触发器转换为T ’触发器,则二者的次态方程须相等,因此有:D=!Qn 。 实验截图: 专业:电卓1501 姓名:卢倚平 学号:3150101215 日期:2017.6.01 地点:东三404

实验名称:集成触发器应用实验 姓名: 卢倚平 学号: 2 (上:Qn ,下:!Qn )CP 为1024Hz 的脉冲。 3、J-K →D 的转换实验。 ①设计过程: J-K 触发器:n n 1 +n Q Q J =Q K +, D 触发器:Qn+1=D 若将J-K 触发器转换为D 触发器,则二者的次态方程须相等,因此有:J=D ,K=!D 。 实验截图: (上:Qn ,下:CP ) (上:Qn ,下:D ) 4、J-K →T ′的转换实验。 设计过程: J-K 触发器:n n 1 +n Q Q J =Q K +, T ’触发器:Qn+1=!Qn 若将J-K 触发器转换为T ’触发器,则二者的次态方程须相等,因此有:J=K=1 实验截图:

数电实验触发器及其应用

数电实验触发器及其应用 数字电子技术实验报告 实验三: 触发器及其应用 一、实验目的: 1、熟悉基本RS触发器,D触发器的功能测试。 2、了解触发器的两种触发方式(脉冲电平触发和脉冲边沿触发)及触发特点 3、熟悉触发器的实际应用。 二、实验设备: 1 、数字电路实验箱; 2、数字双综示波器; 3、指示灯; 4、74LS00、74LS74。 三、实验原理: 1、触发器是一个具有记忆功能的二进制信息存储器件,是构成多种时序 电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即“0”和“ 1 ”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。触发器有集成触发器和门电路(主要是“与非门” )组成的触发器。 按其功能可分为有RS触发器、JK触发器、D触发器、T功能等触发器。触发方式有电平触发和边沿触发两种。 2、基本RS触发器是最基本的触发器,可由两个与非门交叉耦合构成。 基本RS触发器具有置“ 0”、置“ 1”和“保持”三种功能。基本RS触发器

也可以用二个“或非门”组成,此时为高电平触发有效。 3、D触发器在CP的前沿发生翻转,触发器的次态取决于CP脉冲上升沿n+1来到之前D端的状态,即Q = D。因此,它具有置“ 0”和“T两种功能。由于在CP=1期间电路具有阻塞作用,在CP=1期间,D端数据结构变RS化,不会影响触发器的输出状态。和分别是置“ 0”端和置“ 1” DD 端,不需要强迫置“ 0”和置“ 1”时,都应是高电平。74LS74(CC4013, 74LS74(CC4042均为上升沿触发器。以下为74LS74的引脚图和逻辑图。 馬LD 1CP 1云IQ LQ GM) 四、实验原理图和实验结果: 设计实验: 1、一个水塔液位显示控制示意图,虚线表示水位。传感器A、B被水浸沿时

D触发器及其应用

实验八 D 触发器及其应用 一、实验目的 1.熟悉基本D 触发器的功能测试; 2.了解触发器的两种触发方式(脉冲电平触发和脉冲边沿触发)及触发特点; 3.熟悉触发器的实际应用; 4.了解并掌握 Multisim 仿真软件的使用。 二、实验设备 数字实验电路箱,74LS74,导线若干,Multisim 数电仿真软件。 74LS74引脚图 74LS74逻辑图 三、实验原理 D 触发器在时钟脉冲CP 的前沿(正跳变0到1)发生翻转,触发器的次态 U1A 74LS74D 1D 2 1Q 5 ~1Q 6 ~1CLR 1 1CLK 3 ~1PR 4

n Q 取决于脉冲上升沿到来之前D 端的状态,即 Q =D 。因此, 它具有置0、置1两种功能。由于CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D 端的数据状态变化,不会影响触发器的输出状态。 R 和 S 分别是决定触发器初始状态 Q 的直接置0、置1端。当 不需要强迫置0、置1时, R 和 S 端都应置高电平(如接+5V 电源)。 74LS74、74LS175等均为上升沿触发的边沿触发器。触发器的应用很广,可用作数字信号的寄存,移位寄存,分频和波形发生器等。 四、实验内容 1.测试D 触发器的逻辑功能; 2.构成异步分频器,构成2分频和4分频; 3.构成同步分频器,构成2分频和4分频。 五、实验设计及实验仿真 1.测试D 触发器的逻辑功能: (1)将74LS74的D S D R 端分别加低电平,观察并记录Q 端的状态; (2)令D S D R 端为高电平,D 端分别接高、低电平,用单脉冲做CP ,观察记录当CP 为0,上升,1,下降时Q 段状态的变化; (3)当D S D R 为高电平,CP=0(或CP=1),改变D 端状态,观察Q 端的状态是否变化; (4)得到74LS74D 触发器的功能测试表:

实验五 存储过程和触发器的定义和使用3

实验五存储过程和触发器的定义和使用 一、实验目的 1、掌握局部变量、全局变量、流程控制语句的使用方法 2、了解存储过程的类型和作用,并掌握使用对象资源管理器和Transact-SQL语句创建 存储过程的方法及使用方法。 3、理解触发器的特点和作用,并掌握使用Transact-SQL语言创建触发器的方法 二、实验内容 1.在学生成绩库中中有如下各表: 学生表(Student) 学号姓名性别出生日期专业所在系联系电话020101杨颖01980-7-20计算机应用计算机88297147 020102方露露01981-1-15信息管理计算机88297147 020103俞奇军11980-2-20信息管理计算机88297151 020104胡国强11980-11-7信息管理计算机88297151 020105薛冰11980-7-29水利工程水利系88297152 020201秦盈飞01981-3-10电子商务经济系88297161 020202董含静01980-9-25电子商务经济系88297062 020203陈伟11980-8-7电子商务经济系88297171 020204陈新江11980-7-20房建水利系88297171 create database学生成绩数据库 create table Student ( 学号Char(6)not null, 姓名Char(8)not null, 性别Bit not null, 出生日期smalldatetime, 专业Char(10), 所在系Char(10), 联系电话Char(11)null ) 课程表(Course) 课程号课程名教师开课学期学时学分 101计算机原理陈红2453 102计算方法王颐3453 103操作系统徐格2604 104数据库原理及应用应对刚3755 105网络基础吴江江4453 106高等数学孙中文1906 107英语陈刚1906 108VB程序设计赵红韦3705

触发器及其应用实验报告 - 图文-

实验报告 一、实验目的和任务 1. 掌握基本RS、JK、T和D触发器的逻辑功能。 2. 掌握集成触发器的功能和使用方法。 3. 熟悉触发器之间相互转换的方法。 二、实验原理介绍 触发器是能够存储1位二进制码的逻辑电路,它有两个互补输出端,其输出状态不仅与输入有关,而且还与原先的输出状态有关。触发器有两个稳定状态,用以表示逻辑状态"1"和"0飞在二定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存储器件,是构成各种时序电路的最基本逻辑单元。 1、基本RS触发器 图14-1为由两个与非门交叉祸合构成的基本RS触发器,它是无时钟控制低电平直接触发的触发器。 基本RS触发器具有置"0"、置"1"和保持三种功能。通常称s为置"1"端,因为 s=0时触发器被置"1"; R为置"0"端,因为R=0时触发器被置"0"。当S=R=1时状态保持,当S=R=0时为不定状态,应当避免这种状态。

基本RS触发器也可以用两个"或非门"组成,此时为高电平有效。 S Q S Q Q 卫R Q (a(b 图14-1 二与非门组成的基本RS触发器 (a逻辑图(b逻辑符号 基本RS触发器的逻辑符号见图14-1(b,二输入端的边框外侧都画有小圆圈,这是因为置1与置。都是低电平有效。 2、JK触发器 在输入信号为双端的情况下,JK触发器是功能完善、使用灵活和通用性较强的一种触发器。本实验采用74LS112双JK触发器,是下降边沿触发的边沿触发器。引脚逻辑图如图14-2所示;JK触发器的状态方程为: Q,,+1=J Q"+K Q 3 5

J Q CLK K B Q 图14-2JK触发器的引脚逻辑图 其中,J和IK是数据输入端,是触发器状态更新的依据,若J、K有两个或两个以上输入端时,组成"与"的关系。Q和Q为两个互补输入端。通常把Q=O、Q=1的状态定为触发器"0"状态;而把Q=l,Q=0 定为"}"状态。 JK触发器常被用作缓冲存储器,移位寄存器和计数器。 CC4027是CMOS双JK触发器,其功能与74LS112相同,但采用上升沿触发,R、S端为高电平

实验五-触发器和存储过程

实验五:触发器和存储过程 一.实验目的:理解触发器和存储过程的含义,掌握用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) ) 通过以上语句,可以看到数据库中的表建立成功。 2.创建存储过程: create proc book_borrow @mycardid_in int, @mybookid_in int,

触发器的使用实验报告

实验II、触发器及其应用 一、实验目的 1、掌握基本RS、JK、D和T触发器的逻辑功能 2、掌握集成触发器的逻辑功能及使用方法 3、熟悉触发器之间相互转换的方法 二、实验原理 触发器具有两个稳定状态,用以表示逻辑状态“1”和“0”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存储器件,是构成各种时序电路的最基本逻辑单元。 1、基本RS触发器 如图1为两个与非门交叉耦合构成的基本RS触发器,它是无时钟控制低电平直接触发的触发器。基本RS触发器具有置“0”、置“1”和“保持”三种功能。通常称为置“1” 段,因为=0(=1)时触发器被置为“1”;为置“0”端,因为=0(=1)时触发器被置“0”,当==1时状态保持;==0时,触发器状态不定,应避免此种情况发生,表1为基本RS 触发器的状态表。 图1、基本RS触发器 表1、基本RS触发器功能表 输入输出 0 1 1 0 1 0 0 1 1 1 0 0 不定不定 基本RS 2、JK触发器

在输入信号为双端的情况下,JK触发器的功能完善、使用灵活和通用性较强的一种触发器。本实验采用74LS112双JK触发器,是下降沿出发的边沿触发器。引脚功能及逻辑符号如图2所示。 图2、74LS112双JK触发器引脚排列及逻辑符号 JK触发器的状态方程为:=J+ J和K是数据输入端,是触发器状态更新的依据,若J、K有两个或者两个以上输入端时,组成“与”的关系。和为两个互补输出端。通常把=0,=1的状态定为触发器“0” 状态;而把=1,=0定为“1”状态。下降沿触发JK触发器功能表如表2所示。 表2、JK触发器功能表 JK触发器常被用作缓冲存储器,移位寄存器和计数器。 3、D触发器 在输入信号为单端的情况下,D触发器用起来最为方便,其状态方程为=D,其输出状态的更新发生在CP脉冲的上升沿,故又称为上升沿触发的边沿触发器,触发器的状态只取决于时钟到来前D端的状态,D触发器的应用很广,可用作数字信号的寄存,移位寄存,分频和波形发生等。有很多种型号可供各种用途的需要而选用。如双D 74LS74、四D 74LS175、六D 74LS174等。 下图为双D774LS74的引脚排列及逻辑符号。功能表如表3.

存储过程和触发器(数据库实验5)

数据库基础与实践实验报告实验五存储过程和触发器 班级:惠普测试142 学号:1408090213 姓名:闫伟明 日期:2016-11-14

1 实验目的: 1)掌握SQL进行存储过程创建和调用的方法; 2)掌握SQL进行触发器定义的方法,理解触发器的工作原理; 3)掌握触发器禁用和重新启用的方法。 2 实验平台: 操作系统:Windows xp。 实验环境:SQL Server 2000以上版本。 3 实验内容与步骤 利用实验一创建的sch_id数据库完成下列实验内容。 1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。 存储过程定义代码: CREATE PROCEDURE JSXX_PROC AS SELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND https://www.wendangku.net/doc/6c5568510.html,o=https://www.wendangku.net/doc/6c5568510.html,o 存储过程执行语句与执行结果截图: EXECUTE JSXX_PROC 2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、 所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。 存储过程定义代码:

CREATE PROCEDURE XM_PROC @sname VARCHAR(100) AS BEGIN IF EXISTS(SELECT NULL FROM S WHERE sn=@sname) SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE https://www.wendangku.net/doc/6c5568510.html,o=https://www.wendangku.net/doc/6c5568510.html,o AND SC.sno=S.sno AND S.sn=@sname ELSE PRINT'无该姓名的同学。' END 运行截图: 3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业), 统计并显示该专业各年龄段男、女生人数。如果没有该专业,则显示“无此专业”。 存储过程定义代码: CREATE PROCEDURE XBNL_PROC @departName VARCHAR(30)='计算机', @begin INT, @end INT AS

实验八 触发器的使用

实验八触发器的使用 一、实验目的 ●掌握触发器的创建、修改和删除操作。 ●掌握触发器的触发执行。 ●掌握触发器与约束的不同。 二、实验要求 1.创建触发器。 2.触发器执行触发器。 3.验证约束与触发器的不同作用期。 4.删除新创建的触发器。 三、实验内容 (一)示例 1.创建触发器 ①启动SQL Server 查询编辑器,选择要操作数据库,如“sc(学生选课)”数据库。 ②在查询命令窗口中输入以下CREATE TRIGGER语句,创建触发器。 为sc(学生选课)表创建一个基于UPDATE操作和DELETE操作的复合型触发器,当修改了该表中的成绩信息或者删除了成绩记录时,触发器被激活生效,显示相 关的操作信息。 2.触发触发器 ①在查询命令窗口中输入以下UPDATE sc语句,修改成绩列,激发触发器。 UPDATE sc SET grade=grade+5 WHERE 课程号=’3’ ②在查询命令窗口中输入以下UPDATE sc语句修改非成绩列,激发触发器。 UPDATE sc SET cno=’9’ WHERE 课程号=’1’ ③在查询命令窗口中输入以下DELETE sc 语句,删除成绩记录,激发触发器。 DELETE sc WHERE cno=’7’ 3. 比较约束与触发器的不同作用期 ①在查询命令窗口中输入并执行以下ALTER TABLE 语句,为sc表添加一个约束,使 得成绩只能大于等于0且小于等于100。 ALTER TABLE sc ADD CONSTRAINT CK_成绩 CHECK(grade>=0 ANDgrade<=100) ②在查询命令窗口中输入并执行以下UPDATE sc语句,查看执行结果。 UPDATE sc

触发器实验报告

触发器实验报告 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验报告 课程名称:数字电子技术基础实验 指导老师: 周箭 成绩:__________________ 实验名称:集成触发器应用 实验类型: 同组学生姓名:__邓江毅_____ 一、实验目的和要求(必填) 二、实验内容和原 理(必填) 三、主要仪器设备(必填) 四、操作方法和实 验步骤 五、实验数据记录和处理 六、实验结果与分 析(必填) 七、讨论、心得 实验内容和原理 1、D →J-K 的转换实验 设计过程:J-K 触发器和D 触发器的次态方程如下: J-K 触发器:n n 1+n Q Q J =Q K +, D 触发器:Qn+1=D 若将D 触发器转换为J-K 触发器,则有:n n Q Q J =D K +。 实验结果: J K Qn-1 Qn 功能 0 0 0 0 保持 1 1 0 1 0 0 置0 1 0 1 1 0 1 翻转 1 0 1 0 1 置1 1 1 实验截图: 专业:电卓1501 姓名:卢倚平 学号: 日期:地点:东三404

(上:Qn ,下:CP ,J 为高电平时) 2、D 触发器转换为T ’触发器实验 设计过程:D 触发器和T ’触发器的次态方程如下: D 触发器:Q n+1= D , T ’触发器:Q n+1=!Q n 若将D 触发器转换为T ’触发器,则二者的次态方程须相等,因此有:D=!Qn 。 实验截图: (上:Qn ,下:!Qn )CP 为1024Hz 的脉冲。 3、J-K →D 的转换实验。 ①设计过程: J-K 触发器:n n 1+n Q Q J =Q K , D 触发器:Qn+1=D 若将J-K 触发器转换为D 触发器,则二者的次态方程须相等,因此有:J=D ,K=!D 。 实验截图:

实验五触发器及其应用(仿真)一、实验目的

实验五 触发器及其应用(仿真) 一、实验目的 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 K Q J Q 1 (b ) 仿真元件引线排列 (a ) 逻辑符号 图5-1 74112的逻辑符号和仿真元件引线排列 1J C1 1K Q > J CP K R D S D R S Q (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触发器的逻辑功能互相转换,并验证之。 4.任选一种触发器设计一个四人抢答器。要求当四人中任一人先按下开关后,有LED指示,其他人再按开关无效;复位后又可正常工作。画出原理图,仿真验证。 提示:利用复位端清零,抢答者的起始端接地,抢答成功者先按下开关时,D由0变1,Q变为高电平,同时用Q的反,通过与非门封锁其他人的抢答开关。

D触发器及其应用实验报告

实验五D触发器及其应用 实验人员:班号:学号: 一、实验目的 1、熟悉D触发器的逻辑功能; 2、掌握用D触发器构成分频器的方法; 3、掌握简单时序逻辑电路的设计 二、实验设备 74LS00 ,74LS74,数字电路实验箱,数字双踪示波器,函数信号发生器 三、实验内容 1、用74LS74(1片)构成二分频器、四分频器,并用示波器观察波形; 74LS74是双D触发器(上升沿触发的边沿D触发器),其管脚图如下: 其功能表如下: ○1构成二分频器:用一片74LS74即可构成二分频器。实验电路图如下:

○2构成四分频器:需要用到两片74LS74。实验电路图如下: 2、实现如图所示时序脉冲(用74LS74和74LS00各1片来实现) 将欲实现功能列出真值表如下:

Q 1n+1=Q 0n =D 1 Q 0n+1=Q 1n ????=D 0 F ′=Q 1n Q 0n ???? F =F ′?CP 连接电路图如下: 四、实验结果 1、用74LS74(1片)构成二分频器、四分频器。示波器显示波形如下: ○ 1二分频器: ○ 2四分频器:

2、实现时序脉冲。示波器显示波形如下: 五、故障排除 在做“用74LS74(1片)构成二分频器、四分频器”时,连接上示波器后,发现通道二总显示的是类似于电容放电的波形,但表现出了二分频。反复排查问题均没有发现原因。最后换了一根连接示波器的线,便得到了理想的结果。 在示波器使用时想要用U盘保存电路波形,不会操作。后来在询问了同学之后才知道只需要按“print”就好。 六、心得体会 通过此次实验,我更深入地领悟了触发器的原理和用法,还复习了示波器的用法,还学会了如何保存示波器波形。

实验八 存储过程和触发器_参考答案

实验八存储过程和触发器 一、目的与要求 1. 正确理解存储过程和触发器的概念、功能和类型; 2. 掌握使用SSMS和T-SQL语句创建和管理存储过程和触发器。 二、上机准备 利用教师提供的XSGL数据库,该库中有3个表:student,course,sc。 三、实验内容 1. 将教师提供的XSGL数据库附加到本地数据库中。 2. 分别使用SSMS和T-SQL语句创建和管理存储过程和触发器。 (1)创建一个存储过程proc_stud_sc_info,查询学号、姓名、性别、系、课程号和成绩等信息。 use xsgl go create procedure proc_stud_sc_info as select student.sno,sname,sex,dept,cno,grade from student left join sc on student.sno=sc.sno go (2)创建一个存储过程proc_stud_info,根据输入的学号,查询学生的基本信息。 use xsgl go create procedure proc_stud_info @sno char(5)='95001' as select * from student where sno=@sno go (3)创建一个存储过程proc_stud_birth_year,根据输入的学生姓名,计算该学生的出生年份。 use xsgl go create procedure proc_stud_birth_year @sname varchar(6)='张立' as select sname,year(getdate())-age as 出生年份 from student where sname=@sname go

实验七触发器

实验七触发器 一、实验目的 (1)理解触发器的用途、类型和工作原理 (2)掌握利用T-SQL语句创建和维护触发器的方法 (3)掌握利用企业管理器创建、维护触发器的方法 二、实验内容 1.创建after触发器 (1)创建一个在插入时触发的触发器sc_insert,当向sc表插入数据时,须确保插入的学号已在Student表中存在,并且还须确保插入的课程号在Course表中存在;若不存在,则给出相应的提示信息,并取消插入操作,提示信息要求指明插入信息是学号不满足条件还是课程号不满足条件(注:Student表与sc表的外键约束要先取消)。 (2)为Course表创建一个触发器Course_del,当删除了Course表中的一条课程信息时,同时将表sc表中相应的学生选课记录删除掉。 (3)在Course表中添加一个平均成绩avg_Grade字段(记录每门课程的平均成绩),创建一个触发器Grade_modify,当SC表中的某学生的成绩发生变化时,则Course表中的平均成绩也能及时相应的发生改变。 (4)测试上述三个触发器。 测试过程在(1)、(2)、(3)中均给出。 2.创建insteadof触发器 (1)创建一视图Student_view,包含学号、姓名、课程号、课程名、成绩等属性,在Student_view上创建一个触发器Grade_moidfy,当对Student_view中的学生的成绩进行修改时,实际修改的是sc中的相应记录。 (2)在SC表中插入一个getcredit字段(记录某学生,所选课程所获学分的情况),创建一个触发器ins_credit,当更改(注:含插入时)SC表中的学生成绩时,如果新成绩大于等于60分,则该生可获得这门课的学分,如果新成绩小于60分,则该生未能获得学分。 (3)测试上述两个触发器。 测试结果在(1)、(2)中均已给出。 3.使用T-SQL语句管理和维护 (1)用系统存储过程sp_helptrigger查看触发器Grade_modify的相关信息。 (2)使用系统存储过程sp_helptext查看触发器Grade_modify中的定义内容。 (3)使用select语句查看触发器Grade_modify的定义内容。 (4)用系统存储过程sp_depends查看触发器Grade_modify的相关性。 (5)将sc_insert触发器改为insteadof触发器,实现的功能不变。 (6)将触发器sc_insert删除。 4.使用SQLServerManagementStudio管理存储过程 (1)在SQL ServerManagementStudio中重新创建刚删除的触发器sc_insert (2)查看触发器sc_insert的内容。 (3)删除触发器sc_insert

实验八 存储过程和触发器 SQL

实验8 存储过程和触发器 一、实验目的 1.掌握通过企业管理器和Transact —SQL语句和CREATE PRODCEDURE创建存储过程的方法和步骤。 2.掌握使用企业管理器和Transact —SQL语句和EXECUTE执行存储过程的方法。 3.掌握通过企业管理器和Transact —SQL语句CREATE TRIGGER创建触发器的方法和步骤。 4.掌握引发存储器的方法。 5.掌握使用系统存储过程管理存储过程和触发器的方法。 6.掌握事物,命名事物的创建方法,不同类型的事务的处理情况。 二、实验准备 1.了解存储过程的基本概念和类型。 2.了解创建存储过程的Transact —SQL语句的基本语法。 3.了解查看、执行、修改和删除存储过程的基本语法。 4.了解触发器的基本概念和类型。 5.了解创建触发器的Transact —SQL语句基本用法。 6.了解查看、修改和删除触发器的Transact —SQL语句的用法。 7.了解创建事务,处理事务的方法和过程。 8.了解锁机制。 三、实验内容和步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1.在查询分析器中输入以下代码,创建一个利用流控制语句的存储过程lletters_print,该存储器能显示26个小写字母。 CREATE PROCEDURE letter_print AS DECLARE @count int SET @count=0 WHILE @count<26 BEGIN PRINT CHAR(ASCII(‘a’)+@count) SET @count =@count +1

实验五--------触发器及应用

实验五触发器及应用 院系:信息科学与技术学院 专业:电子信息工程 姓名:刘晓旭 学号:2011117147 一:实验目的 1.掌握RS,D,JK触发器的电路结构及其逻辑功能。 2.学习各种触发器功能的测试及应用方法。 3.掌握触发器的应用。 二:实验器材 74LS00四2输入与非门 74LS20二4输入与非门 74LS74双D正沿触发器 74LS76双JK触发器 蜂鸣器,三极管,电阻若干,示波器,函数信号发生器,稳压电源 三:实验内容 1.单次脉冲发生器 按照图 5.7(a)所示电路接线即构成单次脉冲发生器。工作时,每按 一次按键就从Q端输出工作脉冲。波形如图5.7(b)所示。脉冲宽度 T 取决于开关按下的时间,用双踪示波器同时观察 Q,Q波形。

图1 波形如图(2) 图 2 2.测试D 触发器的逻辑功能 将D 触发器74LS74的S D ,R D 和D 分别接逻辑开关,CP 接单次脉冲。Q,Q 接发光二极管,按D 触发器的逻辑功能进行测试,记录测试结果。 按照图示连接电路

图3 当1D 接高电平时,给电路一个单次脉冲,Q 总是处于高电平; 当1D 接低电平时,给电路一个单次脉冲,Q 总是处于低电平。 满足D 触发器的特性表(1): 表1 3.测试JK 触发器的逻辑功能。 JK 触发器74LS76按图所示的电路连线,用函数发生器输出0~5V 方波信号作 图示

图4 波形如图5 : 图5 4,触发器的相互转换 (1) JK 触发器转换成T 触发器,按图(a ),(b)所示连接电路,组成T ,T ’触 发器,记录测试结果:

图6 特性图如表2 表2 当T=1时,每来一个脉冲信号,,状 而T=0时,cp信号到达后,它的波形不变 波形如图7所示: 图7

相关文档