6课时数据库实验指导书.docx
《6课时数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《6课时数据库实验指导书.docx(19页珍藏版)》请在冰豆网上搜索。
6课时数据库实验指导书
《数据库原理及应用》实验指导书
<适用于计算机科学与技术、软件工程专业)
热风器4
计算机科学与技术学院
2018年12月
⒈本课程的教案目的和要求
数据库系统产生于20世纪60年代末。
30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。
数据库原理是计算科学与技术专业重要的专业课程。
本课程实验教案的目的和任务是使学生通过实践环节深入理解和掌握课堂教案内容,使学生得到数据库应用的基本训练,提高其解决实际问题的能力。
⒉实验教案的主要内容
数据库、基本表、视图、索引的建立与数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库应用系统的设计实现。
⒊实验教案重点
本课程的实验教案重点包括:
⑴数据库、基本表、视图、索引的建立与数据的更新;
⑵SQL的数据查询;
⑶恢复、完整性和安全性实现机制;
⑷简单数据库应用系统的设计实现;
4教材的选用
萨师煊,王珊.数据库系统概论(第四版>.北京:
高等教育出版社.2006,5
实验1 创建数据库<2学时)
实验目的
1.学会数据表的创建;
2.加深对表间关系的理解;
3.理解数据库中数据的简单查询方法和应用。
实验内容
一、给定一个实际问题,实际应用问题的模式设计中至少要包括3个基本表。
应用问题是供应商给工程供应零件<课本P74)。
1.按照下面的要求建立数据库:
创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。
注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,最大容量为20MB,文件的增长量为20%;数据文件与事务日志文件都保存在D盘根目录。
2.在已建立的数据库中使用SQL语句和可视化环境分别建立应用中的四个表<包括属性名、数据类型、主键、外键约束、索引)。
3.将数据库备份到D盘根目录下<完全备份),备份文件名为***.bak,然后从SQLServerManagementStudio中删除该数据库,接着从D:
/***.bak中还原数据库。
4.按照附件中步骤练习分离、附加数据库。
二、创建学生选课数据库,并验证课本上的数据定义示例。
提示:
<使用向导进行数据库建立、备份、还原、分离附加)见附件1
实验2数据查询<4学时)
实验目的
1.理解数据库中数据的其他查询方法和应用;
2.学会各种查询要求的实现;
3.学会各种查询的异同及相互之间的转换方法。
实验内容
在实验1的基础上,练习其它查询语句的使用,包括计算列、求和、最大、最小值、各类选择条件、字符匹配、分组和排序,连接查询、嵌套查询及EXISTS查询等,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础。
1.查询供应商号码为S1的供应商的名称SNAME,所在城市CITY
2.查询颜色为红色的零件号码
3.查询工程所在地为天津的工程名称JNAME
4.查询供应商号和名称,分别用小写字母和大写字母表示供应商代码
5.查询零件的详细信息,用结果属性名用中文显示。
6.查询供应工程J1零件P1的供应商号SNO
7.查询供应商的名称和所在城市,并按照所在城市升序排序,同一个城市的按照供应商的名称降序排序
8.查询使用供应商S1所供应零件的工程号码
9.查询各种零件的平均重量
10.查询零件的总个数
11.查询所有以“螺”字开头的零件的零件号、零件名和颜色
12.查询各个供应商供应的零件P3总数量
13.供应工程J1红色零件的供应商号SNO
14.工程工程J2使用的各种零件的名称及数量
15.使用上海产的零件的工程的名称
16.所有工程的使用零件的情况<无论有没有使用零件),包括工程代码、工程名称、零件代码和零件数量
17.供应商S1和S3供应的相同的零件编号
18.没有使用天津产的零件的工程号码
19.没有使用天津供应商生产的红色零件的工程号
20.至少用了供应商S1所供应的全部零件的工程号Jno
21.基于学生选课数据库,验证课本上数据查询相关的示例
实验3 数据更新及视图<2学时)
实验目的
1.加深对数据库相关性质的理解;
2.各种约束性理解;
3.学会数据库中数据的更新的方法;
4.学会视图的创建与查询。
实验内容
对已建好的各表输入适当的数据并练习数据的插入、删除和修改,注意检测键码约束、外码约束、非空约束、唯一约束、取值约束等各种约束在输入数据及数据的删除、修改时的作用,结合课堂教案体会其含义。
同时练习视图的建立、查询与删除等。
1.向S表中插入一条新数据
2.供应商S3向J2工程供应零件P2零件350个,将该数据插入相应的表中
3.将J1工程工程名称改为建工集团,城市改为济南
4.把全部红色零件的颜色改成蓝色
5.由S2供给J1的零件P3改为供给P4零件
6.删除工程工程J3的所有信息
7.从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录
8.采用SQL命令和图形界面两种方法为建工集团建立一个供应情况视图,包括供应商号9.针对以上视图,查询建工集团工程使用的各种零件代码及其数量
10.采用SQL命令和图形界面两种方法为建工集团建立一个供应情况视图,包括供应商名11.针对以上视图,查询建工集团工程使用的各种零件名称及其数量
12.设有工资表,表结构如下表所示
工资号
岗位工资
薪级工资
职补
考勤
医疗
驻济补
其它补
房租
水费
电费
公积金
所得税
建立一个视图,在视图中包括原工资数据并体现应付工资和实发工资的数额。
13.基于学生选课数据库,验证课本上数据更新及视图相关的示例
实验4 数据库安全性和完整性<2学时)
实验目的
1.加深对数据库安全性和完整性的理解
2.学会授权与回收
3.理解并体会数据库实体完整性、参照完整性、用户定义的完整性约束条件的作用
实验内容
对已建好的各表和用户进行权限的授权和回收操作,进行完操作之后检查授权过的用户是否真正具有授予的数据操作的权力了,进行完权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。
定义各种完整性约束条件,之后输入各种数据以验证约束条件的作用。
1.设置用户a对SPJ表的查询权限。
2.设置用户b对S表、P表具有修改的权限,并要求b能够将该权限授予其它用户c,并验证用户c具有该权限。
3.收回用户a、b的权限,并验证用户c权限的情况。
4.对实验1中创建的表,用图形用户界面建立外键联系,并验证外键的作用。
5.对实验1中创建的表,设置零件的颜色必须在红、橙、黄、绿、青、蓝、紫七种颜色范围内,零件重量不能超过50的约束条件,并给这两种约束条件命名。
6.设置SPJ表中供应零件的数量都不能超过1000
7.设置S表中的供应商号以字母‘S’开头
8.验证各个表的实体完整性。
实验5存储过程和触发器<2学时)
实验目的
1.加深对存储过程和触发器的理解
2.掌握存储过程和触发器的创建和使用,理解它们的执行方式的不同
3.理解并体会存储过程和触发器的区别和联系
实验内容
在已建好的各表基础上,根据需要创建相关的存储过程或触发器,完成一定的功能。
1.创建一个InsertS的存储过程,向S中插入一条记录,新记录的值由参数提供。
如果未提供所在城市的值,由参数的默认值‘济南’代替。
并验证该存储过程的执行情况。
2.创建一个QuerySPJ的存储过程,根据用户提供的工程工程代码查询该工程工程的使用零件情况,并返回使用零件的总数量。
3.创建一个触发器,使得在S表中删除某条记录时,SPJ表中的数据也进行相应的删除操作。
<创建触发器之前先去掉表的外键联系,这个触发器只是模拟一下级联删除操作)
4.在S表中增加一列属性,属性名为AvgQty,表示供应商的平均供应数量,创建一个触发器,使得当向SPJ表中插入数据时,AvgQty也做相应修改。
5.创建一个供应历史表hspj(sno,pno,jno,qty,username,modifydate>,记录供应变化情况。
实现这样的约束控制:
如果spj表中的某条供应记录的qty发生改变,就在hspj表中插入一行历史记录,其中username为操作的用户名,modifydate为操作的时间。
实验6 数据库设计<4学时)
实验目的
1.培养综合利用所学知识解决实际问题的能力;
2.学会进行小型数据库的合理设计;
3.训练初步开发数据库管理实用软件的技能。
实验内容
通过前5个实验,对数据库的基本操作有了一定的掌握。
本实验综合运用前面掌握的内容并进行综合应用。
选定一种开发工具<.Net、Java、Delphi、VB、VC等),后台数据库采用SQLServer2005,设计实现一个简单的数据库应用系统,完成某小型管理信息系统开发——系统需求分析、数据库概念结构设计、逻辑结构设计、物理设计,编写程序、调试程序,系统应包括数据的插入、删除、修改、查询、统计等功能,做到界面友好、使用方便。
可选题目<学生也可自己另选相关的题目):
1.图书馆管理系统
部分资料:
<1)图书馆有各种图书几万多册。
<2)每种图书都有书名、书号<3)凭借书证借书,借书证记录有借阅者的学号、姓名、性别、班级、系别等。
<4)不同层次的学生的借书证不同,所借书的数量、借书期限也不同。
如:
专科学生每次最多能借3本书,借书期限最长为30天,本科……,硕士研究生……,博士研究生……。
<5)图书的入库、借书、还书、续借、过期罚款、查询图书,更新图书等功能
2.毕业设计管理系统
部分资料:
<1)学院有若干毕业生,若干毕业设计指导老师。
<2)每个学生有相应的属性描述,如学号、姓名、性别、院系、出生年月等。
教师也类似。
<3)每个老师给出若干毕业设计题目供学生选择。
每个老师指导学生数不超过10名。
<4)学生只能选择一个毕业设计题目。
<5)做毕业设计期间,指导老师要对学生的进度进行督促或检查。
3.超市管理系统
部分资料:
<1)有一个存放商品的仓库,每天都有商品出库和入库。
<2)每种商品都有编号、名称、生产厂家、型号、规格、单价等。
<3)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、采购价、日期、时间、入库单位<或出库单位)名称、送货<或提货)人姓名。
<4)卖出商品时,要记录商品编号、名称、单价、数量、金额,以及最后的应付额、实付额、找零等
<5)消费者如有会员卡,可以积分<或打折)
4.网上购物系统
商铺店主希望借助网上系统销售商品,用户登录后,才可以实现购物功能,并且可以查看订单情况。
用户购买的商品都放入购物车中,为了方便用户搜索自己需要的商品,还要能够进行商品的分类和查找。
系统主要模块如下:
<1)网上购物系统设计与实现—会员管理
会员管理:
用户申请成为会员,记录会员的详细资料<包括会员编号、会员姓名、会员地址等),方便货物的邮寄。
<2)网上购物系统设计与实现—商品信息管理
商品信息管理:
系统管理员维护商品信息<包括商品编号、商品名称、价格、简介、图片等信息)。
会员可以查看商品信息。
<3)网上购物系统设计与实现—购物车管理
购物车管理:
用户可以将商品放入自己的购物车<包括购物车编号、商品编号、商品数量等),可以在购物车中添加或删除商品。
<4)网上购物系统设计与实现—订单管理
订单管理:
会员可以维护订单信息,并查找到自己的所有订单信息<包括订单编号、会员编号、订单日期等)。
<5)网上购物系统设计与实现—商品查找和分类
商品查找:
选择商品分类并输入要查询的商品名称可以查询商品的详细信息。
商品分类:
对商品分类<包括分类编号、分类名称等),使用户可以在某类商品列表中查看该类所有的商品。
5.客房信息管理系统
部分资料:
<1)客房信息管理系统主要实现酒店客房的租借管理功能,将客户信息和客房情况统一归入到数据库系统,可以实现酒店客房的有效监控。
为租借管理提供了方便的管理窗口,同时有利于寻找客房或者协助治安管理。
<2)某旅店有若干房间,每间客房有大小级别、地理位置、预设租金等信息。
<3)各种客户可以预订、入住所需要的客房。
管理人员可以处理这些请求。
<4)预订或入住时,需要及时登录客房信息,以便今后的查询。
实验环境
1.硬件环境
服务器、客户机连接成局域网结构。
2.软件环境
Windows2000及以上、SQLServer2005。
附件1
1、数据库的建立
(1)连接数据库服务器,进入MicrosoftSQLServerManagementStudio主界面,如下图所示。
(2)用鼠标右键单击“对象资源管理器”中的“数据库”对象。
选择“新建数据库”,打开“新建数据库”对话框,默认进入“常规”页设置窗口,如下图所示。
命令按钮
连接状态
数据库文件设置选项
可输入数据库名
选项页
(3)在“常规”页窗口中,可以创建数据库的名称、数据库的所有者、数据文件<包括主数据文件和辅助数据文件)、事务日志文件以及是否使用全文索引等。
用鼠标选中数据库文件的“逻辑名称”可以修改主数据文件和事务日志文件的逻辑名,如下图所示。
修改逻辑文件名
功能执行状态
选择“添加”或“删除”命令按钮,可以像数据库添加或删除辅助数据文件和事务日志文件。
用鼠标选中数据库文件所对应的“文件类型”和“文件组”,可以修改文件类型和文件组,如下图所示。
如下图所示。
修改设置文件组
修改文件类型
添加/删除辅助文件
在初始状态下,数据库只有一个主文件组主数据文件只能属于主文件组,事务日志文件不适用于文件组,所以不能设置。
辅助数据文件可以属于任何文件组。
用鼠标选中数据库文件“初始大小用鼠标选中“自动增长”列中的设置按钮,可以设置文件的增长方式。
如下图所示。
设置自动增长
用鼠标选中数据库文件“路径”,可以设定文件存储的物理位置。
如下图
设置文件路径
当创建一个数据库完毕,选择“确定”按钮,SQLServer数据库引擎会创建所定义的数据库。
在SQLServerManagementStudio的“对象资源管理器”窗口中,出现一个新建的数据库stu
新建的数据库
默认情况下,在本机“C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data”下生成物理数据库文件。
2、数据库的备份和还原
<1)在要备份的数据库上点击右键,选择任务->备份。
<2)在弹出的备份窗口中,设置备份属性,如下图。
若不使用默认,则可选删除默认,然后再添加目标文件
可备份源数据库中的指定文件
选择备份类型
要备份的数据库名
<3)单击“确定”按钮,完成备份。
(4)在要还原的数据库上点击右键,选择任务->还原。
可通过选项“数据库”和“文件和文件组”明确要还原整个数据库,还是数据库中的某个或某几个文件。
还原数据库图示
还原整个数据库
还原文件和文件组图示。
可通过选择,还原部分文件
3、数据库的分离和附加
<1)在要分离的数据库上点击右键,选择任务->分离
<2)在弹出的分离窗口中,检查数据库的状态,进行分离,如下图。
只有数据库状态为“就绪”才可实现分离。
即没有其他用户在使用该数据库。
<3)单击“确定”按钮,完成分离,对象浏览器中看不到该数据库。
但是该数据库相关文件仍然在“C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data”下。
将该数据库相关文件拷走,以备“附加”使用。
不存在stu数据库
<4)在控制台中,“数据库”项上点击右键,选择“附加”选项。
(5)附加窗口,如下图所示
添加要附加的数据库的主数据文件
添加窗口中找到主数据库文件,然后点击“确定”按钮。
找到主数据库文件
“确定”后,附加窗口如下图所示。
和主数据库文件在同一文件夹下的其他相关文件。
点击“确定”完成附加,对象浏览器中,又出现了附加的数据库。
看这里……