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-),男,山西呂梁人,本科,計算機科學與技術。

主站蜘蛛池模板: 国产一区二区网站| 最新精品久久精品| 91亚洲国产视频| 国产91蝌蚪窝| 美女内射视频WWW网站午夜| 国产精品99r8在线观看| 日韩欧美视频第一区在线观看| a毛片免费在线观看| 亚洲伊人天堂| 久久精品aⅴ无码中文字幕 | 999国内精品视频免费| 伊人久久婷婷| 1769国产精品免费视频| www.国产福利| 亚洲美女一区| 国产微拍精品| 欧美第一页在线| 欧美日韩在线第一页| 天堂网亚洲系列亚洲系列| 国产剧情伊人| 91小视频在线播放| 国产色婷婷视频在线观看| 欧美午夜网站| 中文字幕1区2区| 99热这里只有精品免费| 91视频青青草| 免费在线观看av| 亚洲天堂精品视频| 欧美性久久久久| 欧美另类一区| 一本大道香蕉中文日本不卡高清二区| 国产麻豆精品久久一二三| 四虎影视库国产精品一区| 看国产毛片| 国产精品欧美日本韩免费一区二区三区不卡| 少妇极品熟妇人妻专区视频| 一级黄色片网| 亚洲 日韩 激情 无码 中出| 永久免费无码成人网站| 精品免费在线视频| 毛片久久网站小视频| 欧美日韩国产一级| 女人18毛片久久| 亚洲人成网站18禁动漫无码| a毛片免费看| 欧美日韩精品综合在线一区| 亚洲成人在线免费观看| 国产一区免费在线观看| 精品国产污污免费网站| 日韩毛片免费视频| 国产亚洲精品在天天在线麻豆| 人妻少妇久久久久久97人妻| 精品福利视频网| 中文天堂在线视频| 亚洲精品天堂自在久久77| 亚洲欧洲日韩综合色天使| 午夜国产小视频| 毛片最新网址| 久久国产精品嫖妓| 亚洲综合精品第一页| 一区二区三区国产精品视频| 日本免费福利视频| 国产成人精品一区二区免费看京| 97久久免费视频| 亚洲AV人人澡人人双人| 亚洲欧洲日韩综合| 在线日本国产成人免费的| 青青青伊人色综合久久| 99re66精品视频在线观看| 国产欧美精品午夜在线播放| 久久精品国产精品青草app| 国产原创自拍不卡第一页| 亚洲视频免费在线看| 亚洲精品在线91| 亚洲an第二区国产精品| 欧美综合区自拍亚洲综合绿色| 国产丝袜啪啪| 欧美影院久久| 九九热视频精品在线| 草草线在成年免费视频2| 国产精品黄色片| 国产成人三级在线观看视频|