数据库原理实验学生用.doc_第1页
数据库原理实验学生用.doc_第2页
数据库原理实验学生用.doc_第3页
数据库原理实验学生用.doc_第4页
数据库原理实验学生用.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合肥师范学院 实验报告册 2013 / 2014 学年 第1 学期系 别 计算机学院实验课程 数据库原理专 业 班 级 姓 名 学 号 指导教师 实验名称课时实验报告成绩实验(一)数据库基本操作2实验(二)SQL语句6实验(三)数据库完整性与安全性实验4实验(四)数据库编程4备注:实验一 数据库基本操作一、 实验目的1. 熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。2. 掌握界面操作方法完成用户数据库建立、备份和还原。3. 建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。二、 实验预习内容在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。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 char(9), cno char(3), grade int );说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1) 建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)2) 分析并建立各表的主码,用下划线在上面表结构中标出主码。3) 建立各表之间的关联,请简述操作步骤。 4) 参考实验指导书的【第5章 数据库的备份和还原】,使用企业管理器对数据库STC进行备份,并尝试在个人电脑与机房电脑上进行还原,请简述备份、还原操作的步骤。3. 在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下任务。参考实验指导书数据库系统实验指导教程【实验1.1 数据定义】,建立数据库SCHOOL,分别建立students、teachers、courses、choices四张表,表结构见实验指导书P236 【附录A】。1) 用SQL语言创建数据库、建表。建表时为各表建立关键字、设置外码,数据暂不录入,请写出对应的SQL命令。2) 为students表、courses建立按主键増序排列的索引,请写出相应的SQL命令。3) 删除course上的索引,请写出相应的SQL命令。4) 在SCHOOL数据库中的students表中增加一个“出生日期”字段,类型为日期时间型,请写出对应的SQL命令。5) 删除students中的“出生日期”字段,请写出对应的SQL命令。6) 删除SCHOOL数据库中的students表,请写出对应的SQL命令。4. 使用企业管理器创建数据库SCHOOL,实现内容与实验预习内容3完全相同。5. 使用企业管理器,将SCHOOL数据库分离出MS SQL SERVER,请简述步骤。6. 使用企业管理器,使用【数据库/所有任务/附加数据库】将SCHOOL数据库添加进SQL SERVER,并查看数据。7. 使用查询分析器,删除数据库STC,请写出对应的SQL命令。8. 结束本次实验三、 实验课后训练1. 使用企业管理器练习数据的导入导出。1) 将SCHOOL数据库students表中的数据导出到STC数据库对应的stu表中;2) 向STC数据库courses表导入SCHOOL数据库courses表中的数据;3) 自行练习实验指导书【实验5.3 SQL SERVER数据库的导入与导出】部分;2. 自行练习实验指导书【实验1.1数据定义】部分。四、 实验报告1. 简述本次实验所用到的SQL命令及其功能。2. 在MS SQL SERVER中数据库的“分离|添加”与“备份|还原”是相同的功能吗?3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)实验二SQL语句一、 实验目的1. 熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集合查询和统计查询,能理解空值的处理;2. 熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、删除操作;3. 熟悉SQL支持的有关视图的操作,能创建、查询及取消视图;4. 了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作;二、 实验预习内容在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。1. 使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操作。请在空白处填写相应的SQL命令。1) 查询年级为2001的所有学生的名称,按编号顺序排列;2) 查询所有课程名称中含有data的课程编号;3) 统计所有老师的平均工资;4) 查询至少选了3门课的学生编号;5) 查询学号为80009026的学生的姓名、所选课名及成绩;6) 查询没有学生选的课程编号;7) 查询既选了C+又选了Java课程的学生编号;8) 查询选了C+但没选Java课程的学生编号;9) 向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email:LX,年级:1992);10) 将“LiMing”的年级改为2002;11) 删除所有选了Java课程的学生选课记录;12) 求出每门课的课程号、选课人数,结果存入数据库表T1中。13) 查询所有选课记录的成绩并换算为五分制(注意NULL的情况);14) 查询成绩小于0的选课记录,统计总数、平均分、最大值和最小值(注意查询结果中NULL的情况);15) 按成绩顺序排序显示CHOICES表中所有记录。(使用ORDER BY排序,注意NULL的情况);16) 创建视图V1,显示学生姓名、所选课名称、任课教师名;17) 取消V1视图;2. 使用STC数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操作。请在空白处填写相应的SQL命令或其它内容。1) 创建视图V2,显示计算机(CS)系学生信息;(结合下面的b)小题,V2视图创建2次,分别使用/不使用WITH CHECK OPTION选项)(1)不加WITH CHECK OPTION(2)加WITH CHECK OPTION2) 插入元组(99999,张三,20岁,男,PH)到V2中,运行结果如何?(观察WITH CHECK OPTION对结果的影响);(1)不加WITH CHECK OPTION的结果(2)加WITH CHECK OPTION的结果3) 在V2基础上,查询所有计算机系女生信息;3. 结束本次实验三、 实验课后训练1. 掌握SQL 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自我实践部分;四、 实验报告1. SQL SERVER中变量声明的命令是什么?输出命令是什么?2. SQL SERVER中实现分支和循环的语句分别是什么?3. 在SQL SERVER里使用ORDER BY排序时,NULL值如何处理?使用GROUP BY分组时,NULL值又如何处理的?4. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)实验三数据库完整性与安全性一、 实验目的1. 理解实体完整性、参照完整性、用户自定义完整性的概念,学习三类完整性的实现,了解违反完整性的结果;2. 掌握MS SQL SERVER中的有关用户登录认证及管理方法,熟练使用自主存取控制进行权限管理;二、 实验预习内容在认真阅读教材及实验指导书【2.1 实体完整性】、【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)三个属性列,其中Class_id为主码; 2) 执行两次相同的插入操作(0001,01csc,cs),结果如何;2. 使用SQL命令创建一张学生互助表,要求:包括学生编号、学生姓名、学生帮助对象的编号,每个学生有且仅有一个帮助对象,帮助的对象必须是已存在的学生。3. 使用STC数据库,修改设置,完成以下2种不同的要求,请写出对应的语句或简述操作过程:1) 当更新、删除STU表中记录时,若SC表中有此学生的记录,则拒绝;2) 当更新、删除STU表中记录时,若SC表中有此学生的记录,则自动更新或删除;4. 使用SQL命令完成以下任务:1) 创建Worker表(表结构见指导书P73)2) 定义约束U1、U2,其中U1规定Name字段取值唯一,U2规定sage字段上限是28;3) 插入一条合法记录;4) 插入一条违反U2约束的记录,简述观察到的结果如何?并分析原因;5) 去除U1约束;6) 修改约束U2,令sage的值大于等于0;7) 创建规则rule_sex,规定更新或插入的值只能是M或F,并绑定到Worker的sex字段;8) 插入2条记录,一条满足规则rule_sex,一条违反规则,观察结果。5. 使用查询分析器创建触发器并测试,请写出相应的语句:1) 为Worker表创建触发器T1,当插入或更新表中数据时,保证所操作记录的sage大于0;2) 为Worker表创建触发器T2,禁止删除编号为00001的记录;3) 为Worker表创建触发器T3,要求更新一个记录时,表中记录的sage要比老记录的sage的值大。6. 分别用企业管理器和查询分析器实现用户的标识并测试,请写出相应的操作过程或对应的语句:1) 设置SQL SERVER的安全认证模式;2) 建立名为“LiYong”的登录用户、数据库用户,默认访问SCHOOL数据库,密码为“abcd”;3) 取消“LiYong”用户;7. 先以sa帐号登录,要实现如下表的权限管理,请按先后顺序写出相应的SQL语句(假设所有用户尚未定义,其密码均为123),并加以必要的说明。编号授权用户名被授权用户名数据库对象名允许的操作类型能否转授权1SAU1StudentsSELECT不能2SAU2StudentsALL不能3SAPUBLICChoicesSELECT不能4SAU3StudentsSELECT能5U3U4StudentsSELECT能6U4U5StudentsSELECT不能7SAU6ChoicesINSERT能8SAU7Students.snameUPDATE不能8. 创建在SCHOOL数据库中choices上的视图CS_View,授权给计算机系讲授课程号为10010的数据库用户“LiYong”,让其具有视图上的SELECT权限;9. 对视图CS_View上的score属性列的UPDATE权限授予用户“LiYong”,可以修改学生成绩,但不能修改其它属性列的值;10. 假设SCHOOL数据库中,每个学生的登录名都为自己在STUDENTS表中的sid,实现每个学生只能查询自己选课信息,不能查询别人的成绩,也不能修改自己的成绩。11. 结束本次实验三、 实验课后训练1. 自行练习实验指导书P81【实验2.5 综合案例】综合案例1;2. 自行练习实验指导书P122【实验3.8 综合案例】综合案例;四、 实验报告1. 授权给public与授权给指定用户有什么区别?实际应用中,哪个更安全些?2. SQL SERVER中的角色有什么作用?3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)实验四数据库编程一、 实验目的1. 掌握ODBC的配置;2. 能编写简单的存储过程和函数,并调用;二、 实验预习内容上机前请预习以下内容,并在空白处填写相应的步骤或命令。1. 配置ODBC,使用VFP中的表单,查询SCHOOL数据库中STUDENTS表中所有记录。2. 编写存储过程并调用,请写出相应命令;1) 在查询分析器中,编写存储过程usp_get_stuinfo ,使用一个名为xm能够传送进存储过程的参数。允许以学生的姓名查询该生的基本信息;2) 在查询分析器中调用存储过程查询“赵飞”同学的基本信息的语句;3. 编写函数并调用,请写出相应命令;1) 在查询分析器中,定义内联表值函数Fun,用于返回各职称的教师基本信息;2) 在查询分析器中,使用Fun进行选择以获得“教授”职称的教师基本信息;3) 在查询分析器中,编写标量函数Func,用于返回两个整数中的最大值;4) 在查询分析器中,调用此函数,输出两个数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论