文档库 最新最全的文档下载
当前位置:文档库 › 实验八触发器

实验八触发器

实验八触发器
实验八触发器

《大型数据库技术及应用》

实验报告

实验名称:触发器

班级:36-2

学号:11103060203

姓名:程娟

实验八触发器

一、实验学时:

2学时

二、实验类型:

设计性实验

三、实验目的和主要内容:

掌握DDL、DML和系统触发器的创建方法。

主要内容包括:

1. 编写一个触发器,用它把数据库系统的关闭事件记录到一个表(表结构自己设计)内。

SQL> Create table shutdown_log(shut_user varchar2(20),

2 Shut_time date,

3 Shut_action varchar2(20));

表已创建。

SQL> Create or replace trigger shutdown_record

2 Before shutdown

3 On database

4 Begin

5 Insert into shutdown_log values(user,sysdate,'关闭数据库');

6 End;

7 /

触发器已创建

SQL> shutdown;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> select * from shutdown_log;

SHUT_USER SHUT_TIME SHUT_ACTION

-------------------- ---------- --------------------

SYS 05-11月-13 关闭数据库

2. 编写一个行触发器,把emp表增、删、改操作前后员工的姓名和工资前

后变化情况显示处理。

SQL> Create or replace trigger trg_row

2 Before insert or update or delete

3 on scott.emp

4 For each row

5 Begin

6 If inserting then

7 Dbms_output.put_line(:new.empno||' '||:new.ename);

8 Elsif updating then

9 Dbms_output.put_line(:old.sal||' '||:new.sal);

10 Else

11 Dbms_output.put_line(:old.empno||' '||:old.ename);

12 End if;

13 End trg_row;

14 /

触发器已创建

SQL> select trigger_name from user_triggers;

TRIGGER_NAME

------------------------------

TRG_EMP_DM1_ROW

TRG_EMP_DML_ROW

TRG_ROW

AURORA$SERVER$SHUTDOWN

AURORA$SERVER$STARTUP

CDC_ALTER_CTABLE_BEFORE

CDC_CREATE_CTABLE_AFTER

CDC_CREATE_CTABLE_BEFORE

CDC_DROP_CTABLE_BEFORE

NO_VM_CREATE

NO_VM_DROP

TRIGGER_NAME

------------------------------

SHUTDOWN_RECORD

SHUTDOWN_RECORD

SYS_LOGOFF

SYS_LOGON

已选择15行。

触发器已创建四、实验仪器设备和材料:

Intel 酷睿2双核计算机及其网络、Windows 2000/XP、Oracle 9i安装版。

五、实验报告要求:

要求写出实验目的、实验内容、实验步骤(含程序代码、实验结果)和实验心得。

实验心得:通过这次试验,让我了解到更多东西,了解也更深入。知道了创建触发器的方法。在老师的帮助下解决了一些错误。这次实验主要是掌握DDL、DML和系统触发器的创建方法。通过看书本和问老师,同学,还算完成了实验。有的语句输入错误产生了运行错误。以后我会更加认真听课,好好理解这些语句和错误。

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

实验八使用触发器实现数据完整性 一、实验目的 使学生用触发器实现数据完整性的重要性,掌握用触发器实现数据完整性的方法, 掌握用触发器实现参照完整性的方法,并理解触发器与约束的不同。 二、实验内容 (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() 的应用。

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

华中科技大学 电子线路设计、测试与实验》实验报告 实验名称:集成运算放大器的基本应用 院(系):自动化学院 地点:南一楼东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为进位或借位信号。然后组装电路,并测试电路的输入、输出

实验11 触发器

实验11 触发器 一、学习要求 (1) 通过实践理解触发器的概念、作用、优点。 (2) 掌握利用界面方式创建、修改和删除不同类型的触发器。 (3) 掌握利用命令方式创建、修改和删除不同类型的触发器。 二、实验内容 在已建立的TSGL***数据库的基础上,按如下要求对数据库进行操作,保存操作代码和截图,命名要求同前。 1.创建一触发器,当向借阅表插入一条记录时,检查该记录的借书证号在读者表中是否存在,检查该记录图书的ISBN号在图书表中是否存在,以及图书的库存量是否大于0,若有一项为否,则不允许插入,并提示操作失败。 create trigger Lend_insert on Lend after insert as declare@借书证号char(12),@ISBN编号char(16) select@借书证号=借书证号from inserted select@isbn编号=(select@ISBN编号from reader,lend where@借书证号 =reader.借书证号and reader.借书证号=lend.借书证号) if(@借书证号not in(select*from reader.借书证号) or@isbn编号not in(select*from book.isbn编号) or exists(select*from book where库存量<=0)) begin print'不允许插入' end

2.创建一触发器,当删除读者表一条记录时,检查该记录的借书证号在借阅表中是否存在,如果存在,则不允许删除,并提示先归还在借图书。 create trigger delete_reader on reader for delete as declare@借书证号char(12) select@借书证号=借书证号from inserted if(@借书证号not in(select*from lend.借书证号)) begin print'不允许删除,请先归还图书' end else begin print('删除成功')

实验 触发器设计

实验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;

实验四 触发器实验

数字电路与逻辑设计实验 ——触发器实验 姓名:李文科 学号:20131060044 学院:信息学院 专业:计算机科学与技术 指导教师:陈志坚 2014年11月22日

一、 实验目的 1. 熟悉并掌握RS 、D 、JK 触发器的构成,工作原理和功能测试方法。 2. 学会正确使用触发器集成芯片。 3. 了解不同逻辑功能触发器FF 相互转换的方法。 二、 实验仪器及材料 1. 双踪示波器 2. 器件: 74LS00 二输入端四“与非”门 1片 74LS74 双D 触发器 1片 74LS112 双JK 触发器 1片 三、 实验内容 1. 基本RS 触发器(RS-FF )功能测试 两个TTL 与非门首尾相接构成的基本RS-FF 的电路如图4.1所示。 (1) 试按下面的顺序在S d ???、R d ????端加信号: S d ???=0 R d ????=1 S d ???=1 R d ????=1 S d ???=1 R d ????=0 S d ???=1 R d ????=1 观察并记录FF 的Q 、Q ?端的状态,将结果填入表4.1中,并说明在上述各种输入状态下,FF 执行的是什么功能? (2) S d ???端接低电平,R d ????端加脉冲。 Q =1, Q ?=R d ???? (3) S d ???端接高电平,R d ????端加脉冲。 Q =0,Q ?=1 (4) 连接S d ???、R d ????,并加脉冲。 图4.1:基本RS-FF 电路 表4.1

Q= Q ?=1 记录并观察(2)、(3)、(4)三种状态下,Q ,Q ?,端的状态。从中你能否总结出RS-FF 的Q 或Q ?端的状态改变和输入端S d ???、R d ????的关系。 S d ???=0 R d ????=1 置Q=1 S d ???=1 R d ????=1 保持 S d ???=1 R d ????=0 置Q=0 (5) 当S d ???、R d ????都接低电平时,观察Q ,Q ?端的状态。当S d ???、R d ????同时由低电平跳为高电平时,注意观察Q ,Q ?端的状态,重复3-5次看Q ,Q ?端的状态是否相同,以正确理解“不定”状态的含义。 2. 维持阻塞型D-FF 功能测试 双D 型正边沿维持阻塞型触发器74LS74的逻辑符号如图4.2所示。图中S d ???、R d ????端为异步置1端、置0端(或称异步置位复位端)。CP 为时钟脉冲。 试按下面的步骤做实验: (1) 分别在S d ???、R d ????端加低电平,观察并记录Q , Q ?端的状态。 (2) 令S d ???、R d ????端为高电平,D 端分别加高、低电平,用单脉冲作为CP ,观察并记录当CP 为L 、↑、H 、↓时,Q 端状态的变化。 (3) 当S d ???=R d ????=H 、CP=0(或CP=1),改变D 端信号,观察Q 端的状态是否变化? 整理上述的实验数据,将结果填土表4.2中。 (4) 令S d ???=R d ????=H ,将D 和端相连,CP 加连续脉冲,用双踪示波器观察并在图4.3中记录Q 相对于CP 的波形。 图4.2:D-FF 符号 表4.2

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 触发器的功能测试表:

数电实验触发器及其应用

数电实验触发器及其应用 数字电子技术实验报告 实验三: 触发器及其应用 一、实验目的: 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被水浸沿时

实验报告:触发器

四川大学电气信息学院 电气工程及其自动化网络专升本 实验报告 实验课程:电工电子综合实践 实验名称:触发器 班级:05秋电气工程及其自动化姓名: 学号:VH1052U2003 日期: 2007-9-4 一、实验目的 1、掌握触发器的逻辑功能和测试方法。 2、测试与非门构成的RS触发器的逻辑功能。 3、测试JK触发器的逻辑功能。 4、测试D触发器的逻辑功能。 二、实验器材 1、实物实验器材 (1)、NET数字电子技术实验系统1套 2、虚拟实验器材 (1)、操作系统为Windows95/98/ME的计算机1台 (2)、Electronics Workbench Multisim 2001电子线路仿真软件1套 三、虚拟仿真实验内容及步骤 §1 R-S触发器

1.从器件中调入所需元件与仪表,采用74LS00绘制电路,如图11-4 所示。 2.按表11-4的逻辑状态将接高电平或低电平,依次将测量值填入表 11-4中。 2.5 V 图11-4RS触发器的虚拟仿真实验电路图 触发器的虚拟仿真实验真值表 表11-4 R-S 3.从器件中调入所需元件与仪表,采用74LS76绘制电路,如图11-5 所示。 4.按表11-5的逻辑状态将接高电平或低电平,依次将测量值填入表 11-5中。

2.5 V 图11-5 JK触发器的虚拟仿真实验电路图 表11-5 JK触发器虚拟仿真实验真值 §3 D触发器 5.从器件中调入所需元件与仪表,采用74LS74绘制电路,如图11-6 所示。 6.按表11-6的逻辑状态将接高电平或低电平,依次将测量值填入表 11-6中。

2.5 V 图11-6 D触发器的虚拟仿真实验电路图 表11-6 D触发器虚拟仿真实验真值 五、实物实验内容及步骤 §1 RS触发器 电路:

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

实验报告 一、实验目的和任务 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端为高电平

数字电路实验报告第七章触发器

数字电路与逻辑设计基础实验 任课教师:陈志坚 实验名称:触发器(实验七) 云南大学信息学院 一、实验目的 ⑴学习触发器逻辑功能的测试方法 ⑵进一步熟悉RS触发器、集成D触发器和JK触发器的逻辑功能及其触发方式二、实验器材 ⑴直流稳压电源、数字逻辑实验箱 ⑵74LS00、74LS74、74LS76 三、实验内容和仿真

1.基本RS触发器 基本RS触发器用与非门74LS00构成,按图7-1接好线。在输入端加上不同的信号,通过发光二极管观察电路输出端的状态。把结果填入自制的表中。 图7-1 基本RS触发器图7-2 D触发器的预置和清零功能 用带预置和清除的双D型触发器74LS74来测试上升沿触发集成D型触发器的逻辑功能。先按图7-2接线,在时钟脉冲的不同电平状态,改变预置端PRE 和清除端CLR的信号,通过发光二极管观察触发器的输出状态。把结果填入自制的表中。然后,按图7-3接线,测试D触发器的逻辑功能。 在D触发器的逻辑功能测试中,先将数据输入端D分别置入“0”或“1”,再用清零端CLR和预置端PRE分别将触发器的输出端清除为“0”或置位为“1”,最后再用单脉冲按钮向触发器的时钟输入端CLK发出脉冲的上升边沿和下降边沿,同时观察电路输出端Q的输出状态,把结果填入表7-1中。 注意:清零和置位之后,清除端CLK和预置端PRE必须置成“1”状态。 图7-3 D触发器逻辑功能测试7-4 JK触发器清除和预置功能的测试

D触发器仿真(1) D触发器仿真(2

1 3.JK触发器 用带预置和清除的双JK触发器74LS76来测试下降沿触发集成JK触发器的逻辑功能。先按图7-4接线,改变预置端PRE和清除端CLR的信号,通过发光二极管观察触发器Q输出端的输出状态。把结果填入自制的表中。然后,按图7-5接线,测试JK触发器的逻辑功能。 图7-5 JK触发器逻辑功能测试

实验八 触发器的使用

实验八触发器的使用 一、实验目的 ●掌握触发器的创建、修改和删除操作。 ●掌握触发器的触发执行。 ●掌握触发器与约束的不同。 二、实验要求 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 。 实验截图:

数据库原理实验报告S11-数据库触发器的创建

实验11 数据库触发器的建立 实验日期和时间:2014.11.28 实验室:软件工程室 班级:12计科3 学号:20124122 姓名:张翔 实验环境: 1.硬件:内存4.00GB 处理器 2.50Hz 2.软件:Windows 7旗舰版Microsoft SQL Server 2005 实验原理: 1.理解触发器的概念、和一般存储过程的区别、触发器的优点和使用原则。 2.掌握触发器的创建、执行、查看、修改和删除方法。 一、触发器的概念: 触发器是一种特殊类型的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过当某个事件发生时自动被触发执行的。触发器可以用于SQL Server约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。 当创建数据库对象或在数据表中插入记录、修改记录或者删除记录时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。触发器和引起触发器执行的SQL语句被当作一次事务处理,如果这次事务未获得成功,SQL Server会自动返回该事务执行前的状态。 使用触发器有以下优点: ?触发器是自动的执行的,。 ?触发器可以通过数据库中的相关表进行层叠更改,如可以在“学生表”中的学号列上创建一个删除触发器,当删除“学生表”的记录时,自动级联删除“成绩表”中的个匹配行。 ?触发器可以强制限制。这些限制比用CHECK约束所定义的更复杂,与CHECK约束不同的是,触发器可以引用其他表中的列。 触发器可以分为DML触发器和DDL触发器两种 ?DDL触发器用于响应各种数据定义语言(DDL) 事件。这些事件主要对应于Transact-SQL 中的CREATE、ALTER 和DROP 语句,以及执行类似DDL 操作的某些系统存储过程。它们用于执行管理任务,并强制影响数据库的业务规则。 ?DML触发器是在用户使用数据操作语言(DML) 事件编辑数据时发生。DML 事件是针对表或视图的INSERT、UPDATE 或DELETE 语句。DML触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性。 DML触发器又分为AFTER触发器和INSTEAD OF触发器两种: ?AFTER触发器:这种类型的触发器将在数据变动(INSERT、UPDA TE和DELETE 操作)完成以后才被触发。可以对变动的数据进行检查,如果发现错误,将拒绝接受或回滚变动的数据。AFTER触发器只能在表上定义。在同一个数据表中可以创建多个AFTER触发器。 ?INSTEAD OF触发器:INSTEAD OF触发器将在数据变动以前被触发,并取代变动数据的操作,而去执行触发器定义的操作。INSTEAD OF触发器可以在表或视图上定义。每个INSERT、UPDATE和DELETE语句最多定义一个INSTEAD OF触发器。 二、创建触发器

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”就好。 六、心得体会 通过此次实验,我更深入地领悟了触发器的原理和用法,还复习了示波器的用法,还学会了如何保存示波器波形。

实验十一JK D触发器实验

STE-3A 数字电路实验—11 实验十一 JK、D触发器实验 一.实验目的 1. 掌握JK、D触发器的逻辑功能。 2. 熟悉TTL JK、D触发器功能的测试方法。 二.电路原理简述 触发器是一个具有记忆功能的二进制信息存储器件,是构成多种时序电路的最基本逻辑单元。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。 主从JK触发器的逻辑图和符号如图11-1所示,它由两级RS触发器组成,前级为主触发器,后级为从触发器,并将后级输入反馈到前级输入,以消除不确定状态。在两级时钟输入端之间接一个非门,其作用是使主、从触发器的时钟脉冲极性相反。CP为时钟脉冲输入端,J、K为控制输入端。主触发器有两个S端,一个接从触发器Q,一个就是J输入端,两个S端是“与”关系,这个与门的输出就是前级同步RS触发器的S1输入端,R端也有两个,一个接从触发器Q,一个就是K输入,两个R端也是“与”关系,它的输出就是前级同步RS 触发器的R1输入端,即S1=JQ,R1=KQ。在从触发器中,也可引出其异步输入端S D和R D(图11-1中未画出)。主从JK触发器的真值表如表11-1所示。 (a)逻辑图(b)逻辑符号 图11-1 表11-1 D触发器的状态方程为:Qn+1=D。其状态的更新发生在CP脉冲的边沿,触发器的状态只取决于时针到来前D端的状态。D触发器应用很广,可用做数字信号的寄存,移位寄

存,分频和波形发生器等,其逻辑符号如图11-2: 图11-2 三.实验设备 名称数量型号 1.适配器1只SD128 2.四位输入器1只SD101 3.4非门1只SD123 4.JK触发器2只SD119 5.电源1只5V 6.实验板1块5孔 7.电子导线若干 四.实验内容与步骤 1. 按图11-3连接线路,用手控方式输入时钟脉冲,按表11-2在J、K端输入不同数据,观察Q、Q的变化情况,将实验结果填入表中。 图11-3 表11-2

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

实验八存储过程和触发器 一、目的与要求 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

触发器实验

实验六触发器实验 一.实验目的: 掌握数触发器的使用 二.实验内容和要求 定义BEFORE触发器和UPDATE触发器。能够理解不同类型触发器的作用和执行原理,验证触发器的有效性 三.实验重点和难点 实验重点:触发器的定义 实验难点:利用触发器实现较为复杂的用户自定义完整性 四.实验内容 1、AFTER触发器 (1)在Lineitem表上定义一个UPDATE触发器,当修改订单明细(即修改订单明细截个extendprice、折扣discount、税率tax)时,自动修改Orders 的TotalPrice,以保持数据的一致性。 Total price = totalprice+extendedprice*(1-discount)*(1+tax) (2)在lineitem表上定义一个INSERT触发器,当增加一项订单明细时,自动修改该订单Orders的TotalPrice,以保持数据的一致性 (3)在Lineitem表上定义一个DELETE触发器,当删除一项订单明细时,自动修改订单Orders中的TotalPrice,以保持数据的一致性

(4)验证触发器lineitem_price_update /*查看2号订单的含税折扣总价totalprice*/ /*激活触发器:修改2号订单第一个明细项的税率,该税率增加0.5%*/ /*再次查看2号订单的含税折扣总价是否有变化*/ 2、BEFORE触发器 (1)在Lineitem表上定义一个BEFORE UPDATE触发器,当修改订单明细中的数量(quantity)时,先检查PartSupp中的可用数量availqty是否足够

触发器功能测试实验报告 031210434

触发器功能测试 031210425 刘思何 一.实验目的 1.了解时钟脉冲的触发作用 2.掌握基本RS、JK、D触发器的逻辑功能、编写和使用 3.理解触发器所实现的状态转换功能 二.实验器件 开发板、计算机、vivado软件 三.实验内容 1.基本RS触发器的编写,验证并且生成IP核。连接电路图,在R,S两引脚输入不同的电平,测试输出端电平。 module rs_ff10( input s_n, input r_n, output q ); reg q; always@* begin case({s_n,r_n}) 2'b00 : q=1'bx; 2'b01 : q=1'b1; 2'b10 : q=1'b0; 2'b11 : q=q; endcase end endmodule 2.JK触发器的编写,验证并且生成IP 核。 module jk_ff10( input clk, output q, output q_n, input j, input k ); reg q; always@(posedge clk) begin case({j,k}) 2'b00 : q<=q; 2'b01 : q<=1'b0; 2'b10 : q<=1'b1; 2'b11 : q<=~q; default : q<=1'bx; endcase end assign q_n=~q; endmodule

先将s_n、r_n置于10或01状态,然后将其置于11状态,给j、k一个初始激励信号,随后一上一下拨动s_n、r_n的开关,输入一个时钟信号,观察q、q_n灯的亮灭情况。 3.D触发器的编写,验证 如JK触发器一样进行验证。 四.实验数据及分析 R触发器 V16 (s_n)V17 (r_n) U16 0 0 不定 0 1 暗 1 0 亮 1 1 保持上个状态

实验七触发器

实验七触发器 一、实验目的 (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

参考实验报告——触发器应用实验报告

实验报告 课程名称:数字电子技术实验 指导老师: 樊伟敏 成绩: 实验名称:触发器应用 实验类型: 设计型实验 同组学生姓名: 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1. 加深理解各触发器的逻辑功能,掌握各类触发器功能的转换方法。 2. 熟悉触发器的两种触发方式(电平触发和边沿触发)及其触发特点。 3. 掌握集成J-K 触发器和D 触发器逻辑功能的测试方法。 4. 学习用J-K 触发器和D 触发器构成简单的时序电路的方法。 5. 进一步掌握用双踪示波器测量多个波形的方法。 二、主要仪器设备 实验选用集成电路芯片:74LS00(与非门)、74LS11(与门)、74LS55(与或非门)、74LS74(双D 触发器)、74LS107(双J—K 触发器),GOS-6051型示波器,导线,SDZ-2实验箱。 三、实验内容、实验原理(或设计过程)、实验电路及实验结果 1、 触发器功能的转换: 1.1实验原理: 将某种功能的触发器转换成另一种功能的触发器时,可以在触发器外添加适当的组合逻辑电路来实现,其结构框图如下图所示: 其中D 触发器,T ′触发器,JK 触发器的次态方程如下: D 触发器:; T ′触发器:; JK 触发器: 。 1.2 实验内容、设计过程、实验电路与实验结果 a. D 触发器转换为T’触发器实验 ①设计过程:D 触发器和T’触发器的次态方程如下: D 触发器:Q n+1= D T’触发器:Q n+1=!Q n 若将D 触发器转换为T’触发器,则二者的次态方程须相等,因此有:D=!Q n 所以就可以得到D 触发器转换为T’触发器的转换电路。 ②仿真与实验电路图:仿真与实验电路图如图1所示。 1n n n Q Q KQ +=1n n Q Q +=1n Q D +=专业: 工科平台 姓名: XXX 学号: 308XXXXXXX 日期: 10.05.04 地点: 东3—306

实验八 存储过程和触发器 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

相关文档