《数据库原理》实验 班级: 学号: 姓名:
分离数据库操作:数据库→SCHOOL→右击→所有任务→分离数据库,出现如上所示的框图,点击确定即可。
6. 使用企业管理器,使用【数据库/所有任务/附加数据库】将SCHOOL数据库添加进SQL
SERVER,并查看数据。 附加操作截图
9
《数据库原理》实验 班级: 学号: 姓名:
查看数据截图
附加数据库操作:数据库→右击→所有任务→附件数据库,从设备中找到SCHOOL_mdf,确定即可。
查看数据:数据库→SCHOOL→表→选择查看到的表→右击→打开表→返回所有行。
7. 使用查询分析器,删除数据库STC,请写出对应的SQL命令。 DROP DATABASE STC;
8. 结束本次实验
三、实验课后训练
1. 使用企业管理器练习数据的导入导出。
1) 将SCHOOL数据库students表中的数据导出到STC数据库对应的stu表中; 2) 向STC数据库courses表导入SCHOOL数据库courses表中的数据;
3) 自行练习实验指导书【实验5.3 SQL SERVER数据库的导入与导出】部分; 2. 自行练习实验指导书【实验1.1数据定义】部分。
10
《数据库原理》实验 班级: 学号: 姓名: 四、实验报告
1. 简述本次实验所用到的SQL命令及其功能。 创建数据库 create database <数据库名> 创建表 create table <表名>
创建索引create unique index <索引名>on <表名>(<列名>) 增加属性 alter table <表名> add <列名><数据类型> 删除某属性名 alter table <表名> drop column <列名> 删除某表 Drop table <表名>
删除数据库 DROP DATABASE <数据库名>
2. 在MS SQL SERVER中数据库的“分离|添加”与“备份|还原”是相同的功能吗? 答:不相同。数据库的备份是数据库结构、对象和数据的“副本”,使得数据库系统在发生故障后还能还原和恢复数据库中的数据。数据库的还原是数据库备份的逆操作,将数据库恢复到备份前的状态。数据库的分离指的是将数据库的附加的逆过程,就是把完整地数据库文件和日志文件从服务器上分离下来,分离后的数据库文件在拷贝和移动后可以附加在其他的计算机上,附加是分离的逆过程。
3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)
出现的问题:①在这次实验过程中,对数据库进行了备份,再下次实验时无法还原数据库了。
②在写为SCHOOL数据库中的students表中增加一个“出生日期”字段,类型为日期时间型是,我写的命令是alter table student add ‘出生日期’ date,提示我没有此类型。
③在写删除SCHOOL数据库中的students表这一命令时,出现如下错误:
解决方法:问题一,问了同学,将数据库进行分离,再进行附加,则可以将上次的数据库重新放入电脑中;
问题二,根据所给的提示将命令改为alter table student add ‘出生日期’ datetime;
问题三,通过找书上的相关知识,在未加cascade 时,表的删除是有限制条件的,存在依赖所删除的表的对象,所以无法删除,加上cascade,表的删除时没有限制条件的。
结果:命令的到正确的运行,实验完成。
通过这次实验,对SQL的一些命令及其功能有了了解,同时在实验中还要养成良好的实验习惯,做实验要细心,提前预习,这样可以大大减少实验的错误率。
11
《数据库原理》实验 班级: 学号: 姓名: 实验二——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的所有学生的名称,按编号顺序排列; select sname from students where grade=2001 order by sid ASC
2) 查询所有课程名称中含有data的课程编号; select cid from courses where cname='data'
3) 统计所有老师的平均工资; select avg(salary) from teachers
4) 查询至少选了3门课的学生编号; select sid from choices group by sid
having count(cid)>=3
5) 查询学号为800009026的学生的姓名、所选课名及成绩; select students.sname,courses.cname,choices.score from students,courses,choices
where students.sid=800009026 and students.sid=choices.sid and courses.cid=choices.cid 6) 查询没有学生选的课程编号; select cid from courses where cid not in (
select cid from choices )
7) 查询既选了C++又选了Java课程的学生编号; select sid from choices
12
《数据库原理》实验 班级: 学号: 姓名: where cid =(select cid from courses
where cname='C++') and sid in (select sid from choices
where cid=(select cid from courses where cname='Java')) 8) 查询选了C++但没选Java课程的学生编号; select distinct sid from choices
where cid =(select cid from courses
where cname='C++') and sid not in (select sid from choices
where cid=(select cid from courses where cname='Java'))
9) 向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,
Email:LX@cdemg.com,年级:1992); insert
into students(sid,sname,email,grade)
values('700045678','LiMing','LX@cdemg.com','1992') 10) 将“LiMing”的年级改为2002; update students set grade='2002'
where sname='LiMing'
11) 删除所有选了Java课程的学生选课记录; delete
from choices
where 'Java'=(select cname from courses
where courses.cid=choices.cid)
12) 求出每门课的课程号、选课人数,结果存入数据库表T1中。 create table T1
(cid char(10) primary key, num char(10) )
insert into T1
select cid,count(sid) from choices group by cid
13) 查询所有选课记录的成绩并换算为五分制(注意NULL的情况); select distinct score,score/20 from choices
14) 查询成绩小于0的选课记录,统计总数、平均分、最大值和最小值(注意查询结
果中NULL的情况);
select count(*),avg(score),max(score),min(score) from choices where score<0
15) 按成绩顺序排序显示CHOICES表中所有记录。(使用ORDER BY排序,注意
13
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育数据结构实验报告3543435 (3)全文阅读和word下载服务。
相关推荐: