数据库系统概论王珊第五版学习笔记(4)

2019-08-31 09:33

as begin

select@saving=avg(grade) fromsc

wheresno=@sno groupbysno end

declare@avgint set@avg= 0

execavergrade'02',@avgout select@avg平均分

dropprocedureavergrade

3.函数。

函数必须返回指定类型,可以返回表,有输入参数。

创建成绩转换函数,实现百分制成绩与优、良、中、及格、不及格五个等级的换算.

CREATE FUNCTION grade_trans(@grade FLOAT) RETURNS CHAR(16) AS BEGIN

DECLARE @class CHAR(16) SELECT @class = CASE

WHEN @grade IS NULL THEN '还没参加考试' WHEN @grade < 60 THEN '不及格'

WHEN @grade >= 60 and @grade < 70 THEN '及格' WHEN @grade >= 70 and @grade < 80 THEN '中等' WHEN @grade >= 80 and @grade < 90 THEN '良好' ELSE '优秀!' END

RETURN(@class) END

select dbo.grade_trans(88)

查询某个院系所有学生所选的每门课的平均成绩。

createfunctionaver(@pchar(10))returnstable as return (

selectcno课程号,avg(grade)平均成绩

fromstudent,sc

wherestudent.sno=sc.snoandsdept=@p

select*fromdbo.aver('cs')

dropfunctionaver

groupbycno )

求某个院系选修了某门课的学生人数。

createfunctionpeople(@p0char(10),@p1char(4))returnsint as begin

declare@renshuint select@renshu=( )

return@renshu

selectCOUNT(*)选课人数 fromstudent,sc

wherestudent.sno=sc.snoandcno=@p1andsdept=@p0

end

selectdbo.people('cs','2')

dropfunctionpeople

4.触发器。

Create trigger XXX On table

[ for /after /instead of ] Insert,delete,update

As 触发器实际需要触发内容

For:用法同after

After:执行完sql语句之后进行检查,检查不符合条件的话回滚 roll back 。after触发器只能在表上指定。

Instead of:指定触发器时代替SQL语句执行的,其优先级高于触发语句的操作。 例:

为 student表建立触发器T1,当插入或更新表中的数据时,保证所操作的记录的sage值大于0。 createtriggerT1 onstudent

afterinsert,update as begin

declare@sageint

select@sage=inserted.sagefrominserted if(@sage< 0) begin

print'年龄错误' rollbacktransaction

end

end

updatestudent

setsage= 38 wheresno='01'

insertintostudent(sno,sname,ssex,sage,sdept) values('2007011','张三','男',55,'ma')

为student表建立触发器T2,禁止删除编号为“0001”的学生。 insertintostudent(sno,sname,ssex,sage,sdept) values('0001','傻大个','男',19,'is')

createtriggerT2 onstudent afterdelete as begin

declare@snochar(10)

select@sno=deleted.snofromdeleted if(@sno='0001')

begin

print'禁止删除学号0001信息' rollbacktransaction

end

end

deletestudent wheresno='0001'

droptriggerT2

第十章

1.事务。

是一系列的数据库操作,是数据库应用程序的基本逻辑单元。

是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割

的工作单元。 2.事务的四个特性。

原子性:事务是数据库的逻辑工作单位,事务总包括的诸操作要么全做,要么全不做。 一致性:数据库只包含成功事务提交的结果,就说数据库处于一致性状态。

隔离性:一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对

其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:指一个事务一旦提交,他对数据库中数据的改变就应该是永久性的。

事务是恢复和并发控制的基本单位。 3.数据库恢复。

把数据库从错误状态恢复到某一已知的正确状态的功能。

1. 运行事务非正常中断。 2. 数据丢失。

4.故障种类。

运行事务非正常中断----------恢复-事务撤销。 系统故障、介质故障、计算机病毒。

5.恢复实现技术。

数据恢复的基本原理:冗余。

建立冗余数据最常用的技术是数据转储和登记日志文件。

6.数据转储。

静态转储:是在系统中无运行事务时进行的转储操作。

动态转储:是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执

行。

海量转储:每次转储全部数据库。

增量转储:指每次只转储上一次转储后更新过的数据。

7.日志文件。

是用来记录事务对数据库的更新操作的文件。


数据库系统概论王珊第五版学习笔记(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人民警察礼仪1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: