SQL server课程实验Word文档下载推荐.docx
《SQL server课程实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SQL server课程实验Word文档下载推荐.docx(48页珍藏版)》请在冰豆网上搜索。
试验二数据库及表的创建和管理
掌握SQLserver2000数据库的创建及使用方法
掌握SQLserver2000数据库的创建使用方法
试验三约束的创建及使用
(学时2)
能用T—SQL语言及企业管理器创建约束
试验四表中数据的查询及维护
要求:
掌握表中数据的查询方法及操作方法
试验五Transact—SQL程序设计
掌握Transact—SQL程序设计的方法
掌握用户自定义函数的创建方法
试验六SQLServer视图及索引的创建及使用
掌握视图的创建及调用
掌握索引的创建及调用
试验七SQLServer的存储过程
掌握存储过程的创建及调用
试验八SQLServer的触发器
(学时4)
学会触发器的创建及使用
试验九SQLServer的安全性管理及代理服务
通过实验理解SQLServer的安全性管理及代理服务
试验十数据库的备份及恢复
(学时2)
要求:
学会如何备份及恢复数据库
实验十一SQLServer数据转换
掌握数据的导入\导出及DTS设计器的使用
四、实验成绩考核方法
实验成绩在课程总成绩中占20%,每次实验以百分记分,独立完成实验内容达到实验目的为100分,完成实验内容但对实验内容理解不清为60分,其他情况酌情定分。
最后计算平均分并乘以0.2加入总分中。
五、实验教材、参考资料
1.《SQLServer学习与上机实验指导》李春葆等清华大学出版社
2.《SQLSERVER数据库设计与应用案例训练教程》魏茂林等电子工业出版社
3.《SQLServer数据库应用系统开发技术实验指导及习题解答》朱如龙等编著机械工业出版社
六、实验项目汇总表
序号
内容
实验学时
实验一
SQLserver2000的安装及SQLserver2000常用工具的使用
4
实验二
数据库及表的创建和管理
实验三
约束的创建及使用
2
实验四
表中数据的查询及维护
实验五
Transact—SQL程序设计
实验六
SQLServer视图及索引的创建及使用
实验七
SQLServer的存储过程
实验八
SQLServer的触发器
实验九
SQLServer的安全性管理及代理服务
4
实验十
数据库的备份及恢复
实验十一
SQLServer数据转换
实验附录:
上机实验一
1.练习安装SQLSERVER2000及卸载SQLSERVER2000。
2.管理器创建一个新的SQLServer服务器组,作为MicrosoftSQLServers的子对象,名称为“NewGroup”
3.在计算机上再安装一个SQLServer命名实例,实例名为“people”。
使用企业管理器在NewGroup服务器组下创建一个新的SQLServer注册,使她连接people实例。
上机实验二
1.使用企业管理器创建名为student的数据库,并设置数据库主文件名为syudent_data,大小为10MB;
日志文件为student_log,大小为2MB.其他参数取默认值。
步骤:
a.
b.
c.
d.
2.使用Transact—SQL语言创建一个student1数据库,主文件逻辑名为student1_data,物理文件名为student1.mdf,为10MB,增长速度为10%;
数据库的日志文件逻辑名为syudent1_log,物理文件名为student1.ldf,初始化大小为1MB,最大尺寸为5MB,增长速度为1MB;
文件存放路径为c:
\data文件夹下。
Createdatabasestudent1
Onprimry
(name=student1_data,
filename=c:
\data\student1.mdf,
size=10,
maxsize=unlimited,
filegrowth=10%)
logon
(name=student1_log,
\data\student1.ldf,
size=1,
maxsize=5,
filegrowth=1)
3.在student数据库中创建一个名为pupil的表,要求:
(snochar(6)notnull,snamechar(10)notnull,ssexchar
(2)notnull,birthdaydatetimenotnull,politychar(20))
a.
b.
保存并命名为pupil即可。
上机实验三
1.将pupil表的sno设置为主键。
2.为sname字段设置惟一性约束。
3.为ssex和birthday设置检查性约束,要求ssex只能为‘男’或‘女’,birthday应该大于‘1987-1-1’。
4.
为polity字段设置默认约束,值为‘群众’。
5.再创建一个学生选课表sc(snochar(6)notnull,cnochar(10)notnull,gradereal).
为sc表创建外键约束,把sc表的sno和pupil表的sno关联起来,在这两个表之间创建一种制约关系。
最后保存该关系图即可。
上机实验四
1.已知一个名为pupil的表:
(snochar(6)notnull,snamechar(10)notnull,ssexchar
(2)notnull,birthdaydatetimenotnull,politychar(20),sdeptchar(20)notnull)
a.利用insert语句向其中插入一条新的记录:
(‘0007’,‘张三’,‘男’,‘1982-3-21’,‘团员’,’计算机系’)
insertintopupil
values(‘0007’,‘张三’,‘男’,‘1982-3-21’,‘团员’,‘计算机系’)
b.利用update语句将编号为‘0004’的学生polity改为‘党员’:
updatepupil
setpolity=’党员’
wheresno=’0004’
a.利用delete语句将‘186-1-1’以后出生的女同学记录删除。
Deletefrompupil
Wherepolity>
1986-1-1andssex=’女’
2.针对pupil、sc、course三张表完成以下查询:
a.查询所有学生的基本信息,并按出生日期升序排列
select*frompupilorderbypolity
b.查询女同学的信息和女同学的人数
select*frompupilwheressex=’女’
computecount(sno)
c.查询所有男同学的年龄
selectyear(getdate())-year(birthday)as年龄frompupil
d.所有选课学生的姓名、选修课程名及成绩
selectsname,cname,grade
frompupil,sc,course
wherepupil.sno=sc.snoando=o
e.不及格学生的姓名
selectdistinctsname
wherepupil.sno=sc.snoando=oandgrade<
60
f.查询‘刘’姓学生的信息
select*frompupilwheresnamelike‘刘%’
g.查询polity为’团员’或’党员’的学生信息
select*frompupilwherepolityin(‘团员’,’党员’)
h.查询各门课程的选课人数
selectcno,count(sno)fromscgroupbycno
i.查询缺少成绩的学生的学号及课程号
selectsno,cnofromscwheregradeisnull
j.查询与‘刘成’同一个系的学生情况
select*frompupilwheresdeptin(selectsdeptfrompupilwheresname=’刘成’))
k.查询选修了课程名为‘MIS’的学生的学号和姓名
selectsno,snamefrompupilwheresnoin(selectsnofromscwherecnoin(selectcnofromcoursewnerecname=’MIS’))
上机实验五
1.编写一个用户自定义函数fun_avggrade,要求根据输入的班级号和课程号,求此班级此课程的平均分。
Createfunctionfun_avggrade
(@classnumberaschar(10),@coursenumberaschar(10))
returnsreal
begin
declare@avgresult
select@avgresult=avg(grade)
fromsc
wheresubstring(sno,1,len(sno)-2)=@classnumberandcno=@coursenumber
return@avgresult
end
2.编写一个用户自定义函数,完成以下功能:
根据两个
输入参数(成绩上限和成绩下限),求sc数据表中满足输
入条件的学生人数。
Createfunctionfun_sumren
(@maxlinereal,@minlinerea