版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、合肥师范学院 实验报告册 2013 / 2014 学年 第2 学期系 别 计算机科学与技术系实验课程 数据库原理专 业 计算机软件班 级 1班姓 名 祝求智学 号 指导教师 潘洁珠实验名称课时实验报告成绩实验(一)数据库基本操作2实验(二)SQL语句6实验(三)数据库完整性与安全性实验4实验(四)数据库编程4备注:实验一 数据库基本操作一、 实验目的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 char(9), cno char(3),
3、grade int );说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1) 建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)数据库STC表STU表COUTSES表SC2) 分析并建立各表的主码,用下划线在上面表结构中标出主码。表STU的主码为Sno表COUTSESDE 主码为Cno表SC的 主码为sno、cno3) 建立各表之间的关联,请简述操作步骤。 4) 参考实验指导书的【第5章 数据库的备份和还原】,使用企业管理器对数据库STC进行备份,并尝试在个人电脑与机房电脑上进行还原,请简述备份、还原操作
4、的步骤。3. 在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下任务。参考实验指导书数据库系统实验指导教程【实验1.1 数据定义】,建立数据库SCHOOL,分别建立students、teachers、courses、choices四张表,表结构见实验指导书P236 【附录A】。1) 用SQL语言创建数据库、建表。建表时为各表建立关键字、设置外码,数据暂不录入,请写出对应的SQL命令。create database SCHOOLCREATE table students(sid char(10) primary key,sname char(30) not null,emai
5、l char(30),grade int)create table teachers(tid char(10) primary key,tname char(30) not null,email char(30),salary int)create table courses(cid char(10) primary key,cname char(30) not null,hour int)create table choices(no int primary key,sid char(10) not null references students(sid),tid char(10) ref
6、erences teachers(tid),cid char(10) not null references courses(cid),socre int)2) 为students表、courses建立按主键増序排列的索引,请写出相应的SQL命令。create index Stu on students(sid ASC)create index Cou on courses(cid ASC)3) 删除course上的索引,请写出相应的SQL命令。drop index courses.Cou4) 在SCHOOL数据库中的students表中增加一个“出生日期”字段,类型为日期时间型,请写出对应的
7、SQL命令。alter table studentsadd 出生日期 datetime5) 删除students中的“出生日期”字段,请写出对应的SQL命令。alter table studentsdrop column 出生日期6) 删除SCHOOL数据库中的students表,请写出对应的SQL命令。sp_helpalter table choicesdrop FK_choices_sid_7D78A4E7drop table students4. 使用企业管理器创建数据库SCHOOL,实现内容与实验预习内容3完全相同。建立数据库SCHOOL表students表teschers表cours
8、es表choices1. 设置主码2. 建立索引3. 删除索引4. 增加出生日期字段删除字段5删除students5. 使用企业管理器,将SCHOOL数据库分离出MS SQL SERVER,请简述步骤。6. 使用企业管理器,使用【数据库/所有任务/附加数据库】将SCHOOL数据库添加进SQL SERVER,并查看数据。7. 使用查询分析器,删除数据库STC,请写出对应的SQL命令。drop database STC8. 结束本次实验三、 实验课后训练1. 使用企业管理器练习数据的导入导出。1) 将SCHOOL数据库students表中的数据导出到STC数据库对应的stu表中; 2) 向STC数
9、据库courses表导入SCHOOL数据库courses表中的数据;3) 自行练习实验指导书【实验5.3 SQL SERVER数据库的导入与导出】部分;2. 自行练习实验指导书【实验1.1数据定义】部分。实验报告1. 简述本次实验所用到的SQL命令及其功能。定义基本表,建表Create table ( 列级完整性约束条件, 列级完整性约束条件,)修改基本表,增加新列,删除某一列Alter table add 完整性约束drop alter column 删除基本表Drop table restrict | cascade查看当前表的索引、约束Sp_help建立索引和删除索引Create uni
10、que cluster index On ( , 次序)2. 在MS SQL SERVER中数据库的“分离|添加”与“备份|还原”是相同的功能吗?不是。分离|添加是要求当前数据库不在运行,分离后可以在任一台装有SQL SERVER的电脑上添加,且添加完成后与你分离时的状态完全一样。而备份|还原功能在数据库运行时也可以进行备份还原的,经常是为了数据库出现错误后能够还原到之前备份的状态3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)由于这是第一次实验,也是第一次使用SQL SERVER,所以在做实验时遇见了很多小问题,但是在经过看实验指导书和老师在上课时讲解过的操作最终完成了实验。
11、在删除students表时,按照书上的SQL语句运行但是系统提示说不能删除,因为有个外键约束所以拒绝删除,最后在Sp_help语句查询students表的外键约束名,删除它再按照书上的语句最后终于删除了students表sp_helpalter table choicesdrop FK_choices_sid_7D78A4E7drop table students实验二SQL语句一、 实验目的1. 熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集合查询和统计查询,能理解空值的处理;2. 熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、删除操作;
12、3. 熟悉SQL支持的有关视图的操作,能创建、查询及取消视图;4. 了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作;二、 实验预习内容在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。1. 使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操作。请在空白处填写相应的SQL命令。1) 查询年级为2001的所有学生的名称,按编号顺序排列;select sname from students
13、where grade=2001order by sid asc2) 查询所有课程名称中含有data的课程编号;select cidfrom courseswhere cname like %data%3) 统计所有老师的平均工资;select avg(salary)from teachers4) 查询至少选了3门课的学生编号;select sidfrom choicesgroup by sidhaving count(*)35) 查询学号为的学生的姓名、所选课名及成绩;select sname,cname,scorefrom students,courses,choiceswhere stu
14、dents.sid= and students.sid=choices.sid and courses.cid=choices.cid6) 查询没有学生选的课程编号;select cidfrom courseswhere not exists(select cidfrom choices)7) 查询既选了C+又选了Java课程的学生编号;select sidfrom choiceswhere cid in(select cidfrom courseswhere cname=C+)and sid in(select sidfrom choiceswhere cid in(select cidfr
15、om courseswhere cname=Java)8) 查询选了C+但没选Java课程的学生编号;select sidfrom choiceswhere cid in(select cidfrom courseswhere cname=C+)and sid not in(select sidfrom choiceswhere cid in(select cidfrom courseswhere cname=Java)9) 向STUDENTS表中插入“LiMing”的个人信息(编号:,名字:LiMing,Email:LX,年级:1992);insertinto studen
16、ts(sid,sname,email,grade)values(,LiMing,LX,1992)10) 将“LiMing”的年级改为2002;update studentsset grade=2002where sname=LiMing11) 删除所有选了Java课程的学生选课记录;deletefrom choiceswhere cid in(select cidfrom courseswhere cname=Java)12) 求出每门课的课程号、选课人数,结果存入数据库表T1中。create table T1(cid char(10),m int)insertinto T1
17、(cid,m)select courses.cid,count(sid)from courses left join choices on courses.cid=choices.cid group by courses.cidselect distinct *from T1order by cid asc13) 查询所有选课记录的成绩并换算为五分制(注意NULL的情况);create table A(sscore char(10)insertinto A(sscore)select scorefrom choicesupdate Aset sscore=sscore/20 select sc
18、ore,sscorefrom choices,Aselect *from choices最佳:select score,score/20from choices14) 查询成绩小于0的选课记录,统计总数、平均分、最大值和最小值(注意查询结果中NULL的情况);select count(sid),avg(score),max(score),min(score)from choiceswhere score6015) 按成绩顺序排序显示CHOICES表中所有记录。(使用ORDER BY排序,注意NULL的情况);select *from choicesorder by score desc16)
19、创建视图V1,显示学生姓名、所选课名称、任课教师名;create view V1(sname,cname,tname)asselect sname,cname,tnamefrom students,courses,teachers,choiceswhere students.sid=choices.sid and teachers.tid=choices.tid and courses.cid=choices.cidwith check option17) 取消V1视图;drop view V12. 使用STC数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操作。
20、请在空白处填写相应的SQL命令或其它内容。1) 创建视图V2,显示计算机(CS)系学生信息;(结合下面的b)小题,V2视图创建2次,分别使用/不使用WITH CHECK OPTION选项)(1)不加WITH CHECK OPTION(2)加WITH CHECK OPTIONcreate view V2asselect *from STUwhere sdept=CScreate view V2asselect *from STUwhere sdept=CSwith check option2) 插入元组(99999,张三,20岁,男,PH)到V2中,运行结果如何?(观察WITH CHECK OP
21、TION对结果的影响);(1)不加WITH CHECK OPTION的结果(2)加WITH CHECK OPTION的结果服务器: 消息 550,级别 16,状态 1,行 1试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束的条件。语句已终止。3) 在V2基础上,查询所有计算机系女生信息;select *from V2where ssex=女3. 结束本次实验三、 实验课后训练1. 掌握SQL SERVER中流控制语句及其它常用编程语句;1) 使用查询分析器,编写代
22、码,输出乘法口诀表。2. 自行练习实验指导书P24【实验1.2 数据查询】1.2.5自我实践部分;1) select *from choices2) select sidfrom choices3) select cidfrom courseswhere hour 400)5) select count(cid)from courses6) select *from courses7) select cid,count(sid)from choicesgroup by cid8) select sidfrom choiceswhere score = 60group by sidhaving
23、count(*)29) select students.sid,count(cid) choices_count,avg(score) avg_scorefrom choices,studentswhere students.sid=choices.sidgroup by students.sid10) select students.sid,students.snamefrom students,courseswhere ame in (select cnamefrom courseswhere cname=java)3. 自行练习实验指导书P30【实验1.3 数据更新】1.3.5自我实践部分;4. 自行练习实验指导书P36【实验1.4 视图】1.4.5自我实践部分;5. 自行练习实验指导书P49【实验1.6 空值和空集的处理】1.6.5自我实践部分;四、 实验报告1. SQL SE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度咨询工程师考试黑钻押题附答案详解【培优B卷】
- 2024-2025学年公务员考试《常识》复习提分资料(易错题)附答案详解
- 2024-2025学年度化验员考前冲刺测试卷含答案详解【轻巧夺冠】
- 2024-2025学年度执法资格考前冲刺练习题附答案详解【培优B卷】
- 2024-2025学年度安徽职业技术学院单招《数学》全真模拟模拟题附答案详解【突破训练】
- 2024-2025学年度医师定期考核试卷带答案详解(新)
- 2024-2025学年度助听器验配师复习提分资料附答案详解【模拟题】
- 专项资金使用合规承诺书范文9篇
- 2024-2025学年中级软考自我提分评估(考点提分)附答案详解
- 2024-2025学年度一级建造师考前冲刺练习含答案详解【典型题】
- T/CHTS 10149-2024公路缆索承重桥梁健康监测阈值技术指南
- 2025广西机场管理集团有限责任公司招聘136人(第一批次)笔试参考题库附带答案详解
- 【L重型载货汽车的变速器设计12000字(论文)】
- GB/T 45333-2025类金刚石薄膜球盘法测试类金刚石薄膜的摩擦磨损性能
- 高速公路收费站安全生产培训
- 本土红色文化资源融入初中道德与法治教学对策研究
- 洗煤厂工程施工组织设计方案
- 抵押物品的借款合同模板
- 工业大数据采集处理与应用
- 体育组织信访管理工作流程与制度
- 挡土墙新建及土地回填平整投标方案(技术方案)
评论
0/150
提交评论