① 什麼是觸發器,使用觸發器的好處是什麼
觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由個事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行。觸發器經常用於加強數據的完整性約束和業務規則等。 觸發器可以從 DBA_TRIGGERS ,USER_TRIGGERS 數據字典中查到。 觸發器可以查詢其他表,而且可以包含復雜的 SQL 語句。它們主要用於強制服從復雜的業務規則或要求。例如:您可以根據客戶當前的帳戶狀態,控制是否允許插入新訂單。 觸發器也可用於強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在這些表之間所定義的關系。然而,強制引用完整性的最好方法是在相關表中定義主鍵和外鍵約束。如果使用資料庫關系圖,則可以在表之間創建關系以自動創建外鍵約束。 創建觸發器的SQL語法 DELIMITER | CREATE TRIGGER `<databaseName>`.`<triggerName>` < [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] > ON <tableName> FOR EACH ROW BEGIN --do something END | 觸發器的優點 觸發器可通過資料庫中的相關表實現級聯更改;不過,通過級聯引用完整性約束可以更有效地執行這些更改。觸發器可以強制比用 CHECK 約束定義的約束更為復雜的約束。與 CHECK 約束不同,觸發器可以引用其它表中的列。例如,觸發器可以使用另一個表中的 SELECT 比較插入或更新的數據,以及執行其它操作,如修改數據或顯示用戶定義錯誤信息。觸發器也可以評估數據修改前後的表狀態,並根據其差異採取對策。一個表中的多個同類觸發器(INSERT、UPDATE 或 DELETE)允許採取多個不同的對策以響應同一個修改語句。 比較觸發器與約束 約束和觸發器在特殊情況下各有優勢。觸發器的主要好處在於它們可以包含使用 Transact-SQL 代碼的復雜處理邏輯。因此,觸發器可以支持約束的所有功能;但它在所給出的功能上並不總是最好的方法。實體完整性總應在最低級別上通過索引進行強制,這些索引或是 PRIMARY KEY 和 UNIQUE 約束的一部分,或是在約束之外獨立創建的。假設功能可以滿足應用程序的功能需求,域完整性應通過 CHECK 約束進行強制,而引用完整性 (RI) 則應通過 FOREIGN KEY 約束進行強制。在約束所支持的功能無法滿足應用程序的功能要求時,觸發器就極為有用。 例如:除非 REFERENCES 子句定義了級聯引用操作,否則 FOREIGN KEY 約束只能以與另一列中的值完全匹配的值來驗證列值。 CHECK 約束只能根據邏輯表達式或同一表中的另一列來驗證列值。如果應用程序要求根據另一個表中的列驗證列值,則必須使用觸發器。 約束只能通過標準的系統錯誤信息傳遞錯誤信息。如果應用程序要求使用(或能從中獲益)自定義信息和較為復雜的錯誤處理,則必須使用觸發器。 觸發器可通過資料庫中的相關表實現級聯更改;不過,通過級聯引用完整性約束可以更有效地執行這些更改。 觸發器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數據修改。當更改外鍵且新值與主鍵不匹配時,此類觸發器就可能發生作用。例如,可以在 titleauthor.title_id 上創建一個插入觸發器,使它在新值與 titles.title_id 中的某個值不匹配時回滾一個插入。不過,通常使用 FOREIGN KEY 來達到這個目的。 如果觸發器表上存在約束,則在 INSTEAD OF 觸發器執行後但在 AFTER 觸發器執行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發器操作並且不執行 AFTER 觸發器。 觸發器到底可不可以在視圖上創建 在 SQL Server�6�4 聯機叢書中,是沒有說觸發器不能在視圖上創建的, 並且在語法解釋中表明: 在CREATE TRIGGER 的 ON 之後可以是視圖。 然而,事實似乎並不是如此,很多專家也說觸發器不能在視圖上創建。我也專門作了測試,的確如此,不管是普通視圖還是索引視圖,都無法在上面創建觸發器,真的是這樣嗎?請點擊詳細,但是無可厚非的是:當在臨時表或系統表上創建觸發器時會遭到拒絕。 深刻理解 FOR CREATE TRIGGER 語句的 FOR 關鍵字之後可以跟 INSERT、UPDATE、DELETE 中的一個或多個,也就是說在其它情況下是不會觸發觸發器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。相關內容 一個有趣的應用我們看到許多注冊系統在注冊後都不能更改用戶名,但這多半是由應用程序決定的, 如果直接打開資料庫表進行更改,同樣可以更改其用戶名, 在觸發器中利用回滾就可以巧妙地實現無法更改用戶名……詳細內容 觸發器內部語句出錯時…… 這種情況下,前面對數據更改操作將會無效。舉個例子,在表中插入數據時觸發觸發器,而觸發器內部此時發生了運行時錯誤,那麼將返回一個錯誤值,並且拒絕剛才的數據插入。不能在觸發器中使用的語句 觸發器中可以使用大多數 T-SQL 語句,但如下一些語句是不能在觸發器中使用的。 CREATE 語句,如:CREATE DATABASE、CREATE TABLE、CREATE INDEX 等。 ALTER 語句,如:ALTER DATABASE、ALTER TABLE、ALTER INDEX 等。 DROP 語句,如:DROP DATABASE、DROP TABLE、DROP INDEX 等。 DISK 語句,如:DISK INIT、DISK RESIZE。 LOAD 語句,如:LOAD DATABASE、LOAD LOG。 RESTORE 語句,如:RESTORE DATABASE、RESTORE LOG。 RECONFIGURE TRUNCATE TABLE 語句在sybase的觸發器中不可使用! 慎用觸發器 觸發器功能強大,輕松可靠地實現許多復雜的功能,為什麼又要慎用呢。觸發器本身沒有過錯,但由於我們的濫用會造成資料庫及應用程序的維護困難。在資料庫操作中,我們可以通過關系、觸發器、存儲過程、應用程序等來實現數據操作…… 同時規則、約束、預設值也是保證數據完整性的重要保障。如果我們對觸發器過分的依賴,勢必影響資料庫的結構,同時增加了維護的復雜程序. 編輯本段|回到頂部 數字電路領域名詞 學名「雙穩態多諧振盪器(Bistable Multivibrator)」。觸發器(Flip Flop)是一種可以存儲電路狀態的電子元件。最簡單的是由兩個或非門,兩個輸入端和兩個輸出端組成的RS觸發器(見圖)。復雜一些的有帶時鍾(CLK)段和D(Data)端,在CLK端為高電平時跟隨D端狀態,而在CLK端變為低電平的瞬間鎖存信號的D觸發器。更常用的是兩個簡單D觸發器級聯而成的在時鍾下跳沿所存信號的邊緣D觸發器,廣泛應用於計數器、運算器、存儲器等電子部件。 觸發器的類型: 按邏輯功能不同分為:RS觸發器、D觸發器、JK觸發器、T觸發器。 按觸發方式不同分為:電平觸發器、邊沿觸發器和主從觸發器。 按電路結構不同分為:基本RS觸發器和鍾控觸發器。 按存儲數據原理不同分為:靜態觸發器和動態觸發器。 按構成觸發器的基本器件不同分為:雙極型觸發器和MOS型觸發器。 照明配件 用於高強度氣體放電燈(H.I.D)的啟動,型號繁多.由於高強度氣體放電燈啟動時需要一個高電壓來使氣體電離進入等離子態,因而需要一個高壓發生器做為啟動器。這就是觸發器早期的機械型觸發器已經淘汰。現在絕大多數觸發器都是使用可控硅或高壓觸發二極體的電子觸發器,常用的型號有:OSRAM 的 CD-7 飛利浦的 SI51 SN58 愛倫的ALK400等
② 同步置數和非同步置數的區別
1、觸發器工作狀態不同:
同步置數所有觸發器的時鍾端連在一起,即所有觸發器在同一時鍾作用下同步工作;非同步置數觸發器不在同一時鍾作用下同步工作。
2、時鍾脈沖CP作用不同:
同步置數時鍾脈沖CP控制所有觸發器同步工作;非同步置數時鍾脈沖CP只觸發部分觸發器,其餘觸發器由電路內部信號觸發。
3、生效條件不同:
同步置數輸入條件滿足,等待時鍾有效時刻生效;非同步置數與時鍾無關,輸入條件滿足,立即生效。
(2)計數器的核心存儲元件為觸發器擴展閱讀
時序邏輯電路的三種邏輯器件
時序邏輯電路應用很廣泛,根據所要求的邏輯功能不同進行劃分,它的種類也比較繁多。在具體的授課環節中,主要選取了應用較廣、具有典型時序邏輯電路特徵的三種邏輯器件進行比較詳細地介紹。
1、計數器
通常,計數器主要由觸發器組成,用於計數輸入計數脈沖CP的數目。計數器的輸出通常是狀態的函數。一個計數器累積的最大輸入脈沖數稱為該計數器的「模數」,用M表示。例如M=6計數器,也稱為十六進制計數器。因此,計數器的「模量」實際上是電路的有效狀態數。
同步七加法計數器的邏輯圖計數器有很多種,各有不同的特性。主要分類如下:二進制計數器、十進制計數器、任意基數計數器。按計數可分為:加法計數器、減法計數器、正負計數器,也稱可逆計數器。根據計數器中的觸發器是否為同步,可分為非同步計數器和同步計數器。
2、寄存器
寄存器是一種存儲數字、操作結果或指令的電路。移位寄存器不僅可以存儲數字,還可以在移位脈沖的作用下根據需要向左或向右移動數字。寄存器和移位寄存器是數字系統和計算機中常用的基本邏輯元件。
一個觸發器可以存儲1位二進制代碼,n個觸發器可以存儲n位二進制代碼。因此,觸發器是寄存器和移位寄存器的重要組成部分。寄存器中的觸發器必須具有設置0或僅設置1的功能。具有同步結構、主從結構或側觸發器的觸發器可以由寄存器組成。
3、順序脈沖發生器
順序脈沖是指在每個周期內按一定時間順序排列的脈沖信號。產生順序脈沖信號的電路稱為順序脈沖發生器。在數字系統中,它通常用於控制某些設備,以預定的順序執行計算或操作。
③ 用JK觸發器作為存儲原件,設計一個模8加1計數器。求邏輯電路圖。
邏輯電路圖:
預置輸入先置0,取Q(N)的輸出做置數信號,在(N+1)的時鍾前沿Q輸出同步歸零,這是完全同步計數,是同步計數器的正確用法。比較兩種方法可知,設計N進制計數器時,清零法的反饋信號是(N+1),控制端是置零CR' ;置數法的反饋信號是 N ,控制端是置數LD' 。
(3)計數器的核心存儲元件為觸發器擴展閱讀:
簡單的邏輯電路通常是由門電路構成,也可以用三極體來製作,例如,一個NPN三極體的集電極和另一個NPN三極體的發射極連接,這就可以看作是一個簡單的與門電路,即:當兩個三極體的基極都接高電平的時候,電路導通,而只要有一個不接高電平,電路就不導通。
任何時刻輸出信號的邏輯狀態僅取決於該時刻輸入信號的邏輯狀態,而與輸入信號和輸出信號過去狀態無關的邏輯電路。
由於組合邏輯電路的輸出邏輯狀態與電路的歷史情況無關,所以它的電路中不包含記憶性電路或器件。門電路是組合邏輯電路的基本單元。當前組合邏輯電路都已製成標准化、系列化的中、大規模集成電路可供選用。
④ 用D觸發器能組成計數器嗎怎麼做
可以。對N個D觸發器組成的級聯結構的最後輸出Q或者Q非的高電平(計1)或者低電平(計0)進行計數,即可以實現計數器的功能。例如時鍾源的頻率是100HZ,則最終輸出端就會以100/2的N次方 的頻率進行計數。
推廣:
分頻電路的核心就是計數器電路,一般分頻電路里都要用到D觸發器進行2分頻,也可實現一個脈沖上升沿或者下降沿翻轉一次的目的;
用途1:把第一個D觸發器的輸出Q接第二個觸發器的輸入端D,這樣一個D觸發器可實現2分頻,2個可實現4分頻,N個可實現2的n次方分頻。就構成了扭環型計數器,亦稱約翰遜計數器。
用途2:利用一個脈沖上升沿或者下降沿翻轉一次的特性,把翻轉後的輸出接回時鍾輸入端,做控制用,就可以實現小數的分頻,這個在脈沖分頻里也有廣泛的應用。
⑤ 計數器的模是什麼和構成計數器的觸發器有什麼關系呢和輸入脈沖個數有關系嗎
模就是計數器輸出的狀態數目,一定數目的觸發器所對應的模是一定的,如三個的,只能最大對應8個狀態,四個的就可以對應16個,和輸入的脈沖數沒有關系。
計數器在數字系統中主要是對脈沖的個數進行計數,以實現測量、計數和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。
(5)計數器的核心存儲元件為觸發器擴展閱讀
按邏輯功能不同分為:RS觸發器、D觸發器、JK觸發器、T觸發器。 按觸發方式不同分為:電平觸發器、邊沿觸發器和主從觸發器。按電路結構不同分為:基本RS觸發器和鍾控觸發器。 按存儲數據原理不同分為:靜態觸發器和動態觸發器。
按構成觸發器的基本器件不同分為:雙極型觸發器和MOS型觸發器。觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行。
觸發器經常用於加強數據的完整性約束和業務規則等。 觸發器可以從 DBA_TRIGGERS ,USER_TRIGGERS 數據字典中查到。照明配件用於高強度氣體放電燈(H.I.D)的啟動,型號繁多.由於高強度氣體放電燈啟動時需要一個高電壓來使氣體電離進入等離子態,因而需要一個高壓發生器做為啟動器
⑥ D觸發器構成十進制計數器原理
計數器實際上是對時鍾脈沖進行計數,每來一個脈沖,計數器狀態改變一次。
8421BCD碼十進制加計數器在每個時鍾脈沖作用下,觸發器輸出編碼值加1,編碼順序與8421BCD碼一樣,每個時鍾脈沖完成一個計數周期。由於電路的狀態數、狀態轉換關系及狀態編碼都是明確的,因此設計過程較簡單。
(6)計數器的核心存儲元件為觸發器擴展閱讀:
計數器在數字系統中主要對脈沖的個數進行計數,以實現測量、計數和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。
計數器可以用來顯示產品的工作狀態,一般來說主要是用來表示產品已經完成了多少份的折頁配頁工作。
⑦ 計算機最底層是用電來控制電子元器件以此表達二進制。那麼一串二進制代碼是怎麼讓計算機識別並執行的呢
一串二進制代碼實際上是按照每8位(1個位元組)為單位放在存儲器(內存)中的存儲單元中。
一個存儲單元是由一堆電子元器件組成的(核心的東西叫觸發器,學了數字電路就知道),具有存儲二進制信息的功能。
每個存儲單元都有一個唯一的地址(用2進制信息連通相應的線路(地址)就可以存取)。
CPU有專門的寄存器存放程序運行的地址,然後CPU根據這個地址去內存中取指(一些老的電腦一次取指就取16位二進制串,也就是2個位元組,然後將值存放在CPU的指令寄存器中。現在的I7指令長度不一定,電路要復雜些)。每次取指後CPU的程序計數器+2(老電腦,每條指令佔2個位元組)。
取指後,CPU分析指令,然後根據指令激活相應的電路(由很多電子元器件組成的集合,具有特定的功能,比如加法器、乘法器等等),電路輸出結果到CPU的通用寄存器中。
CPU進行下一次取指。
關於燈泡如何識別010這幾個數字,我嘗試著形象的解釋一下,比如說有一塊晶元,它由16個針腳,其中8個輸入,8個輸入,每個陣腳都可以接收0、1兩種不同的電平,這樣就形成了一個8位2進制數的輸入,根據輸入,晶元的門電路就會產生輸出(至於如何輸出可以根據你的需求進行設計)
有三種最基本的門電路,分別是:與門、非門、異或門。可以另行搜索一下他們的原理。
要是還不明白就去看一下數字電路,還有計算機概論這兩本書。
全部手打,望採納。。。
⑧ 把計數器電路原理說一下,謝謝
計數是一種最簡單基本的運算,計數器就是實現這種運算的邏輯電路,計數器在數字系統中主要是對脈沖的個數進行計數,以實現測量、計數和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。計數器在數字系統中應用廣泛,如在電子計算機的控制器中對指令地址進行計數,以便順序取出下一條指令,在運算器中作乘法、除法運算時記下加法、減法次數,又如在數字儀器中對脈沖的計數等等。計數器可以用來顯示產品的工作狀態,一般來說主要是用來表示產品已經完成了多少份的折頁配頁工作。它主要的指標在於計數器的位數,常見的有3位和4位的。
⑨ 觸發器是什麼意思在電工里起什麼作用
觸發器(Flip Flop)是一種可以存儲電路狀態的電子元件。最簡單的是由兩個與非門,兩個輸入端和兩個輸出端組成的RS觸發器。復雜一些的有帶時鍾(CLK)段和D(Data)端,在CLK端為高電平時跟隨D端狀態,而在CLK端變為低電平的瞬間鎖存信號的D觸發器。更常用的是兩個簡單D觸發器級聯而成的在時鍾下跳沿鎖存信號的邊緣D觸發器,廣泛應用於計數器、運算器、存儲器等電子部件
邏輯功能,是指觸發器的次態和現態及輸入信號之間在穩態下的邏輯關系。這種邏輯關系可以用特性表、特性方程或狀態轉換圖給出。
根據邏輯功能的不同特點,把觸發器分為RS、JK、T、D等幾種類型。
電路結構,是指電路中門電路的種類及組合方式。
基本RS觸發器、同步RS觸發器、主從觸發器、邊緣觸發器等是指電路結構的不同形式。由於電路結構形式的不同,帶來了各不相同的動作特點。
同一種邏輯功能的觸發器可以用不同的電路結構實現。反過來說,用同一種電路結構形式可以作成不同邏輯功能的觸發器。
⑩ 觸發器有什麼特點和優點
1。
在數字系統和計算機中,常常需要對數值進行算數運算或對二值量進行邏輯運算,並保存計算值或運算結果,因此,需要具有記憶功能的電路來實現這種要求。這種能夠存儲1位二值信息的單元電路稱之為觸發器(FF),它是在門電路基礎上引入適當的反饋構成的。觸發器具有記憶功能,可保存1位二值量,是時序邏輯電路的基本單元電路。
觸發器具有以下特點:
(1)觸發器有兩種能自行保持的穩定狀態,分別表示二進制數0和1或二值信息邏輯0和邏輯1。
(2)在適當的觸發信號作用下,觸發器可從一種穩定狀態轉變為另一種穩定狀態;當觸發信號消失後,能保持現有狀態不變。
根據電路結構不同,觸發器可分為基本觸發器、同步觸發器、主從觸發器、邊沿觸發器等。
根據控制方式不同(即信號的輸入方式以及觸發器狀態隨輸入信號變化的規律不同)觸發器可分為直接觸發器、同步觸發器、主從觸發器和邊沿觸發器。
按邏輯功能又可分為RS觸發器、D觸發器、JK觸發器、T觸發器等幾種類型。
2。觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行。觸發器經常用於加強數據的完整性約束和業務規則等。 觸發器可以從 DBA_TRIGGERS ,USER_TRIGGERS 數據字典中查到。
資料庫領域名詞:
觸發器可以查詢其他表,而且可以包含復雜的 SQL 語句。它們主要用於強制服從復雜的業務規則或要求。例如:您可以根據客戶當前的帳戶狀態,控制是否允許插入新訂單。
觸發器也可用於強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在這些表之間所定義的關系。然而,強制引用完整性的最好方法是在相關表中定義主鍵和外鍵約束。如果使用資料庫關系圖,則可以在表之間創建關系以自動創建外鍵約束
觸發器的優點:
觸發器可通過資料庫中的相關表實現級聯更改;不過,通過級聯引用完整性約束可以更有效地執行這些更改。觸發器可以強制比用 CHECK 約束定義的約束更為復雜的約束。與 CHECK 約束不同,觸發器可以引用其它表中的列。例如,觸發器可以使用另一個表中的 SELECT 比較插入或更新的數據,以及執行其它操作,如修改數據或顯示用戶定義錯誤信息。觸發器也可以評估數據修改前後的表狀態,並根據其差異採取對策。一個表中的多個同類觸發器(INSERT、UPDATE 或 DELETE)允許採取多個不同的對策以響應同一個修改語句
約束和觸發器在特殊情況下各有優勢。觸發器的主要好處在於它們可以包含使用 Transact-SQL 代碼的復雜處理邏輯。因此,觸發器可以支持約束的所有功能;但它在所給出的功能上並不總是最好的方法。實體完整性總應在最低級別上通過索引進行強制,這些索引或是 PRIMARY KEY 和 UNIQUE 約束的一部分,或是在約束之外獨立創建的。假設功能可以滿足應用程序的功能需求,域完整性應通過 CHECK 約束進行強制,而引用完整性 (RI) 則應通過 FOREIGN KEY 約束進行強制。在約束所支持的功能無法滿足應用程序的功能要求時,觸發器就極為有用。
3。數字電路領域名詞
學名「雙穩態多諧振盪器(Bistable Multivibrator)」。觸發器(Flip Flop)是一種可以存儲電路狀態的電子元件。最簡單的是由兩個或非門,兩個輸入端和兩個輸出端組成的RS觸發器(見圖)。復雜一些的有帶時鍾(CLK)段和D(Data)端,在CLK端為高電平時跟隨D端狀態,而在CLK端變為低電平的瞬間鎖存信號的D觸發器。更常用的是兩個簡單D觸發器級聯而成的在時鍾下跳沿鎖存信號的邊緣D觸發器,廣泛應用於計數器、運算器、存儲器等電子部件。
觸發器的電路結構和邏輯功能:
邏輯功能,是指觸發器的次態和現態及輸入信號之間在穩態下的邏輯關系。這種邏輯關系可以用特性表、特性方程或狀態轉換圖給出。
根據邏輯功能的不同特點,把觸發器分為RS、JK、T、D等幾種類型。
電路結構,是指電路中門電路的種類及組合方式。
基本RS觸發器、同步RS觸發器、主從觸發器、邊緣觸發器等是指電路結構的不同形式。由於電路結構形式的不同,帶來了各不相同的動作特點。
同一種邏輯功能的觸發器可以用不同的電路結構實現。反過來說,用同一種電路結構形式可以作成不同邏輯功能的觸發器。