77范文网 - 专业文章范例文档资料分享平台

数据库实验内容--答案(2)

来源:网络收集 时间:2018-12-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2.把对表sc的插入权授予给用户yy,并允许将此权限再授予其他用户 grant insert on sc to yy with option

3. 把在test数据库建表权限授予给用户yy。 grant create table to yy

4. 把查询表s和修改学生编号sno的权限授予给户yy。 grantselect,update(sno) on s to yy

5. 收回用户yy在test数据库中的建表权。 revoke create table from yy 6. yy用户拒绝对C表的查看权限 deny select on c to yy

实验八索引的创建与使用,默认与规则的创建

1. 使用sql语句在表course的cname字段上创建一个唯一性的聚集索引,索引排列顺序为降序。

create unique clustered index index1 on course(cnamedesc)

2. 使用sql语句在表course的credit字段上创建一个非唯一性的非聚集索引。 create nonclustered index index2 on course(credit)

3. 在sm数据库中创建一个学生性别的默认值,并将默认值捆绑到sm数据库表student的sex列上。 usesm

create default df1 as '女'

execsp_bindefault 'df1','student.sex'

4. 在sm数据库中定义规则,使用该规则的列的值被限制为必须大于0,并将规则捆绑到sm数据库表teacher的sal列上。

最后对表teacher执行插入语句,查看执行结果。 usesm

create rule rule1 as @x>0

execsp_bindrule 'rule1','teacher.sal'

实验九存储过程

1.在学生表中,根据姓名查询并显示该同学的信息,否则显示“查无此人”(使用if??else语句)

create proc p2(@sname varchar(20)) --创建存储过程 as

if exists( select * from student where sname=@sname) select * from student where sname=@sname else

print '查无此人'

exec p2 '刘燕' --执行存储过程 2. 查看并显示选修指定课程的人数。 create proc p3(@cno char(4)) as

declare @n int

select @n=count(sno) from sc where cno=@cno

print '有'+convert(varchar(10),@n)+'个人选修这门课'

exec p3 '1001'

3. 1+2+...+100(使用while语句) declare @iint,@s int set @i=1 set @s=0

while (@i<=100) begin

set @s=@s+@i set @i=@i+1 end print @s

4.使用case表达式,判断课程表中ctno列的值,如果为“00”,则显示“专业基础课”;如果为“01”,则显示“公共基础课”;如果为“02”,则显示“专业课”;否则显示“待定”。 select cno课程号, cname课程名,课程类型= casectno

when '00' then '专业基础课' when '01' then '公共基础课' when '02' then '专业课' else '待定' end

from course

5.给定学号,根据该学生的平均分,评定等级,90以上‘一等',80以上‘二等',70分以上'三等',其他'补考'

create proc p4 (@sno char(12)) as

declare @avg decimal

select @avg=AVG(score) from sc wheresno=@sno print(@sno+ case

when @avg>=90 then '一等' when @avg>=80 then '二等' when @avg>=70 then '三等' else '补考'

end

exec p4 '201320180305'

实验十触发器

s(sno,sname,ssex,sbirthday) c(cno,cname,credit,ctime,cnum) sc(sno,cno,score)

1.不允许向数据表s添加数据 create trigger tr1 on s

for insert as

print '任何人不得添加数据' rollback

create trigger tr1 on s

instead of insert as

select * from s

2.不允许修改数据表s中李四的数据

inserted 表格中保存了即将被添加的记录行,结构与原表相同 deleted 表格中保存即将被删除的记录行,结构与原表相同 修改数据相当于删除旧记录添加新记录 create trigger tr2 on s

for update as

if exists(select * from deleted where sname='李四') rollback

3.删除学生信息的同时删除该生的选课信息 create trigger tr3 on s

for delete as

delete from sc wheresno

in (select sno from deleted)

4.每添加一条选课记录,课程表中相应课程的选修人数加1 * create trigger tr4 onsc

for insert as

update c set cnum=cnum+1

wherec.cno = (select cno from inserted)

5. 每当添加、删除、修改s表中数据,相应班级人数进行更新 * s(sno,sname,ssex,sbirthday,clno)

class(clno,cnum)-- 班级表(班级号,班级人数)

create trigger tr5 on s

forinsert,delete,update as

update class set cnum=cnum+1

whereclass.clno=(select clno from inserted) update class set cnum=cnum-1

whereclass.clno=(select clno from deleted)

备注:查找的具体数据可以根据你所创建的具体表做相应调整

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库实验内容--答案(2)在线全文阅读。

数据库实验内容--答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/351108.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: