数据库系统原理及应用shiyan.docx
《数据库系统原理及应用shiyan.docx》由会员分享,可在线阅读,更多相关《数据库系统原理及应用shiyan.docx(14页珍藏版)》请在冰豆网上搜索。
数据库系统原理及应用shiyan
《数据库系统原理及应用》课程实验
一、本实验课在培养实验能力中的地位及作用
数据库技术是一个理论和实际紧密联系的技术,而SQLserver2000则是数据库具体应用的一个数据库开发系统。
在学习过程中,除了解SQLserver系统的设计环境及各种工具的使用方法、数据库系统结构、数据库应用方法等知识外,通过实验对相关技术加深认识,切实加强学生的实践能力,是教学中一个重要且必要的环节。
并为其它信息系统专业课程奠定基础。
《网络数据库》是一门实践性很强的课程,只有通过上机实践才能真正领会教材中介绍的知识。
二、应达到的实验能力标准
本实验的教学目标是使学生掌握如何使用SQLserver2000数据库开发系统,了解数据库设计及相关操作的基本概念与方法,进而学会建立与组织、操作数据库。
上机实验的主要目标如下:
(1)通过上机操作,加深对数据库系统理论知识的理解。
(2)通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术。
(3)通过上机实验,能够编写简单的WEB应用程序并访问数据库,最后实现一定的功能。
(4)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。
三、实验主要内容
实验一SQLserver2000的安装及SQLserver2000常用工具的使用
(学时2)
要求:
掌握SQLserver2000的安装方法
掌握SQLserver2000常用工具的使用方法
实验二数据库的创建和管理
(学时2)
要求:
掌握SQLserver2000数据库的创建及使用方法
实验三数据库表的创建和管理
(学时2)
要求:
掌握SQLserver2000数据库的创建使用方法
实验四T-SQL语言
(学时4)
要求:
掌握SQL语言的函数功能及表中数据的查询和操纵方法
实验五SQLServer索引及视图的创建及使用
(学时2)
要求:
掌握索引的创建及调用
掌握视图的创建及调用
实验六SQLServer的触发器及事务处理
(学时2)
要求:
学会触发器的创建及使用
学会在查询分析器中建立事务
实验七SQLServer的存储过程及ODBC的创建
(学时2)
要求:
掌握存储过程的创建及调用
掌握ODBC的创建及配置
实验八SQLServer的安全性管理
(学时2)
要求:
通过实验理解SQLServer的安全性管理
四、实验成绩考核方法
实验成绩在课程总成绩中占10%,每次实验以百分记分,独立完成实验内容达到实验目的为100分,完成实验内容但对实验内容理解不清为60分,其他情况酌情定分。
最后计算平均分并乘以0.10加入总分中。
五、实验教材、参考资料
1.《SQLServer学习与上机实验指导》李春葆等清华大学出版社
2.《SQLSERVER数据库设计与应用案例训练教程》魏茂林等电子工业出版社
3.《SQLServer数据库应用系统开发技术实验指导及习题解答》朱如龙等编著机械工业出版社
实验附录:
上机实验一
1.练习安装SQLSERVER2000及卸载SQLSERVER2000。
2.停止和重新启动SQLSERVER2000服务管理器。
3.熟悉SQLSERVER企业管理器界面的各项功能,观察数据库的结构
4.管理器创建一个新的SQLServer服务器组,作为MicrosoftSQLServers的子对象,名称为“NewGroup”
5.计算机上再安装一个SQLServer命名实例,实例名为“people”。
使用企业管理器在NewGroup服务器组下创建一个新的SQLServer注册,使她连接people实例。
6.熟悉查询分析器各部分的功能,试在其中键入命令并观察结果
i.命令:
usepubs
ii.select*fromauthors
iii.select*fromtitleswheretype=’business’
7.熟悉其它组件的功能。
上机实验二
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,
filename=c:
\data\student1.ldf,
size=1,
maxsize=5,
filegrowth=1)
上机实验三
1.使用企业管理器的student的数据库创建一个名为pupil的表,要求:
(snochar(6)notnull,snamechar(10)notnull,ssexchar
(2)notnull,birthdaydatetimenotnull,politychar(20)),majorvarchar(20)
步骤:
a.
b.
c.
保存并命名为pupil即可。
d.
创建一个course表,其中表中有
course_id(varchar(20))课程编号,
course_name(varchar(30)),课程名称
course_character(varchar(20)),课程性质
course_teacher(varchar(20)),课任教师
course_time(int),课程时数
course_term(tinyint)上课学期
course_room(varchar(50)),上课学期
并在表中为每个字段加上适当的描述。
2.使用查询分析器创建一个名为pupil2的表,要求:
(snochar(6)notnull,snamechar(10)notnull,ssexchar
(2)notnull,birthdaydatetimenotnull,politychar(20))
3.修改表的结构
4.修改和删除数据信息,理解TruncateTable和Delete命令的区别
5.将pupil表的sno设置为主键。
上机实验四
1.例6.1,6.2,6.3,6.4,6.5和6.6
2.统计pupil表中的学生人数
3.统计sc表grade值最高的学生学号
4.对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
frompupil,sc,course
wherepupil.sno=sc.snoando=oandgrade<60
f.查询‘刘’姓学生的信息
select*frompupilwheresnamelike‘刘%’
g.查询polity为’团员’或’党员’的学生信息
select*frompupilwherepolityin(‘团员’,’党员’)
h.查询各门课程的选课人数
selectcno,count(sno)fromscgroupbycno
i.查询缺少成绩的学生的学号及课程号
selectsno,cnofromscwheregradeisnull
5.已知一个名为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语句将‘1986-1-1’以后出生的女同学记录删除。
Deletefrompupil
Wherepolity>’1986-1-1’andssex=’女’
6.对pupil表执行如下查询:
1.查询‘1985-1-1’到‘1988-12-31’期间出生的学生
2.查询专业为‘计算机科学与技术’,‘教育技术学’和‘网络工程专业’的学生。
3.查询出所有姓‘张’学生的情况
4.对所有学生按姓名排序,按学号排序,按出生日期排序;然后按降序排上述项。
7.
(1)查询与‘刘成’同一个系的学生情况
select*frompupilwheresdeptin(selectsdeptfrompupilwheresname=’刘成’))
(2)查询选修了课程名为‘MIS’的学生的学号和姓名
selectsno,snamefrompupilwheresnoin(selectsnofromscwherecnoin(selectcnofromcoursewnerecname=’MIS’))
7.查询’刘成’所选的所有课程情况
selecto,course.course_name,course_character,course.course_teacher,course_time,sc.grade
fromsc,course,pupilwherepupil.stuno=sc.snoando=course.course_idandpupil.stuname='刘成'
上机实验五
1.如何通过企业管理器创建索引?
步骤:
点击‘新建’按钮
点击