数据库实验8指导书

归元胶囊 实验题目:事务定义
实验目的:掌握事务的定义、提交、回滚等命令,通过这些命令的使用进一步理解事务的概念和性质。 
实验内容及要求:(从下面10个题目中选一个)
题目一:
学生(学号,年龄,性别,系名)番茄加速
课程(课号,课名,学分,学时)
机器人焊接系统选课(学号,课号,成绩)
定义一个事务,完成下列步骤:
1按学号取某学生平均成绩,若平均成绩小于60,给该生每门课增加5分直至其平均成绩及格(每增一次显示一次)。
2显示该生各科成绩。
3 若该生有成绩超过95分,取消上述操作。
4提交后显示该生各科成绩。
题目二:
图书(书号,书名,价格,出版社)
读者(卡号,姓名,年龄,所属单位)
借阅(书号,卡号,借阅日期)
定义一个事务,完成下列步骤:
1计算图书平均价格,若平均价格小于20,给每本书增加一元,直至其平均价格超过20(每增一次显示一次)。
2显示所有图书名称 、价格。
3 若有书超过50元,取消上述操作。
4提交后显示图书价格。
题目三:
商品(编号,品名,进价,库存,售价,厂商编号)
顾客(卡号,姓名,电话,积分)
厂商(编号,厂址,名称、电话)
销售(顾客卡号,商品编号,数量,日期)
定义一个事务,完成下列步骤:
1按编号取某厂商出产的商品平均价格,若平均价格小于20,给每种商品增加一元,直至其平均价格超过20(每增一次显示一次)。
2显示所有商品名称 、价格。
sysloader
3 若有超过100元的,取消上述操作。
4提交后显示该厂商的各种商品和价格。
题目四:
图书(书号,书名,作者编号,价格,出版社编号)
作者(编号,姓名,电话)
出版社(编号,出版社名称,地址)
定义一个事务,完成下列步骤:
1按出版社编号取其出版的图书平均价格,若平均价格小于20,给每本书增加一元,直至其平均价格超过20(每增一次显示一次)。
2显示该出版社所有图书名称 、价格。
3 若有书超过50元,取消上述操作。
4提交后显示该出版社的图书价格。
题目五:
零件(编号,名称,颜)
车间(编号,名称,人数,主任)
产品(编号,名称,类型)
生产(产品编号,生产车间编号)
使用(产品编号,使用零件编号,个数)
定义一个事务,完成下列步骤:
1统计车间平均人数,若平均人数小于30,给每个车间增加2人,直至其平均人数超过uuu1630(每增一次显示一次)。
2显示所有车间信息。
3 若有超过80人的车间,取消上述操作。
4提交后显示车间信息。
题目六:
药品(编号,名称,价格,厂商)
处方(药品编号,数量,医生编号)
医生 (编号,姓名,科室,职称)
定义一个事务,完成下列步骤:
1统计药品平均价格,若平均价格小于20,给每种药增加一元,直至其平均价格超过20(每增一次显示一次)。
2显示所有药品名称 、价格。
3 若有药品超过50元,取消上述操作。
4提交后显示药品价格。
题目七:
学生(学号,年龄,性别,系名)
教材(编号,书名,出版社编号,价格)
订购(学号,书号,数量)
出版社(编号,名称,地址)
定义一个事务,完成下列步骤:
1按学号查其订购所有教材平均价格,若平均价格小于20,给每本书增加一元,直至其平均价格超过20(每增一次显示一次)。
2显示该生订购得教材名称 、价格。
3 若有书超过50元,取消上述操作。
4提交后显示该生订购的教材价格。
题目八:
员工(编号,姓名,性别,年龄,部门编号,年薪)
部门(编号,名称,人数,负责人)
项目(编号,名称,负责部门编号)
定义一个事务,完成下列步骤:
1统计各部门平均人数,若平均人数小于30,给每位职工年薪增加1000
2显示所有员工信息。
3 若有年薪超过2万的,取消上述操作。
4提交后显示员工信息。
题目九:
帐户(编号,姓名,余额,建立日期,储蓄所编号)
储蓄所(编号,名称,地址,人数,所属城市)
借贷(帐户,借贷类型,金额,日期)
1统计储蓄所平均人数,若平均人数小于30,给每个所增加2人,直至其平均人数超过30(每增一次显示一次)。
2显示所有储蓄所信息。
3 若有超过80人的车间,取消上述操作。
4提交后显示储蓄所信息。
题目十:
仓库(编号,保管员编号,面积)
保管员(编号,姓名,年龄,电话、月薪)
商品(编号,品名,仓库编号、数量,单价)
1按仓库编号取其保管员平均年薪,若小于3000,增加500,直至平均3000以上
2显示所有保管员信息。
3 若有超过10000元的,取消上述操作。
4提交后显示保管员信息。
实验指导
1 有关事务处理的语句:
BEGIN TRANSACTION  建立一个事务
COMMIT TRANSACTION 向系统提交事务
ROLLBACK TRANSACTION 在事务提交之前回滚
SAVE TRANSACTION 在事务内部建一个存储点   
例1 :
BEGIN  TRANSCATION  DEMO
SELECT *  FROM  DISCOUNT
SAVE  TRANSCATION  SAVE_DEMO
INSERT DISCOUNT  VALUES (‘DEMO’  ,NULL , NULL ,20 ,0)
SELECT  *  FROM  DISCOUNT
ROLLBACK  TRANSACTION  SAVE_DEMO
COMMIT TRANSACYION
SELECT  *  FROM  DISCOUNT
例2
DECLARE @TranName VARCHAR(20)
SELECT @TranName = 'MyTransaction'
 
BEGIN TRANSACTION @TranName
GO
USE pubs
GO
UPDATE roysched
SET royalty = royalty * 1.10
WHERE title_id LIKE 'Pc%'
GO
 
COMMIT TRANSACTION MyTransaction
GO
2 循环控制
WHILE Boolean_expression
    {sql_statement | statement_block}
    [BREAK]
    {sql_statement | statement_block}
    [CONTINUE]
例1 :
USE pubs
GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGIN
    UPDATE titles
        SET price = price * 2
    SELECT MAX(price) FROM titles
    IF (SELECT MAX(price) FROM titles) > $50
        BREAK
    ELSE
        CONTINUE
END
PRINT 'Too much for the market to bear'
实验报告要求:透射电镜样品制备
1 按要求写出事务定义的步骤。
2给出 测试数据、执行结果
3 遇到的问题和解决方法
注意事项:
多种测试结果

本文发布于:2024-09-21 21:49:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/200747.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编号   事务   名称   平均价格   显示
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议