数据库系统原理及MySQL应用教程实验八触发器创建与管理

这篇具有很好参考价值的文章主要介绍了数据库系统原理及MySQL应用教程实验八触发器创建与管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验8:触发器创建与管理

一、实验目的

1.理解触发器的概念与类型。

2.理解触发器的功能及工作原理。

3.掌握创建、更改、删除触发器的方法。

4.掌握利用触发器维护数据完整性的方法。

二、实验内容

1.验证性实验:某同学定义产品信息product表,并对其触发器创建与管理

2.设计性试验:某同学定义产品信息product表,并对其触发器创建与管理

三、实验步骤与实验结果

(一)验证性实验

某同学定义产品信息product表,主要信息有:产品编号、产品名称、主要功能、生产厂商、c厂商地址,生成product表的SQL代码如下:

CREATE  TABLE  product (

id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,

name  VARCHAR(20)  NOT NULL ,

function  VARCHAR(50) ,

company  VARCHAR(20)  NOT NULL,

address  VARCHAR(50)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

在对product表进行数据操作时,需要对操作的内容和时间进行记录。于是定义了operate表,其表生成SQL语句为:

CREATE  TABLE  operate (

op_id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,

op_name  VARCHAR(20)  NOT NULL ,

op_tiem   TIME  NOT NULL

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

请完成如下任务:

1.在product表上分别创建BEFORE INSERT、AFTER UPDATE和AFTER DELETE3个触发器,触发器的名称分别为Tproduct_bf_insert、Tproduct_af_update和Tproduct_af_del。执行语句部分都是向operate表插入操作方法和操作时间。

(1)创建Tproduct_bf_insert触发器SQL代码如下:

CREATE  TRIGGER  Tproduct_bf_insert  BEFORE  INSERT

ON  product  FOR  EACH  ROW  

INSERT INTO  operate  VALUES(null, 'Insert product', now());

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

(2)创建Tproduct_af_update触发器的SQL代码如下:

CREATE  TRIGGER  Tproduct_af_update  AFTER  UPDATE

ON  product  FOR  EACH  ROW  

INSERT INTO  operate  VALUES(null, 'Update product', now());

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

(3)创建Tproduct_af_del触发器的SQL代码如下:

CREATE  TRIGGER  Tproduct_af_del  AFTER  DELETE

ON  product  FOR  EACH  ROW  

INSERT INTO  operate  VALUES(null, 'delete product', now());

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

2.对product表分别执行INSERT、UPDATE和DELETE操作,分别查看operate表。

(1)对product表中插入一条记录:1, 'abc','治疗感冒', '北京abc制药厂','北京市昌平区'

INSERT INTO product VALUES(1, 'abc','治疗感冒', '北京abc制药厂','北京市昌平区');

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

(2)更新记录,将产品编号为1的厂商住址:改为“北京市海淀区”。

UPDATE product SET address='北京市海淀区' WHERE id=1;

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

(3)删除产品编号为1的记录。

DELETE FROM product WHERE id=1;

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

3.删除Tproduct_bf_insert触发器

DROP TRIGGER Tproduct_bf_insert;

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

(二)设计性试验

1.在product表上分别创建AFTER INSERT、BEFORE UPDATE和BEFORE DELETE 3个触发器,  触发器的名称分别为product_af_insert、product_bf_update和Tproduct_bf_del。执行语句部分都是向operate表中插入操作方法和操作时间。

CREATE  TRIGGER  product_af_insert  AFTER  INSERT

ON  product  FOR  EACH  ROW  

INSERT INTO  operate  VALUES(null, 'Insert product', now());


CREATE  TRIGGER  product_bf_update  BEFORE  UPDATE

ON  product  FOR  EACH  ROW  

INSERT INTO  operate  VALUES(null, 'Update product', now());


CREATE  TRIGGER  Tproduct_bf_del  BEFORE  DELETE

ON  product  FOR  EACH  ROW  

INSERT INTO  operate  VALUES(null, 'delete product', now());

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

2.查看product_bf_del触发器的基本结构。

SELECT * FROM information_schema.TRIGGERS WHERE trigger_name='product_bf_del';

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

3.对product表分别执行如下INSERT、UPDATE和DELETE操作,分别查看operate表。

INSERT INTO product VALUES(2, '止血灵','止血', '北京止血灵制药厂','北京市昌平区');

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

UPDATE product SET address='天津市开发区' WHERE id=2;

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

 数据库实验八触发器,数据库实验报告,数据库,mysql,windows

DELETE FROM product WHERE id=2; 

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

 数据库实验八触发器,数据库实验报告,数据库,mysql,windows

4.删除product_bf_update触发器。

数据库实验八触发器,数据库实验报告,数据库,mysql,windows

四、观察与思考

1.能否在当前数据库中为其他数据库创建触发器?

答:能。

2.触发器何时被激发?

答:触发器主要是通过事件(增、删、改)进行触发被自动调用执行的。

五、实验要求

按要求完成,详细记录操作步骤,书写实验报告。所有实验环节均由每位学 生独立完成,认真记录操作过程,严禁抄袭他人实验结果。

六、实验总结

通过本次实验了解了触发器的作用,学习了怎么使用触发器,关于表增加修改和删除的时候触发器的工作方式。触发器是一个功能强大的工具。可以使多个不同的用户能够在保持数据完整性和一致性的良好环境进行修改操作。文章来源地址https://www.toymoban.com/news/detail-759043.html

到了这里,关于数据库系统原理及MySQL应用教程实验八触发器创建与管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 书店销售管理系统----数据库原理及应用综合实验

    枯木逢春犹再发,人无两度再少年🍂 系统主要模块如下: (1) 书店销售管理系统设计与实现—图书入库管理及查询统计 图书入库管理:维护入库图书信息(如图书编号、书名、作者、价格、图书分类、出版社等)。自动计算库存。 图书查询统计:按图书分类,出版社、书

    2024年02月06日
    浏览(46)
  • 数据库系统原理与应用教程(014)—— 关系数据库练习题(一)

    1、试述关系模型的三要素和关系操作语言的特点。 答案: 关系模型的三要素为数据结构、关系操作和完整性约束。在关系模型中,无论是实体集还是实体集之间的联系都是由关系表示的。 关系操作语言的特点:(1)关系操作的方式是一次一集合方式。(2)关系操作语言是

    2024年02月02日
    浏览(44)
  • ​数据库原理及应用上机(实验二 SQL数据定义功能实验)

    ✨ 作者:命运之光  ✨ 专栏:数据库原理及应用上机实验   目录 ✨一、实验目的和要求 ✨二、实验内容与步骤 ✨三、附加练习 ✨四、实验总结 🍓🍓 前言:   数据库原理及应用上机实验报告的一个简单整理后期还会不断完善 🍓🍓 1.掌握利用SQL查询分析器和企业管理

    2024年02月05日
    浏览(44)
  • 数据库原理及应用实验报告-实验10-触发器

     实验题目   实验 10触发器    10.1 实验目的 通过实验使学生加深对数据完整性的理解,学会理解、创建和使用触发器。 10.2 实验内容   (用实验9的Teacher表) (1) 为 Teacher 表建立触发器T1,当插入或使更新表中的数据时,保证所操作的纪录的 Tage 值大于0。 (2) 为 Teacher 表建立

    2024年02月05日
    浏览(50)
  • 数据库原理及应用实验报告-实验4-SQL的视图

    实验目的 熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和删除视图。 实验内容 定义常见的视图形式,包括: 行列子集视图 WITH CHECK OPTION的视图 基于多个基表的视图 基于视图的视图 带表达式的视图 分组视图 通过实验考察WITH CHEC

    2023年04月26日
    浏览(51)
  • 《数据库原理MySQL》第四次上机实验

    一、连接查询 1.查询女学生的学生学号及总成绩 2.查询李勇同学所选的课程号及成绩 3.查询李新老师所授课程的课程名称 4.查询女教师所授课程的课程号及课程名称 5.查询姓“王”的学生所学的课程名称 6.查询选修“数据库”课程且成绩在 80 到 90 之间的学生学号及成绩 7.查

    2024年02月05日
    浏览(46)
  • 大数据技术原理与应用实验3——NoSQL和关系数据库的操作比较

    (1)理解四种数据库(MySQL、HBase、Redis和MongoDB)的概念以及不同点; (2)熟练使用四种数据库操作常用的Shell命令; (3)熟悉四种数据库操作常用的Java API。 (1)Linux操作系统(CentOS7.5) (2)VMware Workstation Pro 15.5 (3)远程终端工具Xshell7 (4)Xftp7传输工具 (5)Hadoop版本:

    2024年02月02日
    浏览(42)
  • MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告

    普通用户:可以进行最基础的登陆操作,可浏览图书、按类别查询图书、查看 图书的详细信息,还可以注册成为会员。 会员:需要填写详细信息(真实姓名、性别、手机号、地址、邮箱等),可浏览图书、按类别查询图书、查看图书的详细信息,在此基础上,还可以订购图

    2024年02月04日
    浏览(72)
  • 数据库应用:数据库管理系统与安装MySQL数据库

    目录 一、理论 1.数据库管理系统 2.关系型数据库 3.数据库 4.MySQL数据库 5.MySQL部署 二、实验 1.yum安装MySQL 2.编译安装MySQL 3.配置MySQL数据库的Tab补全  三、问题 1.数据库登录报错 2.数据库密码复杂度报错 3.数据库连接报错 四、总结 (1)概念 数据库管理系统(Database Management

    2024年02月13日
    浏览(55)
  • 《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著

    答案有文档形式,但是csdn必须要下载,,需要的人就去那里下载吧。《MySQL数据库原理、设计与应用》课后习题及答案黑马程序员编著 一、 填空题 1.关系型数据库的标准语言是_ SQL _。 2.数据库发展的3个阶段中,数据独立性最高的是_ 数据库系统 _阶段。 3.概念模型中的3种基

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包