《《数据库原理与应用》实验教学大纲.doc》由会员分享,可在线阅读,更多相关《《数据库原理与应用》实验教学大纲.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理与应用实验教学大纲(2014-2015学年第二学期修订)一、 课程名称:数据库原理与应用( Theory and Application of Database System) 二、 课程编码:三、课程目标和基本要求:数据库原理与应用是计算机相关专业的一门重要专业课。实验环境选用Microsoft SQL Server 2008。通过本课程的上机操作,使学生熟练掌握Microsoft SQL Server 2008环境中基本系统维护操作、SQL的命令和操作以及数据库安全、数据库设计和编程的命令和操作,培养学生进行数据库系统维护和数据库应用系统开发的基本能力。四、课程总学时: 66 学
2、时理论:48学时;实验: 18学时五、课程总学分: 3.5 学分六、 适用专业:信息管理与信息系统、计算机科学与技术、计算机科学与技术(专升本)、网络工程等。七、 实验项目汇总表:序号实验编号实验名称时数实验类别实验类型实验要求每组人数实验一1数据库的创建、备份和恢复2专业验证必做1实验二2SQL的数据定义和数据更新4专业验证必做1实验三3SQL的查询6专业综合必做1实验四4视图和数据库安全2专业综合必做1实验五5数据库设计和编程4专业综合必做1八、 大纲内容:实验一 数据库的创建、备份和恢复实验目的和要求1 了解SQL Server的数据备份和恢复机制;2 掌握SQL Server的数据备份
3、和恢复的方法。 实验内容1数据库的创建在SQL Server Management studio中创建“学生-课程”数据库SC_学号(同学们自己的学号)2. 数据库的备份恢复方法1通过执行SQL语句恢复数据库中的表和数据,通过把SQL语句保存为.sql文件作备份。1)选中数据库“SC_学号”,右键菜单中选择“新建查询”;2)将下面一段SQL语句复制到该查询窗口中;CREATE TABLE Student(Sno CHAR(5) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),);CREATE
4、 TABLE Course(Cno CHAR(5) PRIMARY KEY,Cname CHAR(20),Cpno CHAR(2),Ccredit SMALLINT,);CREATE TABLE SC(Sno CHAR(5),Cno CHAR(5),Grade SMALLINT,PRIMARY KEY(Sno,Cno),);INSERT INTO Student(Sno,Sname,Ssex,Sage,Sdept)VALUES(95001,李勇,男,20,CS);INSERTINTO StudentVALUES(95002,刘晨,女,19,IS);INSERTINTO StudentVALUE
5、S(95003,王敏,女,18,MA);INSERTINTO StudentVALUES(95004,张立,男,19,IS);3)执行工具栏中的“执行”命令。4)单击“文件”菜单,选择“另存”将编辑窗口中命令保存在.sql文件中。3. 数据库的备份恢复方法2备份还原1)、将“学生-课程”数据库备份到某一存储器(硬盘、软盘或U盘)上;在SQL Server Management studio中选中数据库“SC_学号”,右键菜单中选择“任务”“备份”。2)、在实验机器上,在SQL Server Management studio中将的“学生-课程”数据库删除;3)、将某一存储器(硬盘、软盘或U盘)
6、上的该数据库备份恢复到实验机器上。在SQL Server Management studio中选中数据库文件夹,右键菜单中选择“还原数据库”,注意,目标数据库必须与备份的数据库同名,还原的源选“源设备”,然后指定文件夹和备份文件。4. 数据库的备份恢复方法3分离附加1)将“学生-课程”数据库分离;在SQL Server Management studio中选中数据库“SC_学号”,右键菜单中选择“任务”“分离”。2)将数据文件(SC-学号.mdf)和日志文件(sc-学号.ldf)复制到目的位置(硬盘、软盘或U盘);如果DBMS安装在C盘,数据文件的默认文件夹为c:Program FilesMi
7、crosoft SQL ServerMSSQL.1MSSQLData。3)、在实验机器上,在SQL Server Management studio中将的“学生-课程”数据库删除;4)将要还原的数据库的数据文件(SC-学号.mdf)和日志文件(sc-学号.ldf)附加为名为“sc-学号-2”的数据库。在SQL Server Management studio中选中数据库文件夹,右键菜单中选择“附加”,注意,要附加的数据库中“附加为”可以将数据库改名。 实验思考题1.上述三种备份还原方法各适用于哪些情况?2.预习实验二,如果实验二中内容1、2和内容3、4在实验室做不完,你准备采取哪种方法备份数据
8、以使下次实验继续进行,而不需重头做?实验二 SQL的数据定义和数据更新实验目的和要求1掌握SQL Server Management Studio中以SQL命令方式和以向导方式操作表和数据的操作;2掌握SQL的数据定义命令,包括:定义表、删除表和修改表以及建立索引和删除索引;3掌握SQL的数据更新命令,包括:插入数据、修改数据和删除数据。 实验内容1 在SQL Server Management Studio中建立数据库“学生-课程”数据库MyDb;2 在SQL Server Management Studio中以SQL命令方式实现以下要求:1)创建表Student、Course和SC,并为每
9、个表定义主键约束;Student(Sno,Sname,Ssex,Sage,Sdept)Course (Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)2) 分别向三个表中插入以下数据;表StudentSnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS表CourseCnoCnameCpnoCcredit1数据库542数学 23信息系统144操作系统635数据结构746数据处理27C语言64表SCSnoCnoGrade9500119295001285950013889500229
10、0950023803)修改数据;将表Student中所有学生的年龄加2岁。将表SC中所有学生的成绩降低10%。4)删除数据;将表Student中Sno为95004的学生信息删除。3 SQL Server Management Studio中建立数据库“图书读者”数据库;4 SQL Server Management Studio中以向导方式实现以下要求:1)创建表图书、读者和借阅,并为每个表定义主键约束;图书(书号,类别,出版社,作者,书名,定价,出版数量)读者 (读者编号,姓名,单位,性别,电话)借阅(书号,读者编号,借阅日期)2)定义借阅表与图书表之间以及借阅表与读者表之间的键约束;3)
11、分别向每个表中插入至少5行模拟数据;4) 修改借阅表,增加“归还日期”字段;5) 修改借阅表主键;实验思考题在完成要求4的过程中,分别向图书表、读者表和借阅表中插入数据时,可以随意向任何一张表中添加数据吗?请分析并解释其中的原因。实验三 SQL的查询实验目的和要求1 掌握SQL Server Management Studio中SQL查询操作;2 掌握SQL的单表查询命令3 掌握SQL的连接查询操作4 掌握SQL的嵌套查询操作5 掌握SQL的集合查询操作实验内容1、 对学生-课程数据库,应用SQL语句实现以下查询要求:1) 查询数学系学生的学号和姓名;2) 查询选修了课程的学生学号;3) 查询
12、选修了1号课程的学生学号和成绩,并要求结果按成绩降序排列,如果成绩相同,则按学号升序排列;4) 查询选修了1号课程且成绩在8090分之间的学生学号和成绩,并将成绩乘以系数0.8输出;5) 查询数学系或计算机系姓张的学生的信息;6) 查询缺少了成绩的学生的学号和课程号;7) 查询每个学生的情况以及他(她)所选的课程;8) 查询学生的学号、姓名、选修的课程名称及成绩;9) 查询选修了“数据库”课程且成绩在90分以上的学生学号、姓名和成绩;10) 查询每门课程的间接先行课的课程名称;2对学生-课程数据库,应用嵌套查询实现以下查询要求:(1) 查询选修了“高等数学”的学生学号和姓名;(2) 查询“高等
13、数学”的成绩高于张三的学生学号和成绩;(3) 查询其他系中年龄小于计算机系年龄最大者的学生;(4) 查询其他系中比计算机系学生年龄都小的学生;(5) 查询选修了“信息系统”课程的学生姓名;(6) 查询没有选修“信息系统”课程的学生姓名;(7) 查询选修了全部课程的学生姓名;(8) 查询至少选修了学号为“95002”的学生所选修的全部课程的学生学号和姓名;3对图书读者数据库,应用SQL语句实现以下查询要求:(1) 查询计算机类和机械工业出版社出版的图书。(2) 查询“机械工业出版社”出版的各类图书的平均定价,用GROUP BY 表示(3) 查找这样的图书类别:要求类别中最高的图书定价不低于全部按
14、类别分组的图书平均定价的2倍;(4) 列出计算机类图书的书号、名称及价格,最后给出总册数和总价格;(提示:可以使用Compute子句最简便地实现)(5) 列出各出版社计算机类图书的具体书号、名称、价格和销售数量,并求出各出版社这类书的平均价格和销售总量。(提示:可以使用Compute by子句最简便地实现)6 创建教材P127习题4中的SPJ数据库,在其中定义S、P、J、和SPJ表,并插入模拟数据,写出SQL命令实现习题4和习题5。实验思考题对上述查询要求的实现进行总结,并对单表查询、连接查询、嵌套查询以及集合查询进行比较。实验四、视图和数据库安全实验目的和要求1 理解SQL的视图以及与基本表
15、的区别;2 掌握SQL视图的定义、查询、更新。3、掌握SQL Server中有关用户、权限的管理方法。4、掌握SQL语言的控制功能5、加深对数据库安全性的理解实验内容一对学生数据库,应用SQL语句实现以下要求:1)、建立男学生的视图(Male_Student),属性包括学号、姓名、选修课程名和成绩。2)、在男学生视图中查询平均成绩大于80分的学生学号与姓名。3)、对男学生视图的数据进行修改。将“95001”学号的学生姓名改为“李咏”;将“95001”学生选修“数据库”的成绩改为“95”;4)统计每个学生有成绩的课程门数、平均成绩。二对图书读者数据库,应用SQL语句或企业管理器实现以下要求:1)
16、、建立读者借阅视图(READER_BOOKS),属性包括读者编号、读者姓名、所借书号、书名、类别、出版社、借阅日期、归还日期);2) 、在该视图中查询张三读者所借阅的全部书籍的书名、类别以及借阅日期和归还日期; 3)、统计每个读者各类别书籍的借阅总数。三. 两个同学(分别称为同学甲和同学乙)合作,完成下述实验要求。(一)同学甲的计算机作为SQL Server数据库服务器,同学乙的机器作为客户端,需要访问该服务器上的数据库“mydb_同学甲学号”中的数据。1同学甲在自己的计算机(即服务器)上为同学乙的计算机新建一个登录,访问服务器上的数据库“mydb_同学甲学号”:1)同学甲在自己的计算机(即服
17、务器)上启动MS SQL SERVER MANAGEMENT STUDIO,以Winiodows身份验证的方式连接到SQL Server引擎;2)在“安全性”中创建一个登录,登录名为:“L_同学乙学号”,并设置密码,默认连接的数据库是同学甲在实验二创建的“Mydb_同学甲学号”;2同学甲在自己的计算机(即服务器)上对数据库“mydb_同学甲学号”新建一个用户为同学乙:1)同学甲在自己的计算机(即服务器)上展开“数据库”中“Mydb_学号”数据库,新建一数据库用户,登录名为“L_同学乙学号”,用户名为“L_同学乙学号”;3同学乙在自己的计算机(即客户端)上以“SQL Server身份验证”方式登
18、录服务器(即同学甲计算机),用户名为“L_同学乙学号” ,并执行对服务器(即同学甲计算机)中数据的查询和插入操作:1)同学乙在自己的计算机(即客户端)上选择“连接网络服务器”,找到同学甲计算机名,以“SQL Server身份验证”方式连接到服务器,登录名和密码分别是“L_同学乙学号”和密码;2)连接服务器成功后,展开该服务器中的数据库文件夹,打开数据库“Mydb_同学甲学号”;3)新建查询,执行如下SQL语句,观察并记录执行结果;(A) select * from Student;(B) Insert into StudentValues (95099,李勇,男,20,计算机系);4同学甲在自
19、己的计算机(即服务器)上对同学乙用户进行授权,使其具有对数据库“Mydb_同学甲学号”中的表student进行查询的权限:1)同学甲在自己的计算机(即服务器)上展开“数据库”中“Mydb_学号”数据库,新建查询,进行对同学乙的授权,使其具有对数据库“Mydb_同学甲学号”中的表student进行查询的权限;5同学乙在自己的计算机(即客户端)重新登录,执行3中的操作,观察并记录执行结果;6同学甲在自己的计算机(即服务器)上对同学乙用户进行再次授权,使其具有对数据库“Mydb_同学甲学号”中的表student进行插入的权限;7同学乙在自己的计算机(即客户端)重新登录,再次执行3中的操作,观察并记录
20、执行结果;8同学甲在自己的计算机(即服务器)上对同学乙用户的查询权限进行撤销(即回收权限),使其不再具有对数据库“Mydb_同学甲学号”中的表student进行查询的权限;9同学乙在自己的计算机(即客户端)重新登录,再次执行3中的操作,观察并记录执行结果。(二)两同学角色互换,即同学乙的计算机作为SQL Server数据库服务器,同学甲的机器作为客户端,需要访问该服务器上的数据库“mydb_同学乙学号”中的数据。重复上述(一)的实验内容。 实验思考题1通过以上实验深入理解视图概念,请总结使用视图的好处?2对视图的数据都可以更新吗?为什么?3针对实验内容三,如果想要授予客户端用户“L_学号”对s
21、tudent表中姓名的修改权限,并回收其插入权限,应该如何操作?实验五 数据库设计与数据库编程实验目的和要求1 理解和掌握数据库设计的方法和主要步骤;2 熟练掌握概念结构的建立方法和常用表达工具(ER图);3熟练掌握概念结构到逻辑结构的转换原则;3 掌握SQL 流程控制语句、存储过程和触发器的语法4 理解存储过程和触发器的概念和原理;5 掌握SQL SERVER 2005中数据库编程的有关操作。实验内容假设要根据某大学的系、学生、班级、学会等信息建立一个数据库。一个系有若干个专业,每个专业每年只招一个班,每个班由若干学生。一个系的学生住在同一个宿舍区。每个学生可以参加多个学会,每个学会有若干个
22、学生,学生参加某学会有个人入会年份。试根据上述业务规则,完成数据库设计,并在SQL Server中实现。1应用规范设计法设计该数据库,要求达到3NF。请给出详细设计过程。2指出每个关系的主码和外码。3请设计一个存储过程,以学会编号作为输入参数,实现统计指定学会学生人数的功能。 九、主要实验仪器与器材 计算机,局域网,Microsoft SQL Server2005软件十、主要实验教材(指导书)及参考用书: 十一、课程考核方式及成绩评定办法:1、考核办法:根据实验及其完成情况予以考核。2、成绩评定:成绩由实验平时成绩和期末考核成绩组成,其中实验平时成绩占60%,包括预习10%、态度20%、报告30%,期末考核成绩占40%。3、实验总评成绩将以20%的比例计入该门课程的总成绩中。十二、本次修订说明 本轮授课对实验大纲做了修订,主要是:1) 实验平台由MS SQL Server2005改为MS SQL Server2008;