数据库上机作业

发布 2023-05-16 09:04:28 阅读 7862

实验目的。

通过使用ms sql server 2000企业管理器和sql语句完成完整性控制。

知识点拨:1. 完整性控制机制。

2. 完整性规则。

3. 实体完整性定义。

4. 参照完整性定义。

5. 用户定义完整性定义。

6. 完整性约束命名子句。

7. t-sql的流程控制。

8. 存储过程。

9. 触发器及其原理。

实验内容。1. 实体完整性定义。

2. 参照完整性定义。

3. 用户定义完整性定义。

4. 完整性约束命名子句。

5. 存储过程定义。

***存储过程定义格式:create proc procedure_name

[ 输入参数,局部变量的书写格式。

output ] 输出时需要。

n ] as sql_statement [ n ] sql语句。

***存储过程的使用:exec procedure_name 实参。

6. 触发器定义。

实验步骤。1. 三类完整性定义及完整性命名子句的使用:

1) 在实验2的实验内容4中,我们用企业管理器定义了jx中各表的一些约束,请在企业管理器中先将这些约束删除,然后再用修改表结构的语句进行约束的添加。

alter table teacher

drop constraint ck_grade

alter table teacher

add constraint ck_grade check (grade>=0 and grade <=100)

2) 在student表上定义约束,不允许同名学生的信息出现;

alter table student add constraint unique_s unique (sname)

3) 删除2)定义的约束;

alter table student

drop constraint unique_s

2. 触发器应用练习:

1) 创建触发器tri_restrictxk,以保证每门课的选课人数不超过10人;(提示:用instead of 触发器)

create trigger tri_restrictxk

on scinstead of delete,insert,update

as select cno

from sc

group by cno

h**ing count(distinct sno)<=10

2) 创建触发器tri_updateteacher,以保证在修改教师号时同时更新选课表中该教师的教师号;

create trigger tri_updateteacher

on teacher

for update

asdeclare @oldtno char(10),@newtno char(10)

select @oldtno=tno

from deleted

beginselect @oldtno=tno from inserted

update sc

set tno=repalce(tno,@oldtno,@newtno)

where tno like'%'oldtno+'%

end以下两题选做!!

3) 定义触发器tri_addtototal1,当在选课表中插入元组的成绩大于等于60分时在该同学的总学分上增加相应的学分值;

4) 定义触发器tri_addtototal2,当成绩由60分以下更新为60分以上,则在该同学的总学分上增加相应的学分值;

3. 存储过程应用练习:

1) 创建存储过程pro_selectbywy,用以查询外国语系学生的基本信息;

create proc pro_selectbywy

asselect *

from student

where sdept='is'

2) 创建存储过程pro_selectbydept,用以按照用户指定的系别查询该指定系学生的基本信息;

create proc pro_selectbydept(@sdept varchar(20))

asselect *

from student

where sdept=@sdept

3) 创建存储过程pro_addstudent,用以插入指定学号,姓名的信息;

create proc pro_addstudent(@sno char(10),@sname varchar(10))

as insert

into student(sno,sname)

values(@sno,@sname)

4) 创建存储过程pro_deletesc,用以删除指定学号的选课信息。

create proc pro_deletesc(@sno char(10))

asdelete

from student

where sno=@sno

数据库上机作业

语句查询数据 二 汇总查询 实验内容 1 打开 sql server management studio 窗口。2 单击 标准 工具栏的 新建查询 按钮,打开 查询编辑器 窗口3 在窗口中输入以下sql查询命令并执行 a.在kc表中,统计每学期的总分数。usexscjselect开课学期,count...

数据库上机作业

语句查询数据 二 汇总查询。打开 窗口。单击 标准 工具栏的 新建查询 按钮,打开 查询编辑器 窗口。在窗口中输入以下查询命令并执行 在表中,统计每学期的总分数。开课学期,学分 总学分 在表中统计每个学生的选修课程的门数。学号,课程号 选修的课程门数。统计表中的总学分,并显示明细信息。总学分。按开课...

数据库上机作业

2011年11月21日上机作业。1利用t sql语句,对教学库完成下列查询。1 检索所有姓王的学生的姓名和年龄。2 检索成绩为空值的学生学号和课程号。3 统计有学生选修的课程门数。4 统计每门课程的学生选修人数,超过3人的课程才统计,要求输出课程号和选修人数。5 检索选修2门以上课程的学生平均成绩 ...