999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

觸發器在數據庫課程教學中的應用研究

2021-11-24 18:46:45景偉娜陳紅軍段林羽
科技信息·學術版 2021年27期

景偉娜 陳紅軍 段林羽

摘要:數據庫應用系統對數據庫內的數據要求比較高,要求所設計的數據庫能保證一定程度的數據完整性,從而保證有關聯數據的一致性。本文中以MySQL中的DML觸發器應用在人事管理數據庫為例,介紹了如何利用觸發器實現表與表之間的數據一致性。

關鍵詞:觸發器;完整性;數據一致

一、引言

數據庫的完整性是指保護數據庫中數據的正確性、有效性和相容性,防止錯誤的數據進入數據庫造成無效操作,本部分內容在數據庫課程教學中屬于難點。本文主要介紹作為數據完整性實施的方法之一的觸發器在數據庫應用中(本文以人事管理應用系統為例)的使用以增強本知識塊的掌握。

二、觸發器介紹

MySQL中的DML觸發器通過用戶對數據庫中表的操作觸發,由于觸發器是由操作觸發的過程,因此可以利用觸發器進行維護表間數據的一致性。

創建觸發器的語法格式如下:

create trigger 觸發器名

before | after

insert | delete | update

on 表名

for each row

<觸發體>

觸發器名即創建的觸發器的名字;before | after即觸發時間,在操作前還是操作后觸發;insert | delete | update即對表進行的添加、刪除、更新的觸發操作;表名即在哪個表上進行的操作;for each row表示任何記錄執行對應操作都會觸發觸發器;觸發體里包含了觸發時要執行的SQL語句。

觸發器將沒有操作之前的狀態保存到old關鍵詞:中,將操作后的狀態保存到new關鍵詞:中,語法為old/new.字段名。需要注意的是,insert型觸發器只有new,new 表示將要(插入前)或者已經(插入后)增加的數據;update型觸發器既有old也有new,old表示更新之前的數據,new表示更新之后的數據;delete型觸發器只有old,old 表示將要(刪除前)或者已經(刪除后)被刪除的數據。

三、觸發器在人事管理中的應用

1、人事管理數據庫介紹

因篇幅所限,本文僅以2個數據表中部分字段介紹使用觸發器實現表間數據的一致性。

員工表,包含員工的編號、姓名、部門編號等。部門表,包含部門的編號,名稱等。兩個表的創建語句如下:

create table e (?????????? #員工表

e_no int(6)primary key, #編號

e_name varchar(12),?? #姓名

d_no int(4))?????????? #所在部門編號

create table d(?????????? #部門表

d_no int(4)primary key,#編號

d_name varchar(20))?? #名稱

2、觸發器在數據庫中的應用

(1)觸發器在數據添加時示例

delimiter @@

create trigger t_e_i

before insert

on e

for each row

begin

declare m varchar(20);

if new.d_no not in(select d_no from dept)then

select x into m;

end if;

end@@

delimiter ;

MySQL不能在insert觸發器中對本表直接進行insert、update、delete操作,也不能通過回滾事務取消操作,但如果觸發器的SQL語句執行過程中出現錯誤,會自動撤銷操作,曲線實現事務回滾。當往員工表中添加已存在部門編號的員工信息時,添加成功;添加不存在部門編號的員工信息時,添加失敗。

(2)觸發器在數據更新時示例

create trigger t_d_u

after update

on d

for each row

update e set d_no=new.d_no;

where d_no=old.d_no;

當把部門表中部門編號為0801修改為0802時,員工表中部門編號為0801的員工記錄中的部門編號也被修改為0802。

(3)觸發器在數據刪除時示例

create trigger t_d_d

after delete

on d

for each row

delete from e

where d_no=old.d_no;

當把部門表中部門編號為0802的部門記錄刪除時,員工表中部門編號為0802的員工記錄也被刪除。

四、總結

在數據庫設計時為了保持數據表中數據的一致性,可以采用觸發器作為實現方法之一。通過合理設計和使用觸發器,保證數據的完整性,以提高數據庫的安全性和完整性,但觸發器操作自動觸發的特點,也會給后期運行維護帶來風險。

參考文獻:

[1]陳志泊.數據庫原理及應用教程(第4版)[M].北京:人民郵電出版社,2019:276-279.

[2]李月軍 付良延.數據庫原理及應用(MySQL版)[M].北京:清華大學出版社,2021:111-113.

[3]陳虹.觸發器在學生成績管理數據庫中的應用研究[J].數碼設計,2021(20):85-88.

[4]沈黎.基于網絡數據庫的存儲過程和觸發器應用研究[J].西南師范大學學報,2016(41):51-55.

[5]李虎軍.SQL Server觸發器應用探析[J].電腦知識與技術,2016(16):13-15.

作者簡介:

景偉娜(1977-),女,河南襄縣人,碩士,副教授,研究方向:云計算技術及數據分析。

陳紅軍(1971-),男,河南葉縣人,碩士,副教授,研究方向:數據庫應用。

段林羽(2001-),男,山西呂梁人,本科,計算機科學與技術。

主站蜘蛛池模板: 欧美国产综合色视频| 色欲不卡无码一区二区| 亚洲Av综合日韩精品久久久| AV不卡在线永久免费观看| 国产SUV精品一区二区| 在线免费不卡视频| 综合网天天| 欧美成人午夜影院| 国产精品内射视频| 99在线观看视频免费| 久久狠狠色噜噜狠狠狠狠97视色| 国产色图在线观看| 91麻豆国产视频| 国产真实乱了在线播放| 国产麻豆福利av在线播放| 国产97区一区二区三区无码| 国产欧美日韩视频怡春院| 在线观看视频99| 成人中文字幕在线| 久久综合国产乱子免费| 欧洲亚洲欧美国产日本高清| 国内精品手机在线观看视频| 中文字幕永久在线看| 国内精品久久久久久久久久影视| 国产精品亚洲精品爽爽| 亚洲91精品视频| 青草娱乐极品免费视频| 九色在线视频导航91| 亚洲综合极品香蕉久久网| 97久久免费视频| 亚洲国产在一区二区三区| 国产成人精品无码一区二 | 国产一级毛片yw| 婷婷综合在线观看丁香| 精品亚洲欧美中文字幕在线看 | 亚洲一区二区在线无码 | 在线观看网站国产| 国产呦视频免费视频在线观看| 2021最新国产精品网站| 成人在线欧美| 国产经典免费播放视频| 久久香蕉国产线看观看精品蕉| 最新国产精品第1页| 婷婷亚洲最大| 久久免费精品琪琪| 九九热视频精品在线| 欧美亚洲激情| 美女潮喷出白浆在线观看视频| 中文字幕在线欧美| 黑人巨大精品欧美一区二区区| 亚洲一级毛片在线播放| 亚洲国产精品无码AV| 91探花国产综合在线精品| 黄色福利在线| 一级看片免费视频| 99ri精品视频在线观看播放| 欧美国产菊爆免费观看| 无码精品一区二区久久久| 久久semm亚洲国产| 国产一区在线视频观看| 亚洲AV无码不卡无码| 亚洲无码在线午夜电影| 国产永久无码观看在线| 国产日韩欧美精品区性色| 亚洲免费毛片| 国产欧美日韩va另类在线播放| 久久人搡人人玩人妻精品| 欧美亚洲一二三区| 国产超薄肉色丝袜网站| 久青草免费在线视频| 国产呦精品一区二区三区下载| 极品国产在线| 2019国产在线| 国产精品浪潮Av| 婷婷综合色| 亚洲一区二区视频在线观看| 亚洲中文字幕久久精品无码一区| 中文字幕精品一区二区三区视频 | 亚洲无码电影| 亚洲无码高清一区| 国产一区二区三区免费观看| 国产在线自乱拍播放|