觸發器范文
時間:2023-04-10 10:59:58
導語:如何才能寫好一篇觸發器,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
產品型號:Dell靈越5000
系統版本:Windows10
軟件版本:PowerPoint2020
首先打開ppt文件,點擊[插入]。
選擇圖片插入,然后點擊[動畫]。
選擇你喜歡的動畫,在右邊菜單中選擇你喜歡的觸發方式即可。
總結:
1、插入圖片
2、點擊[動畫]選擇動畫
篇2
關鍵詞:SQL Serve;數據庫;觸發器;工作過程;維護
中圖分類號:TP313 文獻標識碼:A 文章編號:1009-3044(2014)32-7582-03
Abstract: In the SQL Server database to form the integrity constraints on the database to implement complex, the trigger is ideal selection tool. It can be cascaded to modify the database table, the maintenance of data consistency. It is implemented by the event to trigger, when on a table to insert, update, delete operations will activate it execution, thus through the execution of triggers to better achieve the integrity constraints andbusiness rules, data etc..
Key words: SQL Serve; database; triggers; work process; maintain
在數據庫管理系統中,常常會進行數據的插入、更新、刪除等操作,在此操作過程中保持數據的完整性是非常重要的一項工作。當一些普通的維護方法不能滿足要求時我們就要考慮用到觸發器了。
1 觸發器的特點
觸發器是一種特殊的存儲過程,其特殊性在于它并不需要由用戶來直接調用,而是在對表或視圖進行插入記錄、更改記錄或者刪除記錄時自動執行的。
2 觸發器的使用場合
實現對相關表的級聯修改;拒絕或回滾違反引用完整性的操作;完成比CHECK約束更復雜的限制;檢查修改前后表中數據的不同并執行相應的操作。
3 觸發器3種操作的實現過程
DML觸發器在執行過程中可以使用兩個特殊的臨時表―deleted表和inserted表。這兩個表存儲于內存中,它們在結構上與觸發器所在的表的結構相同。
deleted表用于存儲delete、update語句所影響的行的副本。在執行delete或update語句時,數據行從觸發器表中刪除,并傳輸到deleted表中。
inserted表用于存儲insert、update語句所影響的行的副本,在一個插入或更新事務處理中,新建行被同時添加到更新操作的表和insered表中。insered表中的行是觸發器表中新行的副本。
兩個表由系統管理,不允許用戶直接對其進行修改,但可以訪問。觸發器工作完成后,與該觸發器相關的這兩個表也將被刪除。
現通過實例說明觸發器的妙用之處:studentinfo數據庫包括學生表student(學號SNO,姓名SNAME,系名DEPART,性別SEX,出生日期DDATE)、課程表Course(課程編號CNO,課程名稱CNAME)和成績表score(學號SNO,課程編號CNO,成績GRADE)
3.1 Insert觸發器的工作過程
Insert觸發器是當用INSERT語句向表中插入數據時都會執行的觸發器。
當觸發INSERT觸發器時,新的數據行就會入到觸發器表和inserted表中。inserted表是一個邏輯表,它包含了已經插入的數據行的一個副本。inserted表包含了INSERT語句中已記錄的插入動作。inserted表還允許引用由初始化INSERT語句而產生的日志數據。
例如:創建一個觸發器。當向student表中插入一條學生記錄時引發該觸發器,向scores表中插入兩行數據。
Use studentinfo
Go
Create trigger insert_score_trigger
On student
For insert as
Set nocount off
Declare @st_no int
Select @stno=學號 from inserted
Insert into score(sno,cno) Values (@st_no,1)
Insert into score(sno,cno) Values (@st_no,2)
Go
Insert into student(sno,sname,depart,sex,ddate)
Values(‘2012001’,’王平’,’計算機科學技術’,’男’,’1993-3-9’)
Select score.sno as 學號,sname as 姓名,course as 課程,score as 成績
From score as sc inner join student as s on s.sno=sc.sno
Inner join course as c on o=o
Where sname=’王平’
go
3.2 DELETE觸發器的工作過程
deleted表是一個邏輯表,它存放已被刪除數據行的一個副本。當觸發delete觸發器后,從受影響的表中刪除的行將被放置到該特殊的表中。
例如:在student表上創建一個觸發器trigger_delete,當刪除student表中某個同學的記錄信息時,score表中與該同學相關的成績信息也自動被刪除。
Use Studentinfo
Go
if exists (select name from sysobjects
where name=' trigger_delete' and type='tr')
drop trigger trigger_delete
go
create trigger trigger_delete
on student
for delete
as
delete score
where sno=(select sno from deleted)
go
3.3 UPDATE觸發器的工作過程
可將UPDATE語句看成兩步操作:即捕獲數據前像的DELETE語句,和捕獲數據后像的INSERT語句。當在定義有觸發器的表上執行UPDATE語句時,原始行(前像)被移入到deleted表,更新行(后像)被移入到inserted表。
例如:在course表上創建一個觸發器trigger_update,當更新course表中某門課程的記錄信息時,score表中與該課程相關的信息也自動被更新。
Use Studentinfo
go
if exists (select name from sysobjects
where name='trigger_update' and type='tr')
drop trigger trigger_update
go
create trigger trigger_update
on course
for update
as
update score
set cno=
(select cno from inserted)
where cno=(select cno from deleted)
go
4 過多的使用觸發器會給數據庫及應用程序的維護帶來困難
SQL server觸發器雖然可以用來保障數據的完整性,但我們要有選擇的使用才行,一般情況下,較為簡單的完整性要求,我們通過規則、約束、默認值就可以解決了,就沒有必要使用觸發器了。而且兩者在運行機制上也是有區別的,規則、約束、默認值這些是在數據更改之前進行數據驗證,而觸發器是在數據更改之后才進行驗證的。
如果我們對觸發器過分的依賴,就會造成遍地是程序的情況,因為觸發器本身就需要別的程序給它一個觸發條件,也就是說至少在兩個地方存在著程序,必然影響數據庫的結構。
5 結束語
總之,觸發器的使用很方便,在保持數據的完整性操作方面比約束、規則等具有更加高效的功能,而且也比較簡單。重要的是理解insert、delete、update實現原理及工作過程。雖然觸發器功能強大,能夠輕松可靠地實現許多復雜的功能,但要慎用。只有合理的使用觸發器才會給我們的數據庫操作工作帶來很大的便利。
參考文獻:
[1] 楊得鑫.SQL server 2005開發與應用[M].北京:機械工業出版社.2008.
[2] 李紅.數據庫原理與應用[M].北京:高等教育出版社.2011.
篇3
關鍵詞:PPT課件;觸發器;觸發器應用
用PowerPoint(簡稱PPT)制作的課件,已廣泛應用于教學中。為了增強視覺效果,在課件中設置各種動畫效果已成為許多教師樂此不疲的一種制作手段。但從實際情況看,PPT課件中動畫效果的應用還顯得流于形式,只滿足于有“動”的視覺效果,忽視了其播放控制的交互功能,使得課件呈“平鋪直敘”式的線性播放。如何豐富課件的表現形式和交互功能,提高課件的制作質量,是我們應當考慮的問題。筆者認為,開發和應用PPT動畫中的觸發器的功能,對增強課件播放的可控性、交互性和趣味性,不失為一種較好方法。
觸發器是 PowerPoint 軟件“自定義動畫”中提供的一個選項。當我們為幻燈片上某一對象添加了動畫并設置“計時”屬性時,在打開的對話框中就能找到觸發器選項。觸發器可以是文本、圖片、圖形、圖表、藝術字、按鈕等對象,甚至可以是一個段落或文本框。形象化地說,觸發器就是一個“開關”,實現對象之間一對一、一對多等多種形式的觸發,并且可以多次重復使用,其在PPT課件中的應用較為寬泛,對控制播放、實現交互有重要作用。
一、用觸發器給幻燈片擴充容量
文本是PPT課件中的主要對象。為了表述清楚,我們不得不把大量的文字分散到各張幻燈片上順序播放,假如還要復述前面的文字內容,播放時則需要回退。這樣不僅使幻燈片顯得冗余和播放不便,更重要的是不利于知識的比較和強化。比如,我們要介紹三個概念,原來要用三張幻燈片分別表述,應用觸發器后,就“化零為整”,在一張幻燈片上即可解決。
制作時,先建立6個文本框分別輸入各個概念名和概念敘述內容,并分別設置各個概念敘述文本“進入”和“退出”(也可直接用動畫播放后“下次單擊時隱藏”選項)的動畫效果,然后分別設置各概念敘述文本對應的觸發器(如“概念二敘述”以“概念二”為觸發器)。最后,把三部分概念敘述文本重疊在一起。
播放時,幻燈片上只顯示三個概念的文本,點擊任一“概念”文本,奇數次單擊即顯示相應的“敘述”文本,偶數次單擊即關閉“敘述”文本。這樣,其實就是給單張幻燈片進行了信息容量的擴充,讓有限的幻燈片空間容納更多的信息,同時,也改變了幻燈片的順序播放,實現了交互式的隨機呈現。從教學角度來說,則有利于知識的重復強調、分析比較。
二、用觸發器為音視頻增添開關
聲音和影片幾乎是PPT課件中不可或缺的重要對象,其生動直觀的作用對提高教學效果不言而喻。在幻燈片上,通常可以將PPT支持的音視頻格式文件直接插入,或作為控件(如Windows Media Player)插入,以及在文本或圖片等對象上建立超鏈接使用外部播放器(如暴風影音)播放等幾種方法添加音視頻對象。在幻燈片上直接插入音視頻對象時,盡管可以選擇“自動播放”或“單擊播放”,但課堂教學的要求并非僅僅能播放就行,通常我們還希望能對音視頻實現播放、暫停和重播等更為智能化的控制。在默認情況下,插入的聲音對象,播放時無法讓其暫停,點擊它始終只會從頭開始;插入的影片對象,點擊它可以暫停和繼續播放,但只有在視頻窗口中才有效。應用觸發器,就可實現隨心所欲地交互播放。
制作時,在插入音視頻對象后,我們可以在幻燈片上再添加三個對象(文本、圖片、按鈕均可),選擇音視頻對象后,通過“自定義動畫”中“添加效果”按鈕,分別將三個對象設置為音視頻對象的播放、暫停、停止的觸發器。
播放時,點擊“播放”“暫停”和“停止”按鈕,就可自如地控制音視頻對象的播放,方便了教學中的交互需要。
三、用觸發器讓練習題平添趣味
在PPT課件中融入課堂練習用以實時評價教學情況,也是比較多見的形式。但單一的文本和枯燥的答案會讓學生索然無味。使用觸發器就能非常輕松地制作諸如選擇題、判斷題等交互性課堂練習或課外練習,或許可以起到調節課堂氣氛的作用。
制作時,在幻燈片上建多個文本框分別輸入題目和選項,再在選項后添加贊賞、鼓勵的文字或表情圖片,并為這些文字或圖片添加自定義動畫效果,然后將各個選項設置為對應文字或圖片的觸發器。
播放時,點擊相關的選項則顯示不同的文字或表情回應答題是否正確。這不僅提高了練習題的交互性,也會讓學生感到新奇而注目,以調動學習興趣。
四、用觸發器建菜單式課件目錄
一個PPT課件猶如一本書,是書當然就應該有目錄,既方便查閱教學內容,也使得教學結構清晰。常看到許多老師在課件中也設立了目錄,但如果目錄項目較多,則顯得幻燈片上“過于擁擠”,而用觸發器建立菜單式的課件目錄,結合超鏈接技術,就會讓幻燈片顯得“寬敞有余”。假設目錄幻燈片有三個菜單項,每個菜單項下有數量不等的子項目,即可用觸發器和超鏈接將其集成在一張幻燈片之中。
制作時,將各個“菜單項”分別輸入在不同的文本框中,在相應菜單項下方再建立三個文本框輸入該菜單中“子項目”的各項內容,再為各個子項目添加超鏈接,然后分別添加三個“子項目”的“進入”(如擦除-自頂部、伸展-自頂部)和“退出”動畫效果,并設置對應的“菜單項”為“子項目”的“進入”和“退出”動畫的觸發器。
播放時,目錄幻燈片上只顯示三個菜單項名,畫面顯得非常清爽,而且當各個子項目文字數較多時,可以占用其他項目名下的空間,不至于讓畫面過于局促。這樣制作的課件目錄,類似于軟件窗口中的下拉菜單,無疑頗具專業性。
PowerPoint自定義動畫中的觸發器功能,很好地改善了PPT課件的可控性、交互性,為課件增添了一抹亮色。在制作課件的實踐中,只要我們深入挖掘和應用PPT的功能,就會使我們的課件更加多姿多彩。
參考文獻:
[1]趙榮.基于PowerPoint觸發器的交互式課件制作[J].科技信息,2009(17).
篇4
[關鍵詞] 絕熱電路 RS觸發器 功耗
中圖分類號:O532+.22
1.引言
隨著CMOS集成電路技術的飛速發展,集成規模逐步變大,集成密度不斷提高,使得功耗問題變得日益突出。功耗的增大帶來能源消耗,便攜式計算機和通信設備電池供應不足,電路的過熱引起系統性能不穩定等問題。因而,集成電路的低功耗設計引起了人們的重視。
絕熱(Adiabatic) 電路技術也叫電荷恢復(Charge-Recovery) 電路技術是一種全新的低功耗技術,是低功耗集成電路技術領域的一個重要研究方向。絕熱電路的技術的主要特點是: 它是電路級的降低電路功耗的一種技術, 它采用脈沖電壓源為電路供電, 由于電源中的電感和電路中的結點電容構成振蕩回路, 它可以將電路用過的電荷回放給電源存儲起來以備下次再使用。
2.PAL電路分析和RS觸發器電路和仿真
PAL基本電路[1]結構如圖1所示。它采用二相功率時鐘。以兩個NMOS管為輸入,兩個PMOS管實現交叉耦合。PAL電路工作分為預充求值階段、保持階段、回收階段和等待階段。
圖1 PAL基本電路及二相時鐘輸入輸出序列
該電路工作原理分析如下:
在①時,x 由高電平開始下降,因此MN1的接地導通使yb =0。yb=0通過交叉耦合使y 跟隨clky 上升,實現對輸出賦值。在②時,yb= 0 使y箝位于 clky 的高電平進入保持期。在③時,yb = 0可以使y 跟隨 clky 的下降而下降,此時x上升使MN2 導通,輸出端y 的能量通過導通的MN2跟隨clky 的下降而將其收復。④當clky保持為低電平時,電路進入等待階段,輸出端都為低電平。
PAL的性能受限于其大于閾值電壓的邏輯輸出“0”電平,這因為其存在“三態”輸出端。帶有下拉NMOS管結構的PAL(PAL-2N)電路克服了這個問題,它引入了一對額外的NMOS下拉晶體管來提供更好的輸出邏輯輸出“0”電平,并且其功率損耗與PAL電路相近。
觸發器是數字集成電路中的一種重要器件。對基于PAL-2N的RS觸發器[2]的電路和功率時鐘進行T-spice模擬仿真.得到仿真結果并記錄功耗數據。
3 ECRL基本電路的分析和RS觸發器電路和仿真
ECRL基本電路[3]的結構如圖2所示,它采用四相功率時鐘,以二個NMOS管為輸入管,二個PMOS管實現交叉耦合。
圖2 ECRL基本電路和供給時鐘
該電路的工作原理分析如下:
假設in輸入信號是“1”,inb為“0”,這時MN2導通,MN1截止,輸出端out為低電平。①當時鐘信號clk從0上升到Vdd時,out為低電平,這時MP1導通,outb通過MP1隨clk的變化而變化。這時,clk對節點outb充電。②當clk上升到Vdd 時,outb也達到clk的最高值,輸出端out保存為低電平,outb保存為高電平。③當clk從Vdd下降到0時,outb通過導通的MP1跟隨clk下降而下降。當clk下降到小于 時,MP1截止,outb的電壓下降不到零電平。outb端的能量不能完全回收,電路存在非絕熱能量損失。④當clk保持為低電平時,輸出端都保持低電平。
設計基于ECRL基本電路結構的RS觸發器電路和供給時鐘[4]并進行模擬仿真。得出符合RS觸發器工作原理的電路,對不同頻率下電路工作的功耗進行記錄。
4.電路的功耗比較和結論
在相同的輸入信號下,對基于PAL-2N和ECRL的RS觸發器進行仿真,高電平為5V低電平0V,負載為0,02pF時改變其頻率,模擬得到其功耗隨時鐘頻率變化的規律如圖3所示。
圖3 PAL-2N和ECRL電路功耗
將傳統CMOS電路構成的RS觸發器中高電平電源設置為5V,進行功耗記錄
Power Results
v10 from time 1e-008 to 1.6e-006
Average power consumed -> 4.081081e-004 watts
Max power 4.693880e-003 at time 1.01e-007
Min power 7.090969e-005 at time 1.30016e-006
可以得出傳統CMOS電路的功耗平均值為408?W。
通過對電路進行仿真,得到結果進行比較得到結論:絕熱電路功耗隨時鐘信號的頻率的變化而變化。PAL-2N電路和ECRL電路功耗較低,而傳統CMOS電路的功耗較大。絕熱電路在功耗節省方面比傳統電路更具優勢。而前兩種電路相比,ECRL電路比PAL-2N電路功耗更小。通過數據對比得出,這兩種絕熱電路功耗比傳統CMOS電路降低一個數量級。而ECRL電路比PAL-2N電路功耗降低33%左右。所以絕熱電路可以成為減少傳統功耗方法的補充。在傳統CMOS電路中,對結點電容的充放電功耗占總功耗的80%以上[5]。絕熱電路的提出為解決這個問題提供了一個新的方向,為實現低功耗超大規模集成電路(VLSI)設計提供了一種新途徑。
參考文獻
[1] 杭國強,吳訓威. 具有交叉耦合結構的能量恢復型電路[J]. 電路與系統學報,2000:5卷02期:2~5
[2] K.W. Ng, K.T. Lau*.Low_power_flip-flop_design_based_on_PAL-2N_structure[J],Design of circuit and system ,1999:1~3
[3] 羅家俊等.一種新型的絕熱低功耗邏輯電路[J].固體電子學研究與進展,2003:23卷2 期225~228
篇5
PowerPoint(簡稱PPT)是教師課堂上最常用的多媒體輔助軟件[1],它操作方便,實用性強,能插入各種圖文和動畫,并能按照教師的意愿依次呈現。但此呈現方式一般為直線式,即必須按照一定的順序播放,有很大的局限性。若課堂上學生參與、選題作答,該呈現方式難以完成有效的互動。這時可以利用PPT觸發器,提高學生學習的自主性和有效性。
1. PPT觸發器的概念
觸發器是PPT 2003及以上版本新增的位于自定義動畫中“計時”選項卡的一項功能,制作后單擊觸發器(可以是圖片、圖形、按鈕或文本框)時會觸發一個操作,該操作可能是某元素的進出動畫,也可能是音視頻的播放與關閉,且該動作可以重復執行多次[2]。利用觸發器增強幻燈片的交互性在課件制作中有著廣泛的應用,如制作交互式練習題、教學動畫等。將幻燈片中的文本框和圖像設置觸發器,則可以實現圖文播放的交互式控制。
2. PPT觸發器在《細胞器》一課教學中的應用
在人教版高中生物必修一《細胞器》一課教學中,教師講授完細胞器的名稱、結構和功能后,為及時了解學生的掌握程度,往往會在PPT呈現細胞器的圖像,并讓學生說出各細胞器的名稱。但由于各學生的認知特點和水平存在差異,他們所記憶的細胞器名稱不盡相同,如有的記住葉綠體和內質網,有的記住線粒體和高爾基體。而教師在制作PPT課件時難以預測學生的作答情況,因此難以提前確定細胞器名稱的呈現順序。PPT觸發器能有效解決此類問題,讓不同的答案隨意呈現。具體制作步驟如下:
2.1 打開“細胞器”演示文稿,定位到目標幻燈片。依次設定“問號圖標”的退出方式和“答案”的自定義動畫進入方式(圖1),并把“答案”的進入方式由“單擊時”改為“之前”(圖2),這時放映會呈現“問號消失,答案出現。”
圖1 設置答案和問號圖標的自定義動作
圖2 設置答案的進入方式
2.2 用自選圖形畫一個矩形覆蓋到答案“內質網”上,大小與答案區大小相當(圖3)。右擊選擇快捷菜單中的“設置自選圖形格式”命令,把線條顏色定義為“無”,并填充任意一種顏色,但不能定義為“無”。將畫好的矩形復制,并按其先后順序拖拽覆蓋在各個答案上(圖4)。
圖3 設置一個矩形覆蓋答案
圖4 復制矩形覆蓋每個答案
2.3 從“自定義動畫方式”列表中選擇第一個“問號圖標”的動畫方式,在右側的下選菜單中選擇“計時”(圖5),然后點擊“觸發器”,選擇“單擊下列對象時啟動效果”,在右邊出現的下拉菜單中選擇覆蓋在該文本上的矩形(它會自動按復制的先后順序編號,這就是要記住復制順序的原因,見圖6),單擊“確定”按鈕,隨后把原本跟隨該問號圖標的答案拖拽到此觸發器下(圖7)。其它答案的設置依此類推。最后,將矩形設為100%全透明(圖8),播放測試效果(圖9)。若點擊問號時出現另一答案,把答案上的矩形對調則可。
圖5 選擇“計時” 圖6 選擇觸發對象 圖7 拖拽答案到觸發器下
圖8 矩形設置為100%透明
篇6
【關鍵詞】觸發器;數據完整性;級聯更新
0 引言
數據庫完整性就是保證數據庫中數據的正確性和一致性。其中正確性指數據要符合語義規范,數據定義在規范的有效范圍內;一致性是指數據庫中所表示的同一事物的數據應當一致。在SQL Server中數據庫完整性主要有約束來定義,約束定義了必須遵循的用于維護數據一致性和正確性的有效性規則。簡單的完整性要求可以在定義基本表時通過創建約束來實現,但如果想要實現更為復雜的數據完整性要求,比如依據數據表的變化實現數據的自動級聯更新等,這就需要用觸發器來完成了。本文淺析了在 SQL Server中通過觸發器實現數據庫完整性的原理,并結合一個實例分析了使用觸發器實現級聯更新的一般過程。
1 觸發器概述及其工作原理
觸發器是SQL Server數據庫的重要工具,可以被看作是一種特殊的存儲過程。一般的存儲過程通過存儲過程名稱被調用執行,而觸發器是通過數據庫事件的觸發而被執行,在對觸發器所監控的表執行添加、修改或刪除操作時觸發器被觸發。觸發器的過程體中可以包含復雜的SQL語句,因此觸發器可以實現比約束更加復雜的數據完整性要求。
在 SQL Server 2005 中有兩種觸發器: DDL觸發器和 DML 觸發器。DDL觸發器是被數據定義語句(DDL)所觸發而被調用的觸發器;DML觸發器是被數據操作語句(DML)所觸發而被調用的觸發器。數據完整性規則主要由DML 觸發器創建,因此本文主要討論DML觸發器。由于觸發器被激活后所執行的操作不同,SQL Server中包含兩種觸發方式: After觸發方式和Instead Of觸發方式。After觸發方式是比較常用的觸發方式(另有一種For觸發方式與After相同,是為與 SQL Server 早期版本兼容的可選項),這種觸發方式的觸發器在進行數據操作以后被觸發,先執行了觸發語句(插入、更新、刪除),然后執行了觸發器。INSTEAD OF觸發方式在數據發生變化之前被觸發,停止觸發語句(插入、更新、刪除)的執行,直接執行觸發器定義的內容。
本文將以After觸發器為例來講述使用觸發器實現數據庫級聯更新。
在實際應用中,SQL Server為每個觸發器都創建了兩個專用表:Inserted表和Deleted表,當觸發器被執行時產生。這是兩個邏輯表,存放于內存中,表的結構與被觸發器作用的表的結構相同且由系統自動創建和撤銷。
當執行Insert語句時,Inserted表中保存要向表中插入的所有行。
當執行Delete語句時,Deleted表中保存要從表中刪除的所有行。
當執行Update語句時,相當于先執行一個Delete操作,再執行一個Insert操作。
2 觸發器應用案例
下面我們以淘寶某網店數據表為例討論一下使用觸發器實現數據表的級聯更新。
我們知道在商品購物頁面點擊立即購買后,雖然我們還沒有付錢但是這就表示我們和商家之間已經生成了一個訂單。那么其他人再打開此商品的購買頁面時,頁面上顯示的庫存數量就應該更新為新的庫存數量了。其實這個過程就是通過觸發器更新數據表來實現的。
在淘寶網站的后臺,買家購買了某商品后就會生成一個新的訂單,也就是說在訂單表中會插入一條新的記錄來表示這個新訂單,其中就包含了訂單編號、商品編號、商品價格、購買數量等信息。同時在庫存表中被購買商品的庫存數量也應該被更新為原來的庫存數量減去購買數量從而生成新的庫存數量。這個過程的實現就被稱為數據表的級聯更新,所謂級聯更新也叫聯動更新,指當我們修改了一個數據表中的某些數據,系統會自動去修改另一個數據表相應數據。
首先我們先要在訂單表上建立一個insert觸發器用于響應對訂單表的插入操作。當我們點擊立即購買后,系統會生成一個新的訂單,然后把新訂單的數據插入到訂單表中,同時也會觸發insert觸發器這樣訂單數據也會同步插入到inserted表中,然后會執行這個觸發器。那么我們就可以在這個觸發器中定義一個更新操作,去同步更新庫存表,讓庫存量跟新為新的庫存量。
create trigger t1
on 訂單表
for insert
as
update 庫存表
set 庫存數量=庫存數量- (select 購買數量 from inserted)
where 商品編號=(select 商品編號 from inserted)
可以看到經過這個觸發器的執行,用戶在下訂單的同時商品的庫存數量也被相應的修改為新的庫存數量。
3 結束語
在數據庫的應用中,觸發器起到了非常重要的作用。它是保證數據完整性的重要補充工具,它可以很容易的實現表間操作所引發的數據的級聯更新從而能夠更好的保證數據的完整性,幫助用戶實現滿足企業需求的規則,使得數據庫系統更加方便、高效和安全。
這篇文章結合具體的實例討論了DML觸發器的工作原理和實現數據表級聯更新的方法。結果表明應用觸發器不僅可以處理表與表之間復雜的邏輯關系,優化數據庫的設計,更好地維護數據庫中數據的完整性; 同時還可以實現由于數據修改而引發的相關數據的自動級聯更新操作,從而更安全高效的完成數據更新,避免了人工操作帶來的安全隱患,提高了整體數據庫系統的安全性能。
【參考文獻】
[1]王珊,薩師煊.數據庫系統概論(第4版)[M].北京:高等教育出版社,2006.
[2]羅運模,王珊.SQL Server數據庫系統基礎[M].北京:高等教育出版社,2003.
[3]張益星.SQL Server 2000觸發器技術及應用[J].信息技術,2005(10):69-70.
篇7
通過這種電路的學習,更多的了解這種類型的數字電路的特點,掌握與之相關的電路工程實踐基本知識,是教學的著眼點。
因此,在教學過程中,應當從理論的束縛中走出來,不再局限于對電路純理論意義上分析,而是從工程應用的角度出發,把理論用工程應用語言來表述,用工程應用思維來串聯分析。
一、從工程應用的角度定義基本概念
關于單穩態觸發器的定義,教材上常規的方式是比較多諧振蕩器的輸出信號特點給出純理論的定義,即輸出有一個穩態和一個暫穩態,能在輸入信號的作用下由穩態進入暫穩態,經過一定時間自動返回暫穩態。不從應用的角度出發,單穩態觸發器類型多樣,實現原理各異,但不管是哪種單穩態觸發器其工作方式是相同的或者是電路應用的基本原理是相同的,所以從工程的角度定義,就是電路在控制脈沖信號的作用下產生一個一定時長的暫態控制信號,使被控電路的狀態按照要求發生暫時性的變化。
二、堂課教學設計
目前的教學自制形式在知識的自我拓展,求新的氛圍,流暢而有效的交流方面體現的不太明顯,不利于學生知識和能力的開拓與發展,因此教學組織形式由單一的老師講解向學生與學生、學生與老師交流互動轉變,強調學習過程中學生學習興趣和學習能力的培養就顯得特別重要。教學組織形式可以嘗試由以下三個方面著手:
2.1課前預習自學
老師根據教學內容要求,提前布置學習任務,提供預習提綱,明確自學內容及相關知識點,使學生對于所學內容有一個大概的了解,以及一定程度的認知。
例如,單穩態觸發器可以布置一下預習提綱:
1.單穩態的概念是怎樣定義的?
2.單穩態觸發電路的工作方式是怎樣的?
3.可以用哪些方式構成單穩態觸發器?闡述其工作原理
4.單穩態觸發器可以應用到哪些電路中?
2.2課堂交流
良好的專業表達能力,敏銳的專業接受和思考能力,對于培養學生工作中交流能力相當重要。在自學預習的基礎上,每次課可先由學生交流講述自己對于知識點的理解以及自學過程中還沒有解決的問題,然后老師進行點評講解。可以檢驗學生課前自學的效果,了解學生的思維方式和認知能力,另一方面對于學生表達能力和思維能力的培養也有益處。具體形式可以先對學生進行分組,每次任選一個組進行與習題的交流陳述,在此 之前各組內先討論形成共識,然后組內沒人選擇一個問題用于課堂交流,例如單穩態觸發器,可以把以上預習問題分解,難度由易到難,可以根據組內成員的特點靈活安排。
2.3個性作業
單穩態觸發器類型很多,不同的應用產生不一樣的效果,這也是就是我們布置有針對性的,多樣化的課后作業提供了基礎。課后作業布置要盡量避免一刀切,針對學生基礎差異較大、學習需求不同的基本情況,在作業布置上分為基礎作業和個性作業。基礎作業時所有學生必須完成的,例如單穩態電路的組成,基本工作過程的描述,參數計算等。個性作業是針對學有余力或者學習興趣較高的學生布置的實踐應用性較強的課題任務式作業。如單穩態電路的設計,電路的修改等。
篇8
【關鍵詞】觸發器;辦公自動化;數據完整性
隨著現代網絡信息技術的發展和高校教學改革的不斷深入,高職院校辦公自動化管理手段也發生了深刻而具體的變革,學校教學管理事務也日益繁雜,尤其是隨著學分制的推行,應用教務管理系統已成為高校教學管理的必然選擇;再有學院各系部的新聞系統、學生操行管理系統、學生舍務管理系統、學生健康管理系統、學院的招生管理系統、學院的設備管理系統、學院的政治學習管理系統、圖書管理系統等都日趨完善和復雜。如在教務管理系統中學生、課程是最重要的基礎數據,貫穿教學計劃、排課、選課、考試、成績、教材、學生基本信息等各個管理過程,幾乎與教務系統中所有子系統存在密切的關聯。
盡管目前使用的教學管理系統能很好地實現日常最基本的教學管理功能,但由于系統設計上的缺陷,導致在維護數據庫完整性方面存在困難.比如現行系統中學生的選課數據與學生學籍信息是兩個沒有關聯的獨立的數據表,當一名學生因故退學,學籍異動時將刪除其學籍基本信息,但與該生相關的選課數據還存放在選課數據庫中,這就導致了內部數據不一致的錯誤,其結果是該生所選課程的整個教學班成績都無法提交。目前教務管理系統卻不能很好地解決這類數據完整性約束問題,作為教務系統管理員必須避免類似數據不一致情況的發生。再如學生經醫務室診斷得病需回家治療而教學的老師和學生管理部門不能第一時間知道這件事等。在此提出采用觸發器技術來解決這類數據完整性問題。
1.oracle觸發器
數據的完整性是指數據庫中數據的正確性、有效性和相容性,是為了防止數據庫中存在不符合語義規定的數據和防止系統輸入/輸出無效信息而提出的。在oracle數據庫中的數據完整性包括實體完整性(Entity Integrity)、參照完整性(Referential Integrity)、用戶自定義完整性(User-defined Integrity)、域完整性(Domain Integrity)。觸發器是特定事件出現的時候,自動執行的代碼塊。類似于存儲過程,觸發器與存儲過程的區別在于:存儲過程是由用戶或應用程序顯式調用的,而觸發器是不能被直接調用的,是自動執行的。觸發器功能:允許/限制對表的修改;自動生成派生列,比如自增字段;強制數據一致性;提供審計和日志記錄;防止無效的事務處理;啟用復雜的業務邏輯。當數據的完整性出現問題的時候,可以利用觸發器技術檢測處理。它基于一個表來創建并和一個或多個數據修改操作(插入、更新或刪除)相關聯。在oracle中按照觸發事件的不同,觸發器可以分為兩大類:DML觸發器和DDL觸發器。DML觸發器的特點是當數據庫中發生數據操縱語言事件時觸發器被觸發執行,其被廣泛應用于數據被修改時的強制執行業務規則,以及數據完整性檢查;DDL觸發器則是在服務器或數據庫中發生數據定義語言事件時被調用。根據觸發時機來分,觸發器可分為AFTER觸發器和INSTEAD OF觸發器:AFTER觸發器是指相應的操作被執行完畢后觸發,INSTEAD觸發器是指在相應的操作被執行前觸發并替代該操作。根據觸發方式,觸發器可以分為INSERT觸發器、UPDATE觸發器、DELETE觸發器。在創建觸發器時需要制定以下內容:觸發器名稱、觸發器所基于的表或視圖、觸發器種類(AFTER或INSTEAD OF)、激活觸發器的修改語句(INSERT,UPDATE和DELETE)、觸發執行的語句,用T―SQL語句創建觸發器的具體語法格式如下:
CREATE [OR REPLACE] TRIGGER 觸發器名
{BEFORE|AFTER|INSTEAD OF} 觸發事件1 [OR 觸發事件2...]
ON 表名
WHEN 觸發條件
[FOR EACH ROW]
DECLARE
聲明部分
BEGIN
主體部分
END;
2.教務管理系統中觸發器的設計
教務管理系統總體可分為學籍管理子系統、成績管理子系統、選課管理子系統、排課管理子系統等,在學籍管理子系統中,學籍異動對數據的完整性就要求很高,學籍的變動涉及到學生的成績和選課數據的變動。如果我們靠手工來變動這些數據,數據量大而繁雜,容易出錯,如果靠程序本身來調用TransactionSQL語句會浪費系統開銷,增加程序設計難度.而觸發器的引人,將是一個理想方案.學籍的變動觸發學生成績和選課數據的自動更新,整個過程也將在數據庫服務器上進行,能夠提高系統的運行性能.以學生退學為例,在教務管理系統中,需要刪除學生的學籍和選課信息。在沒有使用觸發器的情況下,需分別從學生信息表和學生成績表中分別刪除相應學生的記錄,這樣操作起來既麻煩又不能保證數據完整性.在引入觸發器后,管理員只需刪除學生信息表中該生信息,便可以通過觸發器自動刪除該學生的選課記錄,這樣既簡化了操作,又可以保證數據完整性.
3.觸發器的實現
下面以我院的學生數據庫為例說明觸發器在教務管理系統中的設計與實現.
數據庫的主要表及關系模式如下:
學生(學號,姓名,性別,系別,專業,班級,出生日期,籍貫)課程(課程編號,課程名稱,課程類型,專業,周學時,學分)成績(學號,課程編號,成績)
1)發生學生退學的情況。
這個時候教務系統管理員需要刪除學生表中該同學的記錄,同時也需要在成績表中刪除該同學相應的選課記錄,保證數據完整性和一致性。
2)出現學號變更的情況。
此時教務系統管理員不僅要修改學生表中該生的學號,還要修改成績表中的學號,保證數據完整性。
3)出現新開設專業必修課的情況。
此時在課程表中插入相應課程信息后,同時向成績表中插入該專業所有學生的相關記錄(成績暫為空),實現了成績表的自動填充,保證了數據完整性.
4.結束語
在教務管理系統中,數據的一致性和完整性非常重要,在開發和設計時,我們一定要充分了解教務管理系統對數據的操作規則,合理設計觸發器來滿足數據完整性的要求。本文以遼寧軌道職業學院的教務管理系統中數據完整性約束為例并進行了較為深入地探討和分析,根據教務管理工作的特點和規律對教務管理系統的幾類典型觸發器進行了設計,并通過ORACLE得以實現。掌握數據完整性對數據庫系統設計人員來講非常重要,它保證系統能夠正確、有效地運行,大大提高了系統的可靠性。在教務管理系統中運用觸發器技術來解決的這些典型問題,也可以推廣到辦公自動化管理系統中其它數據庫系統的運行和維護中去。
參考文獻
[1]鄭阿奇.Oracle實用教程[M].電子工業出版社.
篇9
一、磁性觸發器由方波電源和磁性觸發裝置兩大部分組成
方波電源由溶電器ORD11,電阻OR11,OZL14整流器,穩壓管OWG11、OWG12組成,該電路把127伏的單相交流電源,利用兩只穩壓管削波,為磁性觸發安裝置提供一個近似的方波(梯形波)電源。采用方波電源主要目的是加大脈沖信號的移相范圍,使可控硅的導通角加大。(因為方波電源的陡度大于幅值相同的正弦波電源)。磁性觸發裝置包括兩個內反饋的磁放大器、四個脈沖變壓器、電阻、電容、整流二級管等組成,并將所有元件裝在一個封閉容器里,以減少外接線,增強工作的可靠性。半控橋的電源和觸發器的電源要求同步工作。實際的電路時半控橋與觸發器不是同一個電源。半控橋電源用的是線電壓單相電源,觸發器用的是相電壓單相電源。從相位上看,相電壓滯后于對應的線電壓30°相位角。之所以將半控橋電源和觸發器電源采用一個固定的移相角(落后30°),其目的在于半控橋電源是一個正弦波,而觸發器的電源是一個近似方波的梯形波,不是理想的方波,如果兩者完全同步、同相,那么在ut=o和wt=π附近就會出現可控硅不能觸發的失控區。這是因為在wt=o和wt=π附近,可控硅雖然承受正向電壓,但有時電壓較低,而觸發信號的幅值也很低,(若是理想的方波就不會出現這個問題)造成可控硅不能觸發。只要離開O和π較遠的地方,可控硅的陽極電壓較高,脈沖的幅值也較大,才能使可控硅被觸發導通。這樣就使半控橋的輸出得不到較低值,即不是沒有輸出,就使輸出的數值比較大。這樣對整個系統和平滑無極調速、電動機換向及發生堵轉時都是非常不利的。為了克服上述缺點,在半控橋和觸發電器里采用了固定移相電路。這樣在wt=π附近,雖然可控硅陽極電壓較低,但是控制極卻有足夠在的脈沖幅值,使可控硅也能夠導通。這就保證了半控橋的輸出電壓可以得到從零開始,這樣使電動機的轉速獲得了均勻地大范圍的調正。采用固定移相后,當控制極信號微弱時,即wt=180°~120°之間的時候,觸發器產生的脈沖信號無用,因為此時可控硅承受反向電壓,不具備導通的條件,因此該時半控橋無有輸出。通過調整磁放大器的位移繞組,使零位時,觸發器的較大的脈沖,從而保證半控橋有信號輸出。這樣可以免除微弱的干擾信號的干擾,不致于造成電鏟的各工作機構的誤動作。固定移相的加入,保證了可控硅的可靠觸發,但是半控橋和觸發器的電源不能發生錯亂。即電源的相序A-B-C不能發生混亂,如提升機構半控橋用UAB,則觸發器電源用UAO;推壓機構半控橋用UBO;回轉機構半控橋作UCA,觸發器用UCO。故在設備安裝和檢修時,必須注意電源的相序。上面提過的相序繼電器有這樣的保護作用,即電源的相序正確時,電鏟能工作,而相序錯誤時,通過繼電器的聯鎖作用,可使電鏟不能工作。
二、三相橋式半控整流電路的作用
(1)三相橋式半控整流電路采用SCR和三個硅整流管。共陰極組采用SCR,共陽極組采用硅整流管。所以三控橋式半控整流電路的實質就是一組共陰極可控的三相半波整流電路與一組共陽極不可控的三相整流電路的串聯。因此整流電壓即為二祖輸出電壓之和。(2)三相半控整流電路只用三個可控硅,控制回路只用三套觸發電路,因此線路比較簡單、經濟。(3)三相半控橋磁性觸發器線路選用了三個磁性觸發器,由三個磁性觸發器分別控制三個可控硅的觸發脈沖,這三個磁性觸發器各自有一個可調的位移繞組。它們的給定繞組卻是串聯在一起,而且給定安匝是給定繞組的穩壓電源和電網電壓波動的整流電壓比較結果,當電網電壓上升,給定繞組的電壓下降。
篇10
設計思想與總體方案
1 非接觸式驗電器的設計思想
本次開發的驗電器主要用于鐵路中高壓輸電線路的監測工作,其設計要求是監測鐵路中高壓線路的運行情況,要求能正確判斷高壓線是否帶電,并將有電、無電信號通過發光二極管顯示出來,同時還要發出相應狀態的語音提示信息。
另外,驗電器通常安裝在室外,因此本裝置還要滿足室外工作的要求。
2 總體設計方案和框圖
本驗電器以SPE61A單片機作為檢測和控制核心。裝置采用銅片式傳感器監測高壓線附近電場,將電場信號轉化為電壓信號后送往信號處理電路,信號處理電路將該模擬信號轉換成直流的有電、無電的狀態信號送往單片機。單片機將接收到的信號與上一次信號進行比較,如果本次采集的信號跟上次采集信號相同,則繼續下一次信號的采集,如果不同,則發出新的信號到語音模塊、指示模塊和信號傳送模塊,同時將本次采集的信號進行鎖存,用以對下次采集的信號進行比較。語音模塊收到信號后發出有電或無電語音提示;指示模塊收到信號后發出有電或無電指示;信號傳送模塊收到信號后發出有電或無電狀態信號送到室內監控計算機。硬件結構圖如圖1所示。
系統的硬件設計
1 單片機
本系統采用凌陽SPE61A單片機作為檢測和控制核心。SPCE061A是繼μ'nSP系列產品SPCE500A等之后凌陽科技公司推出的又一個16位結構的微控制器。它設計有2個16位10端口。該控制器可以在較寬的電源電壓范圍(2.6~5.5V)及系統時鐘頻率范圍(0.375~24.576MHz)內工作,除了數據總線增至16位從而提高了工作速度外,SPE61A 16位單片機內集成了更多的系統資源。其中有大容量ROM及靜態RAM、紅外通信接口、RS-232通用異步全雙工串行接口、10位A/D及D/A轉換、內置式帶自動增益控制的擴音器輸入通道、32768Hz實時時鐘以及低電壓復位/低電壓監測系統。另外,SPE61A中還嵌入了LCD控制驅動和雙音多頻信令(DTMF)發生器功能等。
SPE61A最大的特點就是內置7通道10位電壓模/數轉換器(ADC)和單通道聲音模/數轉換器,其中,聲音模/數轉換器輸入通道內置麥克風放大器和自動增益控制(AGC)功能。這使得SPE61A具備了初步的語音播放和識別功能。
在本系統中,SPE61A單片機主要監測和處理輸入信號。在接收到來自信號處理模塊的信號后單片機將相應的判斷,并將處理結果發送到后續電路。
2 傳感器
傳感器用于讀取電場信號,是整個設備的信號源。傳感器被安裝在距離高壓線0.8m的正下方,用于讀取和轉換高壓線附近的電場信號。本裝置中的傳感器采用銅片電容設計,從電容兩端分別引出兩根導線,其中一根導線作為信號輸出的正極,另一根接地,作為地線。
另外,為了安全需要,在傳感器的地線端多引出了一條地線(稱為檢測地線)作為電路中指示模塊、語音提示模塊和信號傳送模塊的地線,用于判斷傳感器傳輸線路是否完好。此時,若信號傳輸線路斷開,則此地線亦斷開,那么指示模塊、語音提示模塊和信號傳送模塊均不能工作,信號指示燈不能發光,語音模塊被能發出語音信息,傳送電腦的有電和無電信號也同時斷掉,不會發出錯誤信號,提高了系統的可靠性,避免信號線斷開時發出錯誤的無電信號,造成事故。
傳感器采用封閉式半球形光滑外殼設計,能夠徹底防水,滿足室外工作要求。
3 信號處理模塊
信號處理由信號跟隨電路、濾波電路、倍壓整流電路、減法電路、放大電路、施密特觸發電路、信號指示和監控信號發送電路組成,其原理圖如圖2所示。輸入信號來自傳感器的送出的工頻交流電壓信號,該信號經過信號跟隨電路跟隨并正向偏置后進行濾波,然后將交流信號倍壓整流成直流信號,減法器減掉相鄰線路間的干擾信號,放大器將信號進行必要的放大后送入施密特觸發器,觸發器根據輸入信號的大小送出有電、無電兩種信號到單片機。
相關文獻中對本裝置的各模塊功能結構和原理已經進行過詳細的論述,本文不再累述。
4 語音模塊
語音提示信息處理由SPE61A自帶的語音模塊完成。本系統中直接在該模塊中外接功放電路和喇叭,語音提示信息通過外接喇叭發出。
5 指示模塊
指示模塊由兩只發光二極管組成,分別為紅色和綠色,紅色表示有電,綠色表示無電。由于SPE61A端口有足夠的驅動能力,因此,本系統中直接將發光二極管接入到單片機端口中。
6 信號發傳送模塊
本驗電器不僅要把高壓線是否帶電狀況在指示模塊中顯示出來,還要將該信號送往室內監控計算機中進行監控。如果將信號通過驗電器裝置發送到計算機就遇到一個共地線問題,要讓計算機正確地識別驗電器傳送過來的信號就必須使計算機和驗電器共一個地線,否則,會因傳送線路過長不共地線而導致計算機識別信號出錯。本裝置的信號傳送方式如圖3所示,由計算機發送信號,驗電器內部通過繼電器開關來控制有電或無電線路的導通或斷開,計算機接收由自己發送的經過繼電器開關送來的兩路信號,若有電線路送來高電平信號,則無電線路送來低電平,此時高壓線有電;若無電線路送來高電平信號,則有電線路送來低電平,高壓線無電,若兩路線路都送來高電平信號或低電平信號則電路出錯。
語音模塊中的功放電路、指示模塊中發光二極管和信號發送模塊中控制電路都以檢測地線作為地線,這樣就可以完成對傳感器傳輸線路的判斷,避免傳感器線路的斷開而發出錯誤的指示信息。
另外,由于硬件都必須在室外工作,因此,整個硬件設備都被安裝在以各特殊設計的防水金屬外殼中。
系統的軟件設計
系統軟件設計如圖4所示。在系統第一次上電運行時先初始化到有電狀態并將該信號端口中的指示模塊中顯示結果,調用語音子程序輸出語音提示信息。延時Is后將狀態鎖存。系統先對輸入端口進行掃描,再將掃描結果與鎖存器中數據進行比較,如果相同則直接清看門狗返回到端口掃描進入下一次循環,如果不相同則將掃描結果(有電或無電)輸出到端口中的指示模塊中顯示結果,然后調用語音子程序輸出語音提示信息,再清看門狗,返回到狀態鎖存,將本次采集的狀態信號進行鎖存,用于下一次采集信號時比較之用,然后進入下一次循環。為了保證系統能正常運行,在兩個分支循環中都設有清看門狗程序。
系統整個工作流程如下:第一次上電工作或重啟后工作顯示為有電狀態,并且發出有電語音提示,延時1秒后如果指示狀態沒有改變則表明線路有電,否則延時結束會改變指示狀態,并且有無電語音提示,表明線路無電。
另外,在語音輸出中語音提示為“線路上電,請注意安全”和“線路斷電”等兩句語音。
精品范文
1觸發器