数据库原理触发器中的题

数据库原理触发器中的题
数据库原理触发器中的题

触发器中的题

在SC表上插入一条选课记录后,将C表中对应的课程的seleNUM值加1。(注意每一步的含义)

Alter table c add seleNUM int---- 在C表增加一个字段

go

Update c

Set selenum=(select count(sno)from sc where cno=https://www.360docs.net/doc/c416227015.html,o)------- C表上的SELENUM的值的填入(根据SC表选课的情况)

go

select cno,selenum from c-----查看C表上每门课的选课人数

go

CREATE TRIGGER SELECTCOURSE

ON SC FOR INSERT

AS

IF(SELECT COUNT(*)FROM INSERTED,sc where sc.sno=inserted.sno and https://www.360docs.net/doc/c416227015.html,o=https://www.360docs.net/doc/c416227015.html,o)>1 ----如果SC表中某个学生已有这门课的选课记录

BEGIN

PRINT'YOU CAN INSERT ONE RECORD ONCE. SO THE RECORDS ARE NOT INSERTED INTO THE TABLE'

ROLLBACK TRAN

END

ELSE

BEGIN

DECLARE @CNO VARCHAR(10)

SELECT @CNO=CNO FROM INSERTED

If(select seleNum from c where cno=@cno)is null

Begin

Update c set seleNum=0 where cno=@cno

end

UPDATE C

SET seleNUM=selenum+1 WHERE CNO=@CNO-----C表中根据刚插入的选课记录中的课程号,选课人数增加

PRINT'THE NUMBER OF STUDENTS WHO SELECTED'+@CNO +' HAS BEENODDED' END

GO

insert sc

values('200512','c02',80)-----此记录被拒

go

insert sc

values('200912','c02',90)-------次记录成功插入SC

select*from c------查看C表中的记录,看看C02的选课人数是否加

GO

insert c(cno,cname,credit)

values('c05','操作系统',4) )---C表中插入一条记录(原来没有这门课的)

go

select*from c------注意观察C05的选课人数为null go

insert sc

values('200912','c05',90)

go

select*from c-----再次观察结果

数据库完整性

一、实验目的 1.熟悉通过SQL对数据进行完整性控制。 2.完成上机习题。 二、实验平台 RDBMS及其交互查询工具。KingbaseES的查询分析器 三、实验内容和要求 使用SQL对数据进行完整性控制(3类完整性、CHEC短语、CONSTRAINT子句、触发器)。用实验证实,当操作违反完整性约束条件时,系统是如何处理的。 实验内容及完成情况: 在本实验中,对数据库完整性进行上机练习。包括3类完整性:CHECK语句、CONSTRAINT子句、触发器。首先在数据库中建立3张表:student、course、SC。 (一)实体完整性 定义表的主码:单个属性构成的码可以用列级约束条件也可以用表级约束条件;多属性构成的码只能用表级约束条件。(1)定义表student,并将其中的主码定义为sno。 (sno char (7) primary key, sname char(8) not null , ssex char(2),sage smallint, sdept char(20)); (在列级定义主码)

(2)定义表SC,并将其中的属性sno、cno定义为主码。create table SC( sno char(7) not null, cno char(4) not null, grade smallint,primary key(sno,cno)); 实体完整性检验和违约处理: 其中,sno为主码,不能重复键入,否则如上列所示,重复键入‘25005’,则拒绝插入或者修改。而其他属性的重复则无影响,如下图所示:其中主码为‘25005’和‘25006’的元组其属性均相同,但是可以插入成功!

时序逻辑电路试题

第五章时序电路 一、选择题 1.同步计数器和异步计数器比较,同步计数器的显著优点是。 A.工作速度高 B.触发器利用率高 C.电路简单 D.不受时钟C P控制。 2.把一个五进制计数器与一个四进制计数器串联可得到进制计数器。 3.下列逻辑电路中为时序逻辑电路的是。 A.变量译码器 B.加法器 C.数码寄存器 D.数据选择器 4.N个触发器可以构成最大计数长度(进制数)为的计数器。 》 5.N个触发器可以构成能寄存位二进制数码的寄存器。 +1 6.五个D触发器构成环形计数器,其计数长度为。 7.同步时序电路和异步时序电路比较,其差异在于后者。 A.没有触发器 B.没有统一的时钟脉冲控制 C.没有稳定状态 D.输出只与内部状态有关 8.一位8421B C D码计数器至少需要个触发器。 [ 9.欲设计0,1,2,3,4,5,6,7这几个数的计数器,如果设计合理,采用同 步二进制计数器,最少应使用级触发器。 10.8位移位寄存器,串行输入时经个脉冲后,8位数码全部移入寄存器中。 11.用二进制异步计数器从0做加法,计到十进制数178,则最少需要个触发器。 12.某电视机水平-垂直扫描发生器需要一个分频器将31500H Z的脉冲转换为60H Z的脉冲,欲构成此分频器至少需要个触发器。

13.某移位寄存器的时钟脉冲频率为100K H Z ,欲将存放在该寄存器中的数左移8 位,完成该操作需要 时间。 μS μS μS [ 14.若用J K 触发器来实现特性方程为AB Q A Q n 1n +=+,则J K 端的方程为 。 =A B ,K =B A + =A B ,K =B A =B A +,K =A B =B A ,K =A B 15.要产生10个顺序脉冲,若用四位双向移位寄存器CT74LS194来实现,需要 片。 16.若要设计一个脉冲序列为10的序列脉冲发生器,应选用 个触发器。 二、判断题(正确打√,错误的打×) 1.同步时序电路由组合电路和存储器两部分组成。( ) 2.组合电路不含有记忆功能的器件。( ) ~ 3.时序电路不含有记忆功能的器件。( ) 4.同步时序电路具有统一的时钟CP 控制。( ) 5.异步时序电路的各级触发器类型不同。( ) 6.环形计数器在每个时钟脉冲CP 作用时,仅有一位触发器发生状态更新。( ) 7.环形计数器如果不作自启动修改,则总有孤立状态存在。( ) 8.计数器的模是指构成计数器的触发器的个数。( ) 9.计数器的模是指对输入的计数脉冲的个数。( ) 10.D 触发器的特征方程Q n +1=D ,而与Q n 无关,所以,D 触发器不是时序电路。( ) 11.在同步时序电路的设计中,若最简状态表中的状态数为2N ,而又是用N 级 触发器来实现其电路,则不需检查电路的自启动性。( ) 12.把一个5进制计数器与一个10进制计数器串联可得到15进制计数器。( ) < 13.同步二进制计数器的电路比异步二进制计数器复杂,所以实际应用中较少使 用同步二进制计数器。( ) 14.利用反馈归零法获得N 进制计数器时,若为异步置零方式,则状态S N 只是 短暂的过渡状态,不能稳定而是立刻变为0状态。( )

SQL Server2008触发器学习笔记

触发器 一﹕触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二﹕SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后﹐与该触发器相关的这两个表也被删除。Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。 三﹕Instead of 和After触发器 SQL Server提供了两种触发器﹕Instead of 和After 触发器。 这两种触发器的差别在于他们被激活的操作﹕ Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外﹐Instead of 触发器也可以用于视图﹐用来扩展视图可以支持的更新操作。 After触发器在一个Insert,Update或Deleted语句之后执行﹐进行约束检查等动作都在After 触发器被激活之前发生。After触发器只能用于表。一个表或视图的每一个修改动作(insert,update和delete)都可以有一个instead of 触发器﹐一个表的每个修改动作都可以有多个After触发器。 INSTEAD OF触发器被用于更新那些没有办法通过正常方式更新的视图。通常不能在一个基于连接的视图上进行DELETE操作,可以编写一个INSTEAD OF DELETE触发器来实现删除。可以访问那些如果视图是一个真正的表时已经被删除的数据行,它将把删除的行存储在deleted临时表中。 本次练习将通过具体的例子介绍如何使用INSTEAD OF触发器,使读者掌握INSTEAD OF 触发器的使用方法。 向student表中插入数据时,检查学号是否存在于student表中,如存在则进行插入操作,否则就不插入,具体语句如下所示: CREATE TRIGGER [checkid] ON dbo.student INSTEAD OF insert AS IF NOT EXISTS(SELECT * FROM dbo.student WHERE ID=(SELECT ID FROM INSERTED)) BEGIN ROLLBACK TRANSACTION PRINT '要处理记录的学号不存在!' END ELSE BEGIN INSERT NTO dbo.student select * from inserted

数据库原理课程设计报告报告实验创建存储过程与触发器

存储过程与触发器实验日期和时间: 2016 年 5 月13 日、星 期 五第节 实验室:DJ2-信息管理实验室 班级:学号:姓名: 实验环境: 1.硬件:笔记本电脑 2.软件:SQL Server 2012 实验原理: 存储过程概念:存储过程是事先编好的,存储在数据库中的一组被编译了的T-SQL命令集合,这些命令用来完成对数据库的指定操作。存储过程可以接受用户的输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言(DDL)和数据操作语言(DML)语句,然后返回输入参数。 触发器概念:触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 实验任务: 此作业成绩得分根据你完成的任务的难度和数量评分,完成后在实验室给老师演示验收,课后提交电子版报告。如额外完成自拟题目应当事先将所拟题目提交给老师或在报告中明确标注题意。 假定有学校的图书馆管理信息系统,可以用于日常管理书库和同学们的借还书工作。 以下列出参考的库表情况: 根据管理的业务需求来分析,该管理信息系统的数据库应至少包括如下数据表:(打★号的是必须有的表) 1.★图书现有库存表。作用:记录图书的现有库存情况。至少包括:书号、书名、 作者、简介、类别、价格、出版社、出版日期、现有库存数量、最小库存量、库 存总量、库存位置等。 2.★读者信息表。作用:记录读者信息。至少包括:读者编号、证件类型、证件号 码、姓名、性别、职业(可填写教师、学生、教工、其它……)、所属单位、地址、 联系电话等。 3.★借书记录表。作用:记录借书情况,以及是否归还。至少包括:借阅ID(主键, 可设置为自动编号)、书号、读者编号、借阅数量、借阅日期、是否归还、管理员 编号……等。 4.★还书记录表。作用:记录还书情况。至少包括:还书ID(主键,可设置为自动 编号)、书号、读者编号、归还数量、归还日期、是否超期(超过假设45天为超 期)、超期天数、管理员编号……等。(附:为简化操作,续借可视为归还后再借)。 5.管理员信息表。作用:记录负责管理书库和借书还书工作的管理员信息。至少包 括:管理员编号、职工编号(在职工档案表中的职工编号)、用户名、密码、管理

数据库实验 完整性 索引 触发器

实验五实验报告 二、实验内容 5.1 实体完整性 1)在数据库School中建立表Stu_Union,进行主键约束,在没有违反实体完整性的前提下插入并更新一条记录 建立表Stu_Union,进行主键约束 在没有违反实体完整性的前提下插入一条记录 在没有违反实体完整性的前提下更新一条记录

2)演示违反实体完整性的插入操作 3)演示违反实体完整性的更新操作 4)演示事务的处理,包括事务的建立,处理以及出错时的事务回滚,演示事务处理和批处理

的区别。 提示:SQL2005相关语句为 BEGIN TRAN ROLLBACK TRAN COMMIT TRAN 可以这样演示:新建一个包含两条语句的事务,使第一条成功而第二条失败,然后查看整个事务是否回滚。 重要提示:SQL默认只回滚出错的语句,要回滚整个事务,需要预先执行以下语句:SET XACT_ABORT ON a.先执行如下SQL语句(可执行成功) b.再执行如下语句,此时为执行第一句insert语句成功,第二句insert语句失败

c.查询事物是否回滚 由上可知,表为b步骤即事物出错前的状态,所以整个事物回滚。 5)通过建立Scholarship表,插入一些数据。演示当与现有的数据环境不等时,无法建立实体完整性以及参照完整性。

提示:即演示不能为表Scholarship生成主键和外键的情况。 a. b. 不能为表Scholarship生成主键

c.不能为表Scholarship生成外键 5.2参照完整性 1)为演示参照完整性,建立表Course,令cno为其主键,并在Stu_Union中插入数据。为下面的实验步骤做预先准备。 在Stu_Union中插入数据

时序逻辑电路练习题

一、填空题 1. 基本RS触发器,当R、S都接高电平时,该触发器具有____ ___功能。2.D 触发器的特性方程为___ ;J-K 触发器的特性方程为______。 3.T触发器的特性方程为。 4.仅具有“置0”、“置1”功能的触发器叫。 5.时钟有效边沿到来时,输出状态和输入信号相同的触发器叫____ _____。 6. 若D触发器的D端连在Q端上,经100 个脉冲作用后,其次态为0,则现态应为。 7.JK触发器J与K相接作为一个输入时相当于触发器。 8. 触发器有个稳定状态,它可以记录位二进制码,存储8 位二进制信息需要个触发器。 9.时序电路的次态输出不仅与即时输入有关,而且还与有关。 10. 时序逻辑电路一般由和两部分组成的。 11. 计数器按内部各触发器的动作步调,可分为___ ___计数器和____ __计数器。 12. 按进位体制的不同,计数器可分为计数器和计数器两类;按计数过程中数字增减趋势的不同,计数器可分为计数器、计数器和计数器。13.要构成五进制计数器,至少需要级触发器。 14.设集成十进制(默认为8421码)加法计数器的初态为Q4Q3Q2Q1=1001,则经过5个CP脉冲以后计数器的状态为。 15.将某时钟频率为32MHz的CP变为4MHz的CP,需要个二进制计数器。 16. 在各种寄存器中,存放N位二进制数码需要个触发器。 17. 有一个移位寄存器,高位在左,低位在右,欲将存放在该移位寄存器中的二进制数乘上十进制数4,则需将该移位寄存器中的数移位,需要个移位脉冲。 18.某单稳态触发器在无外触发信号时输出为0态,在外加触发信号时,输出跳变为1态,因此其稳态为态,暂稳态为态。 19.单稳态触发器有___ _个稳定状态,多谐振荡器有_ ___个稳定状态。20.单稳态触发器在外加触发信号作用下能够由状态翻转到状态。21.集成单稳态触发器的暂稳维持时间取决于。 22. 多谐振荡器的振荡周期为T=tw1+tw2,其中tw1为正脉冲宽度,tw2为负脉冲宽度,则占空比应为_______。 23.施密特触发器有____个阈值电压,分别称作___ _____ 和___ _____ 。24.触发器能将缓慢变化的非矩形脉冲变换成边沿陡峭的矩形脉冲。25.施密特触发器常用于波形的与。 二、选择题 1. R-S型触发器不具有( )功能。 A. 保持 B. 翻转 C. 置1 D. 置0 2. 触发器的空翻现象是指() A.一个时钟脉冲期间,触发器没有翻转 B.一个时钟脉冲期间,触发器只翻转一次 C.一个时钟脉冲期间,触发器发生多次翻转 D.每来2个时钟脉冲,触发器才翻转一次 3. 欲得到D触发器的功能,以下诸图中唯有图(A)是正确的。

数据库原理实验报告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触发器。 二、创建触发器

SQL触发器基本教程

一、创建一个简单的触发器 触发器是一种特殊的存储过程,类似于事件函数,SQL Server? 允许为INSERT、UPDATE、DELETE 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列T-SQL语句。触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建,不过都是要写T-SQL 语句的,只是在查询分析器里要先确定当前操作的数据库。 创建触发器用CREATE TRIGGER CREATE TRIGGER 触发器名称 ON 表名 FOR I NSERT、UPDATE 或DELETE AS T-SQL 语句 注意:触发器名称是不加引号的。 如下是联机丛书上的一个示例,当在titles 表上更改记录时,发送邮件通知MaryM。CREATE TRIGGER reminder ON titles FOR INSERT, UPDATE, DELETE AS EXEC master..xp_sendmail 'MaryM', 'Don''t forget to print a report for the distributors.' 二、删除触发器 用查询分析器删除 在查询分析器中使用drop trigger 触发器名称来删除触发器。 也可以同时删除多个触发器:drop trigger 触发器名称,触发器名称... 注意:触发器名称是不加引号的。在删除触发器之前可以先看一下触发器是否存在: if Exists(select name from sysobjects where name=触发器名称and xtype='TR') 用企业管理器删除 在企业管理器中,在表上点右键->“所有任务”->“管理触发器”,选中所要删除的触发器,然后点击“删除”。 三、重命名触发器 用查询分析器重命名 exec sp_rename 原名称, 新名称 sp_rename 是SQL Server? 自带的一个存储过程,用于更改当前数据库中用户创建的对象的名称,如表名、列表、索引名等。

集成触发器功能测试及转换

深圳大学实验报告 课程名称:数字电路与逻辑设计 实验项目名称:集成触发器功能测试及转换 学院: 专业、班级: 指导教师: 报告人:学号: 实验报告提交时间: 2014-12-18 教务处制

一、实验目的与要求 1.悉并掌握RS、D、JK、T触发器的构成、工作原理和功能测试方法; 2.掌握不同逻辑功能触发器的相互转换; 3. 掌握三态触发器和锁存器的功能及使用方法; 4. 学会触发器、三态触发器、锁存器的应用。 二、预习要求 (1)复习各种触发器的工作原理、逻辑功能及不同结构形式触发器的触发方式、工作特性; (2)熟悉集成D触发器、JK触发器、三态输出RS触发器、D锁存器的引脚排列及功能; (3)复习各种触发器之间的功能转换方法。 三、实验说明 触发器是具有记忆作用的基本单元,在时序电路中时必不可少的。触发器具有两个基本性质: (1)在一定条件下,触发器可以维持在两种稳定状态上(0或1状态之一保持不变); (2)在一定的外加信号作用下,触发器可以从一种状态转变成另一种稳定状态(0-1或1-0),也就是说,触发器可记忆二进制的0或1,故被用作二进制的存储单元。 触发器可以根据有无时钟脉冲分为两大类:基本触发器和钟控触发器。从逻辑功能,即从触发器次态和现态以及输入信号之间的关系上,可以将钟控触发器分为RS触 发器、D触发器、JK触发器、T触发器等几种类型。当CP有效时, RS触发器的特性方程是:Q n+1=S+RQ n(约束条件:SR=0) D触发器的特性方程是:Q n+1=D JK触发器的特性方程是:Q n+1n n T触发器的特性方程是:Q n+1n n T’触发器的特性方程是:Q n+1=Q n 钟控触发器若按触发器方式,可分为电平触发(高电平触发、低电平触发)、边沿触发(上升沿触发、下降沿触发)和主从触发三种。电平触发:在时钟脉冲CP高(低)电平期间,触发器接受控制输入信号,从而改变其状态。电平触发方式的根本缺陷是空翻问题。边沿触发:仅在时钟CP的下降沿(1-0变化边沿)或上升边沿(0-1变化边沿)触发器才能接受控制输入信号,从而改变状态。主从触发:在时钟脉冲CP高电平期间,主触发器接受控制输入信号,时钟脉冲CP下降沿时刻从触发器可以改变状态——变为主触发器的状态。 四、实验设备 1.双踪示波器; 2.RXB-1B数字电路实验箱; 3.74LS74(双上升沿D触发器)、74LS76(霜下降沿JK触发器)、74LS86(四2输入异或门)。

数据库系统实验报告 触发器

实验4 触发器 1、通过序列和触发器实现借阅表中借阅流水号字段的自动递增。 Create or replace sequence bwnum_id Minvalue 1 Maxvalue 1.0E28 Start with 1 Increment by 1 Cache 20; Create or Replace Trigger tri_bwnum_id Before Insert On borrow For Each Row Begin Select bwnum_id.Nextval Into :new.bwnum From DUAL; End;

2、通过序列和触发器实现预约表中预约流水号字段的自动递增 Create sequence pnum_id Minvalue 1 Maxvalue 1.0E28 Start with 1 Increment by 1 Cache 20; Create or Replace Trigger tri_pnum_id Before Insert On preborrow For Each Row Begin Select pnum_id.Nextval Into :new.pnum From DUAL; End;

3、修改实验三借书功能的存储过程。 该存储过程要求: (1)借书时输入借书证号,图书编号。(即该函数有2个输入参数) (2)借书时,借书日期为系统时间。 *该存储过程主体部分只有insert into语句。 create or replace Procedure p_borrow (P_BNUM IN BORROW.BNUM%TYPE, P_RNUM IN BORROW.RNUM%TYPE) as begin insert into BORROW (BNUM,RNUM,BDATE) values(P_BNUM,P_RNUM,TO_CHAR(SYSDATE(),'YY/MM/DD')); commit; end; 4、建立与借书存储过程相对应的触发器,当借阅表中加入借阅信息时,该触发器触发,自动修改所借图书的是否借出改为‘是’。 Create or Replace Trigger tri_borrow_insert

SQL触发器全过程(含实例讲解)

SQL触发器全过程 第一、概述 一:触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二: SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted 表。这两个表由系统来维护,它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后,与该触发器相关的这两个表也被删除。 Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。 Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。 三:instead of 和 After触发器 SQL Server2000提供了两种触发器:Instead of 和After 触发器。这两种触发器的差别在于他们被激活的同: Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外,Instead of 触发器也可以用于视图,用来扩展视图可以支持的更新操作。 After触发器在一个Insert,Update或Deleted语句之后执行,进行约束检查等动作都在After触发器被激活之前发生。After触发器只能用于表。

一个表或视图的每一个修改动作(insert,update和delete)都可以有一个instead of 触发器,一个表的每个修改动作都可以有多个After触发器。 四:触发器的执行过程 如果一个Insert﹑update或者delete语句违反了约束,那幺After触发器不会执行,因为对约束的检查是在After触发器被激动之前发生的。所以After 触发器不能超越约束。 Instead of 触发器可以取代激发它的操作来执行。它在Inserted表和Deleted表刚刚建立,其它任何操作还没有发生时被执行。因为Instead of 触发器在约束之前执行,所以它可以对约束进行一些预处理。 五:使用T-SQL语句来创建触发器 基本语句如下: create trigger trigger_name on {table_name | view_name} {for | After | Instead of } [ insert, update,delete ] as sql_statement

数据完整性与触发器关系解析

8.2 触发器 触发器是一种特殊类型的存储过程。触发器不同于前面介绍过的存储过程,它主要 是通过事件触发而被执行的,而存储过程可以通过存储过程名称被直接调用。触发器是 一个功能强大的工具,它使每个站点可以在有数据更改时自动强制执行其业务规则。触 发器可以用于sQL5ffver约束、默认值和规则的完整性检查。触发器依存于表的数据 库对象,在表执行修改操作(插入/更新/删除)时自动执行,即通过事件进行触发而被执行。 ………..触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。 CREATE PROCEDURE 或CREATE TRIGGER 语句不能跨越批处理。即存储过程或触发器始终只能在一个批处理中创建并编译到一个执行计划中。 用触发器还可以强制执行业务规则 Microsoft® SQL Server? 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。唤醒调用触发器以响应INSERT、UPDATE 或DELETE 语句。触发器可以查询其它表,并可以包含复杂的Transact-SQL 语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如,磁盘空间不足),则整个事务即自动回滚。 触发器的优点如下: 触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。 触发器可以强制比用CHECK 约束定义的约束更为复杂的约束。 与CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。 触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。 一个表中的多个同类触发器(INSERT、UPDATE 或DELETE)允许采取多个不同的对策以响应同一个修改语句。 比较触发器与约束 约束和触发器在特殊情况下各有优势。触发器的主要好处在于它们可以包含使用

数字电路触发器试卷练习题

2016学年 德清职业中专《数字电路》第二次月考试卷第一学期 (适用15计网3+2) 班级:姓名: 得分: 一、填空题:(30分) 1.触发器有两个输出端_______和________,正常工作时两端的状态互补,以_________端的状态表示触发器的状态。 2.按结构形式的不同,RS触发器可分为两大类:一类是没有时钟控制的____________触发器,另一类是具有时钟控制端的__________触发器。 3. 按逻辑功能划分,触发器可以分为________触发器、___________触发器、__________触发器和________触发器四种类型。 4.钟控触发器也称同步触发器,其状态的变化不仅取决于___________信号的变化,还取决于___________信号的作用。 5.钟控触发器按结构和触发方式分,有电位触发器、_________触发器、_________触发器和主从触发器四种类型。 6.各种时钟控触发器中不需具备时钟条件的输入信号是________和_______。 二、选择题:(20分) 1.能够存储0、1 二进制信息的器件是() A.TTL门 B.CMOS门 C.触发器 D.译码器 2.触发器是一种() A.单稳态电路B.无稳态电路C.双稳态电路D.三稳态电路3.用与非门构成的基本RS触发器处于置1 状态时,其输入信号R应为() S、 A.00 R D. 11 S = = S R RB.01 = S = R C.10 S 4.用与非门构成的基本RS触发器,当输入信号S= 0、R= 1

时,其逻辑功能为( ) A.置1 B.置0 C.保持 D.不定 5.下列触发器中,输入信号直接控制输出状态的是 ( ) A .基本RS 触发器 B. 钟控RS 触发器 C. 主从JK 触发器 D. 维持阻塞D 触发器 6.具有直接复位端 d R 和置位端d S 的触发器,当触发器处于受 CP 脉冲控制的情况下工作时,这两端所加的信号为 ( ) A. 00d d =S R B. 01d d =S R C. 10d d =S R D. 11d d =S R 7.输入信号高电平有效的 RS 触发器中,不允许的输入是( ) A.RS=00 B.RS=01 C.RS=10 D.RS=11 8.下列触发器中,具有置0、置1、保持、翻转功能的是( ) A. RS 触发器 B. D 触发器 C.JK 触发器 D. T 触发器 9.时钟触发器产生空翻现象的原因是因为采用了( ) A.主从触发方式 B.上升沿触发方式 C.下降沿触发方式 D.点位触发方式 10.当输入J = K = 1时,JK 触发器所具有的功能是( ) A.置0 B.置1 C.保持 D.翻转 三、画图题:(40分) 1. 如图,设Q 初始状态为0,画出Q 的波形(5分)

SQL触发器实例讲解

SQL触发器实例讲解 SQL 资料2009-07-23 14:44:07 阅读6072 评论9 字号:大中小订阅 定义:何为触发器?在SQL Serv er里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表: Create Table Student( --学生表 StudentID int primary key, --学号 .... ) Create Table BorrowRecord( --学生借书记录表 BorrowRecord int identity(1,1), --流水号 StudentID int , --学号 BorrowDate datetime, --借出时间 ReturnDAte Datetime, --归还时间 ... ) 用到的功能有: 1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号); 2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。 等等。 这时候可以用到触发器。对于1,创建一个Update触发器: Create Trigger truStudent On Student --在Student表中创建触发器 f or Update --为什么事件触发 As --事件触发后所要做的事情 if Update(StudentID) begin Update BorrowRecord Set StudentID=i.StudentID From BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表 Where br.StudentID=d.StudentID end

触发器之间的功能转换

触发器之间的功能转换(考过)(填空)一、转换的目的: 触发器的逻辑功能和电路结构无对应关系。同一功能的触发器可用不同结构实现;同一结构触发器可做成不同的逻辑功能。 二、触发器之间转换的方法: 1、写特征方程 写出已有触发器和待求触发器的特征方程。 2、变换特征方程 变换待求触发器的特征方程,使之形式与已有触发器的特征方程一致。 3、比较系数 根据方程式,如果变量相同、系数相等则方程一定相等的原则,比较已有和待求触发器的特征方程,求出转换逻辑。4、画逻辑图 根据转换逻辑画出逻辑图。 注意: (1)现有触发器的特征方程不能变换。 (2)关键是变换待求触发器的特性方程; (3)难点是解决已有触发器的输入端的接法.

三、注意: 1、触发器之间的转换方法也可适合任何两种逻辑功能触发器之间的相互转换。 2、掌握好触发器之间的转换方法,可使逻辑电路不受触发器类型的控制,能更好的应用自如的设计出更简单的逻辑功能电路。 四、举例 1.D 触发器转换成JK 触发器 (1) 写特征方程 D 触发器的特征方程: D Q n =+1 JK 触发器的特征方程:n n 1n Q K Q J Q +=+ (2) 变换特征方程 变换JK 触发器的特征方程,使之形式与已有D 触发器的特征方程一致。 D Q K Q J Q =+=+n n 1n (3)比较系数,求出转换逻辑 将两个触发器的特征方程进行比较,可见,使D 触发器 的输入为n n n n Q K Q J Q K Q J D =+=,则D 触发器实现JK 触发 器的功能。 (4)画逻辑图 将D 触发器的输入信号用转换逻辑连接实现JK 触发器的功

5数据完整性课后习题

习题 一、选择题 1.一个表上可以建立多个名称不同、类型各异的触发器,每个触发器可以由三个动作来引发,但是每个触发器最多只能作用于()个表上。 A.一 B.二 C.三 D.四 2.激活触发器的数据修改语句,有效选项是()。 A.INSERT B.UPDATE C.DELETE D.SELECT 3.创建触发器不需要指定的选项有()。 A.触发器的名称 B.在其上定义触发器的表 C.触发器将何时触发 D.执行触发操作的编程语句 4.当希望执行对Book表的操作时,如果该操作不执行,而是执行对PRICE 表的更新操作,则应该创建什么类型的DML 触发器()。 A.FOR B.BEFORE C.AFTER D.INSTEAD OF 5.在DML触发器工作中,有可能生成的两个内存表是()。 A.INSERTED, DELETED B.UPDATED, INSERTED C.DELETED,ADDED D.ADDED, DELETED 6.关于触发器叙述正确的是()。 A.触发器是自动执行的,可以在一定条件下触发 B.触发器不可以同步数据库的相关表进行级联更改 C.SQL Server 2008不支持DDL触发器 D.触发器不属于存储过程 7.关于约束叙述正确的是()。 A.每个约束只能作用与一个列上 B.每个约束可以作用多个列,但是必须在一个表里 C.每个约束可以作用到多个表的多个列 D.以上都不对 8.用户定义的约束,是属于()完整性。 A.用户自定义 B.实体

C.参照 D.都不是 9.下述SQL命令的短语中,定义属性上约束条件的是()。 A.NOT NULL短语 B.UNIQUE短语 C.CHECK短语 D.HA VING短语 10.下列()是对触发器的描述 A.定义了一个有相关列和行的集合 B.当用户修改数据时,一种特殊形式的存储过程被自动执行 C.SQL语句的预编译集合 D.它根据一或多列的值,提供对数据库表的行的快速访问 二、填空题 1.数据库的实体完整性要求表中所有行唯一,可通过建主码、唯一约束、唯一索引、IDENTITY标识等约束来实现。 2.数据库域完整性可保证表中指定字段中数据的正确性。要求表中指定列的数据具有正确的数据类型、格式和有效取植范围。 3.关系完整性包括实体完整性、值域完整性、参照完整性_和用户自定义完整性。4.当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个非空_______、_唯一__约束和___聚集__的索引。 5. SQL Server 2008中的触发器可以分为_DML_触发器和__DDL__触发器两种。 6.在SQL Server中,通过执行 CRETAE RULE 语句创建约束,使用 SP_bindrule 存储过程绑定约束,使用 SP_unbindrule 解除绑定,使用 DROP RULE 删除规则。 7.数据库的完整性是指数据的___正确性_____ 和___相容性_____。 8.数据库完整性的定义一般由SQL的___ DDL _____语句来实现。它们作为数据库模式的一部分存入数据字典中。 9.触发器按激活的方式分为After 和Instead Of 两种触发方式。后触发器在记录已经改变完之后被激活。替代触发器在记录变更之前被激活。 10.创建触发器使用 CRETAE TRIGGER 语句。在表或视图上执行INSERT 、UPDATE 和DELETE 语句可以激活触发器。 11.SQL Server为每一个触发器创建了两个inserted 和deleted 临时表。在触发器触发时时候创建,在触发器的工作完成之后时候删除。 三、问答题 1.试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空? 解答: 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:等于S中某个元组的主码值或者取空值(F的每个属性值均为空值);3)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。在

时序逻辑电路练习题讲解学习

时序逻辑电路练习题

一、填空题 1. 基本RS触发器,当R、S都接高电平时,该触发器具有____ ___功能。2.D 触发器的特性方程为 ___ ;J-K 触发器的特性方程为______。 3.T触发器的特性方程为。 4.仅具有“置0”、“置1”功能的触发器叫。 5.时钟有效边沿到来时,输出状态和输入信号相同的触发器叫____ _____。 6. 若D触发器的D端连在Q端上,经100 个脉冲作用后,其次态为0,则现态应为。 7.JK触发器J与K相接作为一个输入时相当于触发器。 8. 触发器有个稳定状态,它可以记录位二进制码,存储8 位二进制信息需要个触发器。 9.时序电路的次态输出不仅与即时输入有关,而且还与有关。 10. 时序逻辑电路一般由和两部分组成的。 11. 计数器按内部各触发器的动作步调,可分为___ ___计数器和____ __计数器。 12. 按进位体制的不同,计数器可分为计数器和计数器两类;按计数过程中数字增减趋势的不同,计数器可分为计数器、计数器和计数器。13.要构成五进制计数器,至少需要级触发器。 14.设集成十进制(默认为8421码)加法计数器的初态为Q4Q3Q2Q1=1001,则经过5个CP脉冲以后计数器的状态为。 15.将某时钟频率为32MHz的CP变为4MHz的CP,需要个二进制计数器。 16. 在各种寄存器中,存放N位二进制数码需要个触发器。 17. 有一个移位寄存器,高位在左,低位在右,欲将存放在该移位寄存器中的二进制数乘上十进制数4,则需将该移位寄存器中的数移位,需要个移位脉冲。 18.某单稳态触发器在无外触发信号时输出为0态,在外加触发信号时,输出跳变为1态,因此其稳态为态,暂稳态为态。 19.单稳态触发器有___ _个稳定状态,多谐振荡器有_ ___个稳定状态。20.单稳态触发器在外加触发信号作用下能够由状态翻转到状态。21.集成单稳态触发器的暂稳维持时间取决于。 22. 多谐振荡器的振荡周期为T=tw1+tw2,其中tw1为正脉冲宽度,tw2为负脉冲宽度,则占空比应为_______。 23.施密特触发器有____个阈值电压,分别称作 ___ _____ 和 ___ _____ 。24.触发器能将缓慢变化的非矩形脉冲变换成边沿陡峭的矩形脉冲。25.施密特触发器常用于波形的与。 二、选择题 1. R-S型触发器不具有( )功能。 A. 保持 B. 翻转 C. 置1 D. 置0 2. 触发器的空翻现象是指() A.一个时钟脉冲期间,触发器没有翻转 B.一个时钟脉冲期间,触发器只翻转一次 C.一个时钟脉冲期间,触发器发生多次翻转 D.每来2个时钟脉冲,触发器才翻转一次

数据库存储器与触发器实验报告

南昌航空大学实验报告 二0 一七年5月 3 日 课程名称:数据库概论实验名称:存储器与触发器 班级: XX 姓名:XXX 同组人: X 指导教师评定:签名: 一、实验环境 1. Windows2000或以上版本; 2. SQLServer2000 或2005。 二、实验目的 1. 掌握存储过程的创建,修改,使用,删除; 2. 掌握触发器的创建,修改,使用,删除。 三、实验步骤及参考源代码 1.创建过程代码: CREATEPROCEDURE_P_Proc( @ccna varchar (10), @cnochar(4) OUTPUT@cnavarchar (10) OUTPUT@Pna varchar (20) OUTPUTSnumint OUTPUT AS SELECT@cna=cna, @cn(=cp. eno, @pnapna, @numnum FROMtp , customer, paper WHEREustomer . eno=cp. eno ANRaper . pno=cp. pno ANDcna =@ccna

6.执行存储过程C_P_Pro,实现对李涛,钱金浩等不同顾客的订阅信息 查询 execute C_P_Proc @nam=e' 李涛' execute C_P_Proc @nam=e' 钱金浩' 7,删除存储过程C_P_Prcc DROPPROCEDURCE_P_PROC (4)在DingBao数据库中针对PAPEF创建插入触发器TR_PAPER_I删除触发器TR_PAPER_D修改触发器TR_PAPER。具体要求如下。 <1>对PAPER勺插入触发器:插入报纸记录,单价为负值或为空时,设定为10 元。 CREATE TRIGGER TR_PAPER_I ON paper FOR INSERT AS DECLARE @ippr FLOAT; declare @ipno int; SELECT @ippr=ppr,@ipno=pno from inserted begin if @ippr<0 or @ippr is NULL begin raiserror(' 报纸的单价为空或小于零!',16,1)

相关文档
最新文档