数据库实验指导书.docx
《数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书.docx(24页珍藏版)》请在冰豆网上搜索。
数据库实验指导书
.
数据库原理
实
验
指
导
书
陕西理工学院计算机系
2008.
1.实验目的与要求
数据库原理及应用是计算机科学与技术专业和信息管理与信息系统专业的课程之一,是一门理论与实践相结合的课程,上机实验环节是本课程的重要组成部分。
(1)实验的目的是为了配合课堂教学,进一步强化、加深对数据库原理理论知识的理解。
实验的任务是要结合数据库原理和SQLServer2000数据库系统,熟练掌握和深入理解课堂教学内容,实现从理论到实践的统一。
以提高动手能力,提高分析问题和解决问题的能力。
(2)实验教学的要求:
学生每次实验前必须根据实验指导书,设计出实验方案(代码和实验步骤);在实验过程中要求独立进行程序调试和排错,必须学会使用在线帮助解决实验中遇到的问题,必须应用理论知识分析问题、解决问题。
上机结束后写出实验报告,对实验过程进行分析和总结。
2.实验方式与基本要求
⑴第一次实验前,任课教师需要向学生讲清实验的整体要求及实验的目标任务;讲清实验安排和进度、平时考核内容、期末考试办法、实验守则及实验室安全制度;讲清上机操作的基本方法。
⑵《数据库原理》课程是以理论课为主、实验为辅的课程。
每次实验前:
教师需要向学生讲清实验目的和基本要求,讲清实验对应的理论内容;学生应当先弄清相关的理论知识,再预习实验内容、方法和步骤,避免出现盲目上机的行为。
⑶实验1人1组,在规定的时间内,由学生独立完成,出现问题时,教师要引导学生独立分析、解决,不得包办代替。
⑷该课程实验是一个整体,需要有延续性。
机房应有安全措施,避免前面的实验数据、程序和环境被清除、改动或盗用的事件发生。
⑸任课教师要认真上好每一堂课,实验前清点学生人数,实验中按要求做好学生实验情况及结果记录,实验后认真填写实验记录。
⑹学生最好能自备计算机,课下能通过Email进行联系,以便能够熟悉和精通实验方法。
如果能结合实际课题进行训练,会达到更好的效果。
3.适用专业
适用于计算机类。
4.主要实验环境
操作系统为MicrosoftWindows2000。
数据库管理系统为MicrosoftSQLServer2000标准版或企业版。
5.考核与报告
《数据库原理》上机实验采用平时实验考勤和报告结合的方法评定成绩,其中平时实验考核占40%,报告占60%。
实验报告要求采用统一印制的实验报告纸。
撰写实验报告要按制定的规范进行,实验报告中应附有实验原始记录。
指导教师对每个学生的实验报告要认真批改、评分、签字。
6.实验项目设置与内容
实验项目与内容提要见表1
表1
序号
实验项目名称
实验内容提要
性质
类型
学时
1
数据库的定义
通过SOLServer企业管理器和查询分析器工具的使用创建数据库、创建基本表和查看数据库属性
必做
验证
2
2
数据库的建立和维护
通过SOLServer企业管理器和查询分析器工具向数据库输入数据,修改数据,删除数据的操作
必做
验证
2
3
数据库的简单查询和连接查询
在SOLServer查询分析器中对数据库进行简单查询和连接查询
必做
验证
2
4
数据库的嵌套查询
在SOLServer查询分析器中,使用in,any,exists操作符进行嵌套查询操作
必做
验证
2
5
数据库的组合和统计查询
在SOLServer查询分析器中对数据库进行组合和统计查询
必做
验证
2
6
数据库的视图定义及使用
创建、查看、修改和删除视图
必做
验证
2
7
数据完整性和安全性
设置SOLServer的安全认证模式,设置数据操作权限,设置数据完整性约束条件,定义触发器。
必做
验证
2
8
数据库备份和恢复
用企业管理器创建一个备份,并恢复定义的学生选课数据库
必做
验证
2
9
学生成绩管理系统的数据库设计
利用SQLSerever2000设计一个简单学生成绩管理系统的数据库
必做
综合
4
数据库原理与应用实验
实验1:
数据库的定义实验
一、实验目的
要求学生熟练掌握和使用SQL、T-SQL、SQLServerEnterpriserManagerServer创建数据库、表、索引和修改表结构,并学会使用SQLServerQueryAnalyzer,接收T-SQL语句和进行结果分析。
二、实验内容包括:
l)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,建立索引。
3)查看和修改表结构。
4)熟悉SQLServerEnterpriserManager和QueryAnalyzer工具的使用方法
三、实验任务如下(基本和提高操作实验都必须完成)
1.基本提作实验
1)使用EnterpriserManager建立图书读者数据库
2)在EnterpriserManager中查看图书读者数据库的属性,并进行修改,使之符合要求。
3)通过EnterpriserManager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,
其结构为:
图书(书号,类别,出版社,作者,书名,定价);
读者(编号,姓名,单位,性别,电话):
借阅(书号,读者编号,借阅日期)
要求为属性选择合适的数据类型,定义每个表的主键,AllowNull(是否允许空值)和
DefaultValue(缺省值)等列级数据约柬。
4)在EnterpriserManager建立图书、读者和借阅3个表的表级约束:
每个表的PrimaryKey(主键)约束;借阅表与图书表间、借阅表与读者表之间的foreignkey(外码)约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check(检查)约束。
2.提高操作实验
建立学生_课程库操作,在查询分析器中实现。
库中表结构为:
学生(学号,姓名,年龄,性别,所在系):
课程(课程号,课程名,先行课);
选课(学号,课程号,成绩)。
要求:
l)建库、建表、建立表间联系。
2)选择合适的数据类型。
3)定义必要的索引、列级约束和表级约束。
3选择操作实验
将自设计的数据库应用系统中的数据库、库中的表、索引和约束用T-SQL表达,并通过EnterpriserManager或QueryAnalyzer实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。
四、实验报告要求
1、简要写出在企业管理器中的各操作过程。
2、用T-sql表示建表和建库操作。
3、实验操作步骤和实验结果,实验中出现的问题和解决方法。
4、体会和提高。
实验2:
数据库的建立和维护实验
一、实验目的
要求学生熟练掌握使用SQL、T-SQL和SQLServerEnterpriserManager向数据库输入数据、修改数据和删除数据的操作。
二、实验任务
1.基本操作实验
1)通过EnterpriserManager,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。
要求记录不仅满足数据约束要求,还要有表间关联的记录。
2)图书借阅数据库的三个基本表为图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅日期)。
对通过EnterpriserManager实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入、删除和修改操作。
3)通过EnterpriserManager实现对学生选课库的数据增加、数据删除和数据修改操作。
要求学生、课程和选课表中各有10条以上记录。
①将计算机系的全体学生的成绩置零
②将选数据库课同学的成绩加5分。
③删除学号为050006的学生记录。
④删除成绩表中成绩低于60分的记录
2.提高操作实验
向自设计的数据库应用系统的库中的各表,输入多条实际数据,并实现数据的增、删。
改操作。
3.选择操作实验
将用数据修改语句和数据删除语句通过QueryAnalyzer。
输入给SQLServer数据库,并查看、分析执行的结果,实现正确操作。
①UPDATE读者SET借阅册数=(SELECTCOUNT(*)FROM读者,借阅
WHERE读者.编号=借阅.读者编号AND借阅日期
BETWEEN‘2001-01-01’AND‘2001-12-31’0
②DELETE借阅WHERE读者编号IN(SELECT编号FROM读者WHERE单位=’计算机’)
四、实验报告要求
1、简要写出在企业管理器中的各操作过程。
2、用T-sql表示库中各种操作。
3、实验操作步骤和实验结果,实验中出现的问题和解决方法。
4、体会和提高。
实验3:
数据库的简单查询和连接查询实验
一、实验目的
使学生掌握SQLServerQueryAnalyzer的使用方法,加深对SQL和T-SQL语言的查询语句的理解。
熟练掌握简单表的数据查询、数据排序和数据联结广询的操作方法。
二、实验内容:
1)简单查询操作。
该实验包括投影、选择条件表达,数据排序,使用临时表等。
2)连接查询操作。
该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接。
内连接、左连接、右连接和自连接等。
三、实验方法:
将查询需求用T-SQL语言表示;在SQLServerQueryAnalyzer的输入区中输入T-SQL查询语句;设置QueryAnalyzer的结果区为StandardExecute(标准执行)或ExecutetoGrid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
四、实验任务
1.基本操作实验
(1)简单查询实验
在学生选课库中实现其数据查询操作。
1求数学系学生的学号和姓名
2求选修了课程的学生学号
3求选修C1课程的学生学号和成绩,结果按成绩降序排列,如成绩同按学号升序排列
4求选修课程C1成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出
5求数学或计算机系姓张的学生的信息
6求缺少了成绩的学生的学号和课程号
(2)连接查询实验
1)在学生选课库中实现其数据连接查询操作。
1查询每个学生的情况以及他(她)所选修的课程
2求学生的学号、姓名、选修的课程及成绩
3求选修课程C1且成绩在90分以上的学生学号、姓名及成绩
4查询每一门课的间接先行课(即先行课的先行课)
2)在图书借阅库中实现其连接查询操作。
查询借书者的编号、姓名、单位、所借书号、书名和借阅日期
2.提高操作实验
l)建立职工部门库和职工、部门表,并向表中输入数据
职工表
职工号
姓名
性别
年龄
所在部门
1010
李勇
男
20
11
1011
刘晨
女
19
14
1012
王敏
女
22
12
1014
张立
男
21
13
部门表
部门号
部门名称
电话
11
生产科
566
12
计划科
578
13
一车间
467
14
科研所
2)用T-SQL语句在职工部门库中实现其数据内连接和各种外查询操作。
7内连接Select职2.*,部门名称,电话form职2,部门where职2,所在部门,部门号
8改为左外连接和右外连接
3.选择操作实验
(1)设职工—社团库有三个基本
1)建立职工.社团数据库和基本表,向库中输入一定的记录。
职工(职工号,姓名,负责人,活动地点)
社会团体(编号,名称,负责人,活动地点)
参加(职工号,编号,参加日期)
2)按以下要求用T-SQL语句表示。
1定义职工表、社会团体表和参加表,并说明其主码和参照关系。
2参加唱歌队或篮球队的职工事情和姓名。
3查找没有参加任何社会团的职工情况。
4查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。
3)通过SQLServerQueryAnalyzer实现查询操作。
(2)设工程—零件库有四个表
l)建立工程_零件数据库和基本表,向库中输入一定的记录。
供应商(供应商代码,姓名,所在城市,联系电话);
工程(工程代码,工程名,负责人,预算);
零件(零件代码,零件名,规格,产地,颜色);
供应零件(供应商代码,工程代码,零件代码,数量)。
2)以下要求用T-SQL语句表示。
(1)找出天津市供应商的姓名和电话。
(2)查找使用预算在50000—100000元之间的工程的信息,并将结果按预算降序排列。
(3)找出使用供应商S1所供零件名称及其数量。
(4)找出工程项目J2使用的各种零件名称及其数量。
3)通过SQLServerQueryAnalyzer实现查询操作。
五、实验报告要求
1、用T-sql写出实验操作的查询语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。
3、体会和提高。
实验4:
数据库的嵌套查询实验
一、实验目的
使学生进一步掌握SQLServerQueryAnalyzer的使用方法,加深SQL和T-SQL语言的嵌套查询语句的理解。
二、实验内容
在SQLServerQueryAnalyzer中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。
三、实验方法:
将查询需求用T-SQL语言表示;在SQLServerQueryAnalyzer的输入区中输入T-SQL查询语句;设置QueryAnalyzer的结果区为StandardExecute(标准执行)或ExecutetoGrid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;
如果结果不正确,要进行修改,直到正确为止。
四、实验任务
1.基本操作实验
①求进修了高等数学的学生学号和姓名。
②求C1课程的成绩高于张三的学生学号和成绩。
③求其他系中比计算机某学生年龄小的学生(即求年龄小于计算机系年龄最大者的学生)
④求其他系中比计算机系学生年龄都小的学生。
⑤求进修了C2课程的学生姓名。
⑥求职没有选修C2课程的学生姓名。
⑦查询送修了全部课程的学生姓名。
⑧求职至少选修了学生为“S2”的学生所选修的全部课程的学生学号的姓名。
用T-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。
2提高操作实验
按以下要求用T-SQL语句表示并通过SQLServerQueryAnalyzer实现查询操作。
①找出上海厂商供应的所有零件号码。
②找出使用上海产的零件的工程名称。
③找出没有使用天津产零件的工程号码。
3选择操作实验
将自设计的数据库应用项目中的数据查询操作分类,用T-SQL语句表示其中的简单、连接和嵌套查询,并通过SQLServerQueryAnalyzer实现其查询操作。
五、实验报告要求
1、用T-sql写出实验操作的查询语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。
3、体会和提高
实验5:
数据库的组合查询和统计查询实验
一、实验目的
使学生熟练掌握SQLServerQueryAnalyzer的使用方法,加深对SQL和T-SQL语言查询语句的理解。
熟练掌握数据查询中分组、统计、计算和组合的操作方法。
二、实验内容
1)分组查询实验。
该实验包括分组条件表达、选择组条件表达的方法。
2)使用函数查询的实验。
该实验包括统计函数和分组统计函数的使用方法。
3)组合查询实验。
4)计算和分组计算查询的实验。
三、实验方法:
将查询需求用T-SQL语言表示;在SQLServerQueryAnalyzer的输入区中输入T-SQL查询语句;设置QueryAnalyzer的结果区为StandardExecute(标准
执行)或ExecutetoGrid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;
如果结果不正确,要进行修改,直到正确为止。
四、实验任务
1.基本操作实验。
1)查找这样的图书类别:
要求类别最高的图书定价不低于全部按类别分组的图书平均定价的确倍.
2)求机械工业出版社出版的各类图书的平均定价,用GroupBy表示.
3)列出计算机类图书的书号,名称及价格,最后求出册数和总价格.
4)列出计算机类图书的书号,名称及价格,并求出各出版社这类书的总价格,最后求出全部册数和总价格.
5)查询计算机类和机械工业出版社出版的图书.
在图书借阅库中实现其查询操作。
2.提高操作实验
1)求学生的总人数.
2)求选修课程的学生人数.
3)求课程和选修课程的人数.
4)求选修课的学生学号
3选择操作实验。
l)按以下要求用T-SQL语句表示,并通过SQLServerQueryAnalyzer实现查询操作。
在工程—零件库中
1.把全部红色零件的颜色改为蓝色
2.将由供应商S5供给工程代码为J4的零件P6改为由S3供应由S3供应,并作其他必要修改.
2)将自设计的数据库应用项目中的分组、统计、计算和组合查询,用T-SQL语句表示,并通过SQLServerQueryAnalyzer实现其查询操作。
五、实验报告要求
1、用T-sql写出实验操作的查询语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。
3、体会和提高
实验6:
数据库的视图和图表的定义及使用实验
一、实验目的
使学生掌握创建与查看视图的两种方法,熟练SQLServer中的视图创建向导和图表创建向导的使用方法,加深对视图和SQLServer图表作用的理解;熟练利用代码的创建视图,并进行查看视图结果。
二、实验内容:
l)创建、查看、修改和删除视图。
2)创建、编辑和删除数据库图表。
三、实验任务
1.基本操作实验
l)在SQLServerEnterpriserManager中调出CreateViewWizard描述的视图定义,创建借阅_计算机图书视图。
CreateView借阅_计算机图书
Asselect图书.*,借阅.*
From图书,借阅
Where图书编号=借阅.书号AND图书.类别=’计算机’
2.提高操作实验
在SQLServerEnterpriserManager中,用视图创建向导创建这3个视图。
1建立计算机系学生的视图
2由学生、课程和选修课三个表,定义一个计算机系的学生成绩视图,其属性包括学号、姓名、课程名和成绩
3将学生的学号、总成绩、平均成绩定义成一个视图
3.选择操作实验
将自设计的数据库应用项目中的子模式,用T-SQL描述其视图定义,并在SQL,SQLServerEnterpriserManager中,用视图创建向导创建这些视图。
四、实验报告要求
1、用T-sql写出实验操作中视图创建语句,视图查看的语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。
3、体会和提高
实验7:
数据完整性和数据安全性实验
一、实验目的
通过实验使学生加深对数据安全性和完整性的理解,并掌握在企业管理器中SQLServer中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。
了解使用T-Sql语句管理SQLServer登陆帐户,SQLServer用户,数据库角色,管理权限的方法。
二、实验的实验内容:
1)数据库的安全性实验。
在SQLServerEnterpriserManager中,设置SQLServer的安全认证模式,实现对SQLServer的用户和角色管理,设置和管理数据操作权限。
2)数据库的完整性实验。
使用T-SQL设计规则、缺省、约束和触发器,通过SQLServerEnterpriserManager定义它们。
三、实验任务
1.基本操作实验(参照教材)
1)在SQLServerEnterpriserManager中为所属的SQL服务器设置WndowsNT安全认证模式。
2)在SQLServerEnterpriserManager中为自己建立一个服务器用户、数据库用户和数据
库角色。
并将自己创建的学生选课库、图书借阅库的所有操作权赋予它们,将自设计的数据
库的操作权赋予新建的数据库用户。
(使用两种方法)
注:
相关的语句的语法格式:
1.利用T_SQL添加sqlserver帐号
增加新的帐号可以执行系统存储过程sp_addlogin,格式如下:
sp_addloginlogin_id[,passwd,[defdb[,deflanguage]]]
2.利用T_SQL删除sqlserver登陆帐号
利用存储过程sp_droplogin
3.利用T_SQL添加用户
利用系统存储过程sp_adduser,格式如下:
Sp_adduserlogin_id[,username]
4.利用T_SQL删除用户sp_dropuser
5.利用T_SQL创建数据库角色sp_addrole
6.利用T_SQL向角色中增加/删除成员sp_addrolemember/sp_droprolemember
例如:
向学生数据库中创建角色newroles,并将用户x添加到该角色中
Use学生
Execsp_addrole‘newroles’
Execsp_addrolemember‘newroles’,’x’
3)用EnterpriserManager创建存储过程和触发器的方法:
建立缺省和捆绑缺省,为选课表建立一个插入触发器。
①CreatDefault系缺省AS'计算机'
GO
EXELSp_bindefault系缺省,'学生所在系'
②CreateTriggerSC_inserton选课
forinsert
ASIF(Selectcount(*)
from学生,Inserted,课程
Where学生.学号=INSerted.学号AND课程.课程号=INSerted.课程号=0
ROLLBackTRANSACTion
2.提高操作实验
1)仿照上题为图书读者库中的借阅表建立一个保证参照完整性以维护外码与被参照表中的主码一致的触发器。
2)建立一个学生与选课表间,为维护参照完整性而使用的联级删除触发器、联级修改触
发器和受限插入触发器。
3.选择操作实验
针对自设计的数据库应用项目中完整性要求,用T-SQL进行定义并通过EnterpriserManager实现。
四、实验报告要求
1、简要写出在企业管理器中的各操作过程。
2、写出相关的T-sql语句。
3、实验操作步骤和实验结果,实验中出现的问题和解决方法。
4、体会和提高。
实验8:
数据库备份和恢复实验
一、实验目的
使学生了解SQLServer的数据备份和恢复机制,数据库备份和恢复的方法。
理解数据库的完全备份、差异备份、日志备份、文件和文件组备份,掌握利用企业管理器和Transact-SQL语句备份、还原数据库、在企业管理器中分离数据库、附加数据库的方法。
二、实验任务
1.备份数据库
(1)利用企业管理器备份数据库。
写出操作过程。
(2)使用