收藏 分享(赏)

《数据库原理》实验_学生用20130305new.doc

上传人:dreamzhangning 文档编号:2210016 上传时间:2018-09-05 格式:DOC 页数:22 大小:124.50KB
下载 相关 举报
《数据库原理》实验_学生用20130305new.doc_第1页
第1页 / 共22页
《数据库原理》实验_学生用20130305new.doc_第2页
第2页 / 共22页
《数据库原理》实验_学生用20130305new.doc_第3页
第3页 / 共22页
《数据库原理》实验_学生用20130305new.doc_第4页
第4页 / 共22页
《数据库原理》实验_学生用20130305new.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、合 肥 师 范 学 院 实 验 报 告 册 2013 / 2014 学年 第 1 学期系 别 计算机学院实验课程 数据库原理专 业 班 级 姓 名 学 号 指导教师 实验名称 课时 实验报告成绩实验(一)数据库基本操作 2实验(二)SQL 语句 6实验(三)数据库完整性与安全性实验 4实验(四)数据库编程 4备注:数据库原理实验 班级: 学号: 姓名: 1实验一 数据库基本操作一、实验目的1. 熟悉 MS SQL SERVER 运行界面,掌握服务器的基本操作。2. 掌握界面操作方法完成用户数据库建立、备份和还原。3. 建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。

2、二、实验预习内容在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。1. 熟悉 SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、关闭。2. 使用 SQL SERVER 2000 中的企业管理器完成以下任务。数据库名称:STC表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ) ;COUTSES( cno char(3), cname varchar(50), cpno char(3), credit int ) ;SC(sno

3、 char(9), cno char(3), grade int ) ;说明:以上为表结构,以 sno char(9)为例,说明 sno 属性设置为字符类型,宽度为9,int 指整型数据。 1) 建立数据库 STC,分别建立以上三张表,并完成数据录入。 (表结构及数据参见教材)2) 分析并建立各表的主码,用下划线在上面表结构中标出主码。3) 建立各表之间的关联,请简述操作步骤。4) 参考实验指导书的【第 5 章 数据库的备份和还原】 ,使用企业管理器对数据库 STC进行备份,并尝试在个人电脑与机房电脑上进行还原,请简述备份、还原操作的步骤。3. 在 SQL SERVER 2000 的查询分析器

4、中使用 SQL 语言完成以下任务。参考实验指导书数据库系统实验指导教程 【实验 1.1 数据定义】 ,建立数据库SCHOOL,分别建立 students、teachers 、courses、choices 四张表,表结构见实验指导书P236 【附录 A】 。1) 用 SQL 语言创建数据库、建表。建表时为各表建立关键字、设置外码,数据暂不录入,请写出对应的 SQL 命令。数据库原理实验 班级: 学号: 姓名: 22) 为 students 表、courses 建立按主键増序排列的索引,请写出相应的 SQL 命令。3) 删除 course 上的索引,请写出相应的 SQL 命令。4) 在 SCHO

5、OL 数据库中的 students 表中增加一个“出生日期”字段,类型为日期时间型,请写出对应的 SQL 命令。5) 删除 students 中的“出生日期”字段,请写出对应的 SQL 命令。6) 删除 SCHOOL 数据库中的 students 表,请写出对应的 SQL 命令。数据库原理实验 班级: 学号: 姓名: 34. 使用企业管理器创建数据库 SCHOOL,实现内容与实验预习内容 3 完全相同。5. 使用企业管理器,将 SCHOOL 数据库分离出 MS SQL SERVER,请简述步骤。6. 使用企业管理器,使用【数据库/所有任务/附加数据库】将 SCHOOL 数据库添加进 SQL S

6、ERVER,并查看数据。7. 使用查询分析器,删除数据库 STC,请写出对应的 SQL 命令。8. 结束本次实验三、实验课后训练1. 使用企业管理器练习数据的导入导出。1) 将 SCHOOL 数据库 students 表中的数据导出到 STC 数据库对应的 stu 表中;2) 向 STC 数据库 courses 表导入 SCHOOL 数据库 courses 表中的数据;3) 自行练习实验指导书【实验 5.3 SQL SERVER 数据库的导入与导出】部分;2. 自行练习实验指导书【实验 1.1 数据定义】部分。数据库原理实验 班级: 学号: 姓名: 4四、实验报告1. 简述本次实验所用到的 S

7、QL 命令及其功能。2. 在 MS SQL SERVER 中数据库的“分离|添加”与“备份| 还原”是相同的功能吗?3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)数据库原理实验 班级: 学号: 姓名: 5实验二SQL 语句一、实验目的1. 熟悉 SQL 的数据查询语言,能使用 SQL 进行单表查询、连接查询、嵌套查询、集合查询和统计查询,能理解空值的处理;2. 熟悉数据库的数据更新操作,能使用 SQL 语句对数据库进行数据的插入、更新、删除操作;3. 熟悉 SQL 支持的有关视图的操作,能创建、查询及取消视图;4. 了解 NULL 在数据库中的特殊含义,掌握使用 SQL 进行

8、与空值相关的操作;二、实验预习内容在认真阅读教材及实验指导书 【 实验 1.2 数据查询 】 、 【 实验 1.3 数据更新 】 、 【 实验 1.4 视图 】 和 【 实验 1.6 空值和空集的处理 】 的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。1. 使用 SCHOOL 数据库,在 SQL SERVER 2000 的查询分析器中使用 SQL 语言完成以下操作。请在空白处填写相应的 SQL 命令。1) 查询年级为 2001 的所有学生的名称,按编号顺序排列;2) 查询所有课程名称中含有 data 的课程编号;3) 统计所有老师的平均工资;4) 查询至少选了 3 门课的学生

9、编号;5) 查询学号为 80009026 的学生的姓名、所选课名及成绩;6) 查询没有学生选的课程编号;数据库原理实验 班级: 学号: 姓名: 67) 查询既选了 C+又选了 Java 课程的学生编号;8) 查询选了 C+但没选 Java 课程的学生编号;9) 向 STUDENTS 表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email :LX,年级:1992) ;10) 将“LiMing”的年级改为 2002;11) 删除所有选了 Java 课程的学生选课记录;12) 求出每门课的课程号、选课人数,结果存入数据库表 T1 中。13) 查询所有选课记录的成

10、绩并换算为五分制(注意 NULL 的情况) ;数据库原理实验 班级: 学号: 姓名: 714) 查询成绩小于 0 的选课记录,统计总数、平均分、最大值和最小值(注意查询结果中 NULL 的情况) ;15) 按成绩顺序排序显示 CHOICES 表中所有记录。 (使用 ORDER BY 排序,注意NULL 的情况) ;16) 创建视图 V1,显示学生姓名、所选课名称、任课教师名;17) 取消 V1 视图;2. 使用 STC 数据库,在 SQL SERVER 2000 的查询分析器中使用 SQL 语言完成以下操作。请在空白处填写相应的 SQL 命令或其它内容。1) 创建视图 V2,显示计算机(CS)

11、系学生信息;(结合下面的 b)小题,V2 视图创建2 次,分别使用/不使用 WITH CHECK OPTION 选项)(1)不加 WITH CHECK OPTION (2)加 WITH CHECK OPTION数据库原理实验 班级: 学号: 姓名: 82) 插入元组(99999,张三,20 岁,男,PH)到 V2 中,运行结果如何?(观察 WITH CHECK OPTION 对结果的影响) ;(1)不加 WITH CHECK OPTION 的结果(2)加 WITH CHECK OPTION 的结果3) 在 V2 基础上,查询所有计算机系女生信息;3. 结束本次实验三、实验课后训练1. 掌握 S

12、QL SERVER 中流控制语句及其它常用编程语句;1) 使用查询分析器,编写代码,输出乘法口诀表。2. 自行练习实验指导书 P24【实验 1.2 数据查询】1.2.5 自我实践部分;3. 自行练习实验指导书 P30【实验 1.3 数据更新】1.3.5 自我实践部分;4. 自行练习实验指导书 P36【实验 1.4 视图】1.4.5 自我实践部分;5. 自行练习实验指导书 P49【实验 1.6 空值和空集的处理】1.6.5 自我实践部分;数据库原理实验 班级: 学号: 姓名: 9四、实验报告1. SQL SERVER 中变量声明的命令是什么?输出命令是什么?2. SQL SERVER 中实现分支

13、和循环的语句分别是什么?3. 在 SQL SERVER 里使用 ORDER BY 排序时,NULL 值如何处理?使用 GROUP BY 分组时,NULL 值又如何处理的?4. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)数据库原理实验 班级: 学号: 姓名: 10实验三数据库完整性与安全性一、实验目的1. 理解实体完整性、参照完整性、用户自定义完整性的概念,学习三类完整性的实现,了解违反完整性的结果;2. 掌握 MS SQL SERVER 中的有关用户登录认证及管理方法,熟练使用自主存取控制进行权限管理;二、实验预习内容在认真阅读教材及实验指导书 【 2.1 实体完整性 】 、

14、【 2.2 参照完整性 】 、 【 2.3 用户自定义完整性 】 、 【 2.4 触发器 】 、 【 2.5 综合案例 】 和 【 3.1 用户标识与鉴别 】 、 【 3.2 自主存取控制 】、 【 3.3 视图机制在自主存取控制上的应用 】 、 【 3.4 Public 角色在安全性中的应用 】 、 【 3.8 综合案例 】 的基础上, 上机前请预习以下内容,并在空白处填写相应的步骤或命令 。1. 使用 SCHOOL 数据库1) 创建一张新表 CLASS,包括 Class_id(varchar(4) ) ,Name (varchar(10) ) ,Department( varchar(20

15、) )三个属性列,其中 Class_id 为主码; 2) 执行两次相同的插入操作(0001, 01csc,cs) ,结果如何;2. 使用 SQL 命令创建一张学生互助表,要求:包括学生编号、学生姓名、学生帮助对象的编号,每个学生有且仅有一个帮助对象,帮助的对象必须是已存在的学生。数据库原理实验 班级: 学号: 姓名: 113. 使用 STC 数据库,修改设置,完成以下 2 种不同的要求,请写出对应的语句或简述操作过程:1) 当更新、删除 STU 表中记录时,若 SC 表中有此学生的记录,则拒绝;2) 当更新、删除 STU 表中记录时,若 SC 表中有此学生的记录,则自动更新或删除;4. 使用

16、SQL 命令完成以下任务:1) 创建 Worker 表(表结构见指导书 P73)2) 定义约束 U1、U2,其中 U1 规定 Name 字段取值唯一,U2 规定 sage 字段上限是28;3) 插入一条合法记录;4) 插入一条违反 U2 约束的记录,简述观察到的结果如何?并分析原因;数据库原理实验 班级: 学号: 姓名: 125) 去除 U1 约束;6) 修改约束 U2,令 sage 的值大于等于 0;7) 创建规则 rule_sex,规定更新或插入的值只能是 M 或 F,并绑定到 Worker 的 sex 字段;8) 插入 2 条记录,一条满足规则 rule_sex,一条违反规则,观察结果。

17、5. 使用查询分析器创建触发器并测试,请写出相应的语句:1) 为 Worker 表创建触发器 T1,当插入或更新表中数据时,保证所操作记录的 sage 大于 0;2) 为 Worker 表创建触发器 T2,禁止删除编号为 00001 的记录;数据库原理实验 班级: 学号: 姓名: 133) 为 Worker 表创建触发器 T3,要求更新一个记录时,表中记录的 sage 要比老记录的sage 的值大。6. 分别用企业管理器和查询分析器实现用户的标识并测试,请写出相应的操作过程或对应的语句:1) 设置 SQL SERVER 的安全认证模式;2) 建立名为“LiYong”的登录用户、数据库用户,默认

18、访问 SCHOOL 数据库,密码为“abcd”;3) 取消“LiYong”用户;7. 先以 sa 帐号登录,要实现如下表的权限管理,请按先后顺序写出相应的 SQL 语句 (假设所有用户尚未定义,其密码均为 123) ,并加以必要的说明。编号 授权用户名 被授权用户名 数据库对象名 允许的操作类型 能否转授权1 SA U1 Students SELECT 不能2 SA U2 Students ALL 不能3 SA PUBLIC Choices SELECT 不能4 SA U3 Students SELECT 能5 U3 U4 Students SELECT 能6 U4 U5 Students S

19、ELECT 不能7 SA U6 Choices INSERT 能8 SA U7 Students.sname UPDATE 不能数据库原理实验 班级: 学号: 姓名: 14数据库原理实验 班级: 学号: 姓名: 158. 创建在 SCHOOL 数据库中 choices 上的视图 CS_View,授权给计算机系讲授课程号为10010的数据库用户“LiYong” ,让其具有视图上的 SELECT 权限;9. 对视图 CS_View 上的 score 属性列的 UPDATE 权限授予用户“LiYong ”,可以修改学生成绩,但不能修改其它属性列的值;10. 假设 SCHOOL 数据库中,每个学生的登

20、录名都为自己在 STUDENTS 表中的 sid,实现每个学生只能查询自己选课信息,不能查询别人的成绩,也不能修改自己的成绩。11. 结束本次实验三、实验课后训练1. 自行练习实验指导书 P81【实验 2.5 综合案例】综合案例 1;2. 自行练习实验指导书 P122【实验 3.8 综合案例】综合案例;数据库原理实验 班级: 学号: 姓名: 16四、实验报告1. 授权给 public 与授权给指定用户有什么区别?实际应用中,哪个更安全些?2. SQL SERVER 中的角色有什么作用?3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)数据库原理实验 班级: 学号: 姓名: 17实

21、验四数据库编程一、实验目的1. 掌握 ODBC 的配置;2. 能编写简单的存储过程和函数,并调用;二、实验预习内容上机前请预习以下内容,并在空白处填写相应的步骤或命令。1. 配置 ODBC,使用 VFP 中的表单,查询 SCHOOL 数据库中 STUDENTS 表中所有记录。2. 编写存储过程并调用,请写出相应命令;1) 在查询分析器中,编写存储过程 usp_get_stuinfo ,使用一个名为xm 能够传送进存储过程的参数。允许以学生的姓名查询该生的基本信息;2) 在查询分析器中调用存储过程查询“赵飞”同学的基本信息的语句;3. 编写函数并调用,请写出相应命令;1) 在查询分析器中,定义内

22、联表值函数 Fun,用于返回各职称的教师基本信息;数据库原理实验 班级: 学号: 姓名: 182) 在查询分析器中,使用 Fun 进行选择以获得“教授”职称的教师基本信息;3) 在查询分析器中,编写标量函数 Func,用于返回两个整数中的最大值;4) 在查询分析器中,调用此函数,输出两个数中的最大值;5) 在 SQL SERVER 中定义函数 FUNS,返回指定参数的平方,配置好 ODBC 后,在 VFP中调用 FUNS 并输出结果;4. 结束本次实验三、实验课后训练1. 自行学习实验指导书 P130【实验 4.1 SQL SERVER 事务的定义】 ;2. 自行学习实验指导书 P137【实验 4.2 SQL SERVER 2005 事务与锁】 ;3. 自行练习实验指导书 P165【实验 4.6 游标及游标并发】 ; ( P167 4.6.3 实验内容要完成)数据库原理实验 班级: 学号: 姓名: 19数据库原理实验 班级: 学号: 姓名: 20四、实验报告1. 什么是 ODBC?2. 内联表值函数、标量函数、存储过程有什么区别?3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报