数据库系统原理及应用shiyan
- 格式:doc
- 大小:1.59 MB
- 文档页数:23
《数据库系统原理及应用》课程实验一、本实验课在培养实验能力中的地位及作用数据库技术是一个理论和实际紧密联系的技术,而SQL server2000则是数据库具体应用的一个数据库开发系统。
在学习过程中,除了解SQL server系统的设计环境及各种工具的使用方法、数据库系统结构、数据库应用方法等知识外,通过实验对相关技术加深认识,切实加强学生的实践能力,是教学中一个重要且必要的环节。
并为其它信息系统专业课程奠定基础。
《网络数据库》是一门实践性很强的课程,只有通过上机实践才能真正领会教材中介绍的知识。
二、应达到的实验能力标准本实验的教学目标是使学生掌握如何使用SQL server2000 数据库开发系统,了解数据库设计及相关操作的基本概念与方法,进而学会建立与组织、操作数据库。
上机实验的主要目标如下:(1)通过上机操作,加深对数据库系统理论知识的理解。
(2)通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术。
(3)通过上机实验,能够编写简单的WEB应用程序并访问数据库,最后实现一定的功能。
(4)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。
三、实验主要内容实验一 SQL server2000的安装及SQL server2000常用工具的使用(学时 2)要求:掌握SQL server2000的安装方法掌握SQL server2000常用工具的使用方法实验二数据库的创建和管理(学时2)要求:掌握SQL server2000数据库的创建及使用方法实验三数据库表的创建和管理(学时2)要求:掌握SQL server2000数据库的创建使用方法实验四 T-SQL语言(学时 4)要求:掌握SQL语言的函数功能及表中数据的查询和操纵方法实验五 SQL Server索引及视图的创建及使用(学时 2)要求:掌握索引的创建及调用掌握视图的创建及调用实验六 SQL Server 的触发器及事务处理(学时 2)要求:学会触发器的创建及使用学会在查询分析器中建立事务实验七 SQL Server的存储过程及ODBC的创建(学时 2)要求:掌握存储过程的创建及调用掌握ODBC的创建及配置实验八 SQL Server的安全性管理(学时 2)要求:通过实验理解SQL Server的安全性管理四、实验成绩考核方法实验成绩在课程总成绩中占10%,每次实验以百分记分,独立完成实验内容达到实验目的为100分,完成实验内容但对实验内容理解不清为60分,其他情况酌情定分。
最后计算平均分并乘以0.10加入总分中。
五、实验教材、参考资料1.《SQL Server学习与上机实验指导》李春葆等清华大学出版社2.《SQL SERVER数据库设计与应用案例训练教程》魏茂林等电子工业出版社3.《SQL Server数据库应用系统开发技术实验指导及习题解答》朱如龙等编著机械工业出版社实验附录:上机实验一1.练习安装SQL SERVER 2000及卸载SQL SERVER 2000。
2.停止和重新启动SQL SERVER 2000服务管理器。
3.熟悉SQL SERVER企业管理器界面的各项功能,观察数据库的结构4. 管理器创建一个新的SQL Server服务器组,作为MicrosoftSQL Servers的子对象,名称为“NewGroup”5.计算机上再安装一个SQL Server命名实例,实例名为“people”。
使用企业管理器在NewGroup服务器组下创建一个新的SQL Server注册,使她连接people实例。
6.熟悉查询分析器各部分的功能,试在其中键入命令并观察结果i.命令:use pubsii.select * from authorsiii.select * from titles where type=’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, 增长速度为1 MB;文件存放路径为c:\data文件夹下。
Create database student1On primry(name=student1_data,:\data\student1.mdf,size=10,maxsize=unlimited,)log on(name=student1_log,:\data\student1.ldf,size=1, maxsize=5, )上机实验三1.使用企业管理器的student的数据库创建一个名为pupil的表,要求:(sno char(6) not null,sname char(10) not null,ssex char(2)not null,birthday datetime not null, polity char(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的表,要求:(sno char(6) not null,sname char(10) not null,ssex char(2) not null,birthday datetime not null, polity char(20))3.修改表的结构4.修改和删除数据信息,理解Truncate Table和Delete命令的区别5.将pupil表的sno设置为主键。
上机实验四1.例6.1, 6.2 ,6.3,6.4,6.5和6.62.统计pupil表中的学生人数3.统计sc表grade值最高的学生学号4.对pupil、sc、course三张表完成以下查询:a.查询所有学生的基本信息,并按出生日期升序排列select * from pupil order by polityb.查询女同学的信息和女同学的人数select * from pupil where ssex=’女’compute count(sno)c.查询所有男同学的年龄select year(getdate())-year(birthday) as 年龄from pupild.所有选课学生的姓名、选修课程名及成绩select sname,cname,gradefrom pupil,sc,coursewhere pupil.sno=sc.sno and o=oe.不及格学生的姓名select distinct snamefrom pupil,sc,coursewhere pupil.sno=sc.sno and o=o and grade<60f.查询‘刘’姓学生的信息select * from pupil where sname like ‘刘%’g.查询polity为’团员’或’党员’的学生信息select * from pupil where polity in(‘团员’,’党员’)h.查询各门课程的选课人数select cno ,count(sno) from sc group by cnoi.查询缺少成绩的学生的学号及课程号select sno,cno from sc where grade is null5. 已知一个名为pupil的表:(sno char(6) not null,sname char(10) not null,ssex char(2) not null,birthday datetime not null, polity char(20),sdept char(20) not null)a.利用insert语句向其中插入一条新的记录:(‘0007’,‘张三’,‘男’,‘1982-3-21’,‘团员’,’计算机系’)insert into pupilvalues(‘0007’,‘张三’,‘男’,‘1982-3-21’,‘团员’,‘计算机系’)b.利用update语句将编号为‘0004’的学生polity改为‘党员’:update pupilset polity=’党员’where sno=’0004’a.利用delete语句将‘1986-1-1’以后出生的女同学记录删除。
Delete from pupilWhere polity>’1986-1-1’ and ssex=’女’6.对pupil表执行如下查询:1.查询‘1985-1-1’到‘1988-12-31’期间出生的学生2.查询专业为‘计算机科学与技术’,‘教育技术学’和‘网络工程专业’的学生。
3.查询出所有姓‘张’学生的情况4.对所有学生按姓名排序,按学号排序,按出生日期排序;然后按降序排上述项。
7.(1)查询与‘刘成’同一个系的学生情况select * from pupil where sdept in(select sdept from pupilwhere sname=’刘成’))(2)查询选修了课程名为‘MIS’的学生的学号和姓名select sno,sname from pupil where sno in(select sno from scwhere cno in(select cno from course wnere cname=’MIS’)) 7.查询’刘成’所选的所有课程情况select o, course.course_name, course_character, course.course_teacher, course_time,sc.gradefrom sc, course,pupil where pupil.stuno=sc.sno and o=course.course_id and pupil.stuname='刘成'上机实验五1.如何通过企业管理器创建索引?步骤:点击‘新建’按钮点击‘确定’点击‘关闭’2.如何删除索引?选中该索引点击‘删除’即可或利用drop index 表名. 索引名完成删除3.利用create index为pupil表的sno字段建立簇索引。