数据库系统实验指导书使用.docx
《数据库系统实验指导书使用.docx》由会员分享,可在线阅读,更多相关《数据库系统实验指导书使用.docx(45页珍藏版)》请在冰豆网上搜索。
数据库系统实验指导书使用
数据库系统实习指导书
(2009级电化本、电车本认识实习使用)
2010年7月10日
数据库应用实习指导书
前言
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
MicrosoftAccess是Microsoft公司的Office办公自动化软件的组成部分,是应用广泛的关系型数据库管理系统之一,既可以用于小型数据库系统开发,又可以作为大中型数据库应用系统的辅助数据库或组成部分。
在计算机等级、全国计算机应用证书考试等多种计算机知识考试中都有Access数据库应用技术。
SQL(StructuredQueryLanguage)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
同时也是数据库脚本文件的扩展名。
SQL语言包含4个部分:
※数据定义语言(DDL),例如:
CREATE、DROP、ALTER等语句。
※数据操作语言(DML),例如:
INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
※数据查询语言(DQL),例如:
SELECT语句。
※数据控制语言(DCL),例如:
GRANT、REVOKE、COMMIT、ROLLBACK等语句。
SQL语言包括三种主要程序设计语言类别的语句:
数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
SQLServer2000的特性Microsoft®SQLServer™2000的特性包括:
1.Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
2.可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows®98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
3.企业级数据库功能。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
4.易于安装、部署和使用。
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
数据仓库。
SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。
SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据。
SQLServer2000共有4个版本,分别是个人版,标准版,企业版和开发版
sqlserver2008是微软出的SQL系列最新版本。
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
本实验指导书中详细介绍了每个实验的目的、实验内容,并在方法上给出了指导,希望对同学们的学习能够有所帮助。
实习要求
了解数据库系统的作用,在日程生活中扮演的角色;了解各种数据库(FoxPro、Access、SQLSERVER、Oracle、MySQL等)的使用环境和区别以及在不同的环境中如何选择合适的数据库;掌握关系数据库模型的创建;掌握SQL(结构化查询语言)语言,并利用sql语言对SQLSERVER进行数据库、数据表的相关操作;熟练使用access数据库(access数据库中表的创建、数据表之间的联合查询等实际应用)验证课堂学习的知识,掌握数据库、数据表建立、查询、窗体、报表、宏以及数据访问页的方法,从而具有小型数据库管理系统的设计能力。
在《数据库系统实习》的课程过程中,要求学生做到:
(1)预习实习指导书有关部分,认真做好实习内容的准备,就实习可能出现的情况提前作出思考和分析。
(2)仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要说明和分析。
(3)认真书写实习报告。
实习报告包括实习目的和要求,实习情况及其分析。
(4)完成实习五所要求的实际题目,要求上交实习实例等要求。
(5)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(6)实习课程不迟到。
如有事不能出席,所缺实习一般不补。
目录
实习一创建和使用Access数据库及数据表4
实习二ACCESS数据库查询设计及SQL查询语言7
实习三窗体及报表设计8
实习四使用SQL-server查询分析器12
实习五SQLServer企业管理器24
实习六数据库实习综合训练32
实习一创建和使用Access数据库及数据表
【实验目的】
1.了解Access数据库窗口的基本组成
2.熟悉Access的工作环境,达到熟练使用的目的
3.学会查找7个数据库对象的相关帮助信息,为以后实验打下基础
4.学会如何创建数据库文件
5.熟练掌握使用据库表的建立方法
6.掌握表属性的设置
7.掌握记录的编辑、排序和筛选
8.掌握索引和关系的建立
【实验内容】
1.启动Access数据库,在“d:
\Access练习”文件夹中创建一个名为“图书管理.mdb”的空数据库文件。
2.启动Access数据库,使用“库存控制”向导创建一个名为“库存管理.mdb”的数据库文件,并保存在“d:
\Access练习”文件夹中。
然后运行该数据库应用系统,了解它的各部分组成和功能。
3.表1~3,在上述建立的数据库中创建“读者”、“图书”、“借书登记”3个表。
表1“读者”表结构
字段名称
数据类型
字段大小
主键
借书证号
文本
6
是
姓名
文本
3
否
部门
文本
10
否
办证时间
日期/时间
-
否
照片
OLE对象
-
-
表2“图书”表结构
字段名称
数据类型
字段大小
主键
书号
文本
5
是
书名
文本
20
否
作者
文本
3
否
出版社
文本
10
否
价格
数字
单精度(小数位数2)
否
是否有破损
是/否
-
否
备注
备注
-
否
表3“借书登记”表结构
字段名称
数据类型
字段大小
主键
流水号
自动编号
长整型
是
借书证号
文本
6
否
书号
文本
5
否
借书日期
时期/时间
-
否
还书时期
日期/时间
-
否
4.将所有日期型字段的格式设置为“短日期”。
5.将“图书”表的“书号”字段的“标题”设置为“图书编号”;“出版社”字段的默认值设置为“电子工业出版社”;“价格”字段的有效性规则为“价格>0”;有效性文本为“价格必须大于0”。
6.登记”表设置有效性规则“还书日期>借书日期”,有效性文本为“还书日期必须大于借书日期”。
7.为“读者”表的“部门”字段设置查阅属性,显示控件为:
组合框,行来源类型为:
值列表,行来源为:
法律系;英语系;中文系;科研处;人事处;教务处。
8.在“读者”、“图书”和“借书登记”3个表中输入记录,照片和备注内容可以自己定义。
“读者”表记录
借书证号
姓名
部门
办证日期
照片
502001
刘平平
人事处
2003/06/20
512015
张云
英语系
2003/03/10
512018
马晓慧
英语系
2002/10/08
522100
彭丽
法律系
2003/06/21
522106
张朝阳
法律系
2002/12/12
532150
陈洪
科研处
2003/09/26
“图书”表记录
书号
书名
作者
出版社
价格
借出有破损
备注
J1022
C语言程序设计
刘志强
清华大学出版社
22.00
J1035
网页设计技术
王芳
电子工业出版社
21.00
J1039
图形图像处理
王芳
电子工业出版社
25.00
W1101
红楼梦
曹雪芹
文化艺术出版社
32.50
是
W2210
基督山伯爵
大仲马
文化艺术出版社
30.60
是
“借书登记”表记录
流水号
借书证号
书号
借书日期
还书日期
1
502001
W2210
2005/10/08
2005/10/30
2
502001
J1035
2005/07/05
2005/09/10
3
512018
W1101
2004/03/20
2004/04/21
4
522100
W1101
2004/11/15
2004/12/06
5
522100
W2210
2004/11/15
2004/11/30
6
522100
J1035
2005/05/21
2005/06/22
7
522106
W1101
2005/09/16
2005/10/16
8
522106
W2210
2005/11/12
2006/01/20
9
522150
J1039
2006/03/20
9.在“读者”表中,将“部门”字段移到“姓名”字段的前面,然后增加一个“联系方式”字段,数据类型能够为“超链接”(存放读者的E-maile地址)。
10.在“读者”表和“图书”表中添加两条记录,内容自定。
11.删除“读者”表中新添加的两条记录。
12.备份数据库中的3个表。
13.对“读者”表按“办证日期”排序。
14.对“借书登记”表按“借书证号”排序,对同一个读者按“借书日期”降序排序。
15.从“图书”表中查找有破损的图书。
16.从“借书登记”表中查找借书证号为“522100”的读者在2004年的借书情况。
17.在“读者”表中,按“办证日期”字段建立普通索引,索引名为“办证日期”。
18.在“借书登记”表中,按“借书证号”和“书号”两个字段建立唯一索引,索引名为“借书证号+书号”。
按“借书证号”和“借书日期”两个字段建立普通索引,索引名为“借书证号+借书日期”。
19.在“读者”表和“借书登记”表之间按“借书证号”字段建立关系,在“图书”表和“借书登记”表之间按“书号”字段建立关系,两个关系都实施参照完整性。
实习二ACCESS数据库查询设计及SQL查询语言
【实验目的】
1.掌握选择查询的基本方法
2.掌握参数查询的基本方法
3.了解交叉表查询
4.掌握SQL语言的使用方法
5.利用SQL语句实现相关的操作
6.能够独立写出一些较复杂的SQL语句
【实验内容】
1.利用“查找不匹配项查询向导”查找从未借过书的读者的借书证号、姓名、部门和办证日期,查询对象保存为“未借过书的读者”。
2.利用“查找重复项查询向导”查找同一本书的借阅情况,包含书号、借书证号、借书日期和还书日期,查询对象保存为“同一本书的借阅情况”。
3.利用“交叉表查询向导”查询每个读者的借书情况和借书次数,行标题为“借书证号”,列标题为“书号”,按“借书日期”字段计数。
查询对象保存为“借阅明细表”。
4.创建一个名为“法律系借书情况”的查询,查找法律系读者的借书情况,包括借书证号、姓名、部门、书名和借书日期,并按书名排序。
5.创建一个名为“按图书查询”的参数查询,根据用户输入的书名查询该书的借阅情况,包括借书证号、姓名、书名、作者、借书日期和还书日期。
6.创建一个名为“价格总计”的查询,统计各出版社图书价格的总和,查询结果中包括出版社和价格总计两项信息,并按价格总计项降序排列。
7.创建一个名为“借书超过60天”的查询,查找借书人的姓名、借书证号、书名、借阅时间等信息。
8.创建一个名为“已借出图书”的查询,查找书号、书名和借书日期。
9.创建一个名为“查询部门借书情况”的生成表查询,将“法律系”和“英语系”两个部门的借书情况(包括借书证号、姓名、部门、书号)保存到一个新表中,新表的名称为“部门借书登记”。
10.创建一个名为“添加部门借书情况”的追加查询,将“人事处”读者的借书情况添加到“部门借书登记”表中。
11.创建一个名为“删除部门借书情况”的删除查询,将“英语系”读者的借书情况从“部门借书登记”表中删除。
12.将“读者”表复制一份,复制后的表名为“读者copy”,然后创建一个名为“更改部门”的更新查询,将“读者copy”表中部门为“人事处”的字段值改为“教务处”。
13.利用ACCESS数据库中的SQL查询视图,练习SQL语言的使用,熟练掌握查找(select),删除(delete),增加(INSERT),更新(UPDATE)等操作。
14.根据“图书管理”数据库中的“读者”、“图书”和“借书登记”3个表,使用SQL语句完成以下查询。
(1)从“读者”表中查找法律系读者的所有信息。
(2)从“借书登记”表中查找尚未归还的图书的书号、借书证号和借书日期。
(3)从“借书登记”表中查询每本书每次借出的天数。
(4)从“借书登记”表中查询每本书的借阅次数。
(5)从“图书”表中查找各出版社图书的价格总计,并按价格降序输出。
(6)查询所有借过书的读者姓名和借书日期。
(7)查询所有借阅了“红楼梦”的读者的姓名和借书证号。
(8)查询至今没有人借阅的图书的书名和出版社。
实习三窗体及报表设计
本实验为设计性实验,要求学生设计一个自己感兴趣的窗体。
课内学时2,课外学时8。
通过本实验,掌握窗体设计的方法。
【实验目的】
1.掌握窗体设计的方法
2.根据具体要求设计窗体,并使用窗体完成相关操作
3.掌握报表的创建方法
4.根据不同要求设计不同的报表,实现显示和统计功能
【实验内容】
1.建立一个“读者登记”窗体,如图所示。
数据源为“读者”表,窗体标题为“读者记录”。
2.建立一个“图书登记”窗体,如图所示。
数据源为“图书”表,窗体标题为“图书记录”,要求出版社的信息利用组合框控件输入或选择。
然后通过窗体添加两条新记录,内容自行确定。
3.建立一个“借书登记”窗体,如图所示。
数据源为“借书登记”表,窗体标题为“借书记录”。
要求显示系统当前的日期,并统计借书人次(使用count()函数实现)。
4.建立一个“读者借书情况”的主子窗体,如图7.76所示。
主窗体显示读者的借书证号、姓名和部门。
子窗体显示相应读者的借书情况,包括借书证号、书号、书名、借书日期和还书日期。
5.建立一个“图书管理主界面”的窗体,如图所示。
单击各命令按钮,可分别打开上面建立的4个窗体,单击“退出”按钮,可关闭窗体。
6.建立一个“读者信息”报表,显示每位读者的详细信息,如图所示。
7.使用标签向导,建立一个“图书登记卡”标签,如图所示。
8.建立一个“图书借阅情况”报表,显示每本书的借阅情况及借阅次数。
9.建立一个“还书情况”报表,统计每个读者的还书情况(按书号排序)。
如果还书日期不为空,则表示已还书;否则,就表示未还书(用红色文字显示)。
10.建立一个“读者借书”报表,显示每个读者的借书情况,要求使用子报表实现,并且第1页只显示报表的标题、制作人和日期等信息,从第2页开始显示读者借书的信息。
11.建立一个“借书统计”报表,显示图书信息及借书统计图表。
实习四使用SQL-server查询分析器
【实验目的】
1.熟练使用SQL-server数据库查询分析器,使用查询分析器创建数据库、数据表。
2.进一步练习使用T-SQL语言,在查询分析器中使用T-SQL语言进行数据库及数据表的操作。
【实验内容】
1.初始化数据库,创建QTGL(旅店管理系统的前台管理的数据库)。
2.选择要访问的数据库。
3.在QTGL数据库中创建新表并操作表。
createdatabaseQTGL
USEQTGL
Createtable旅客
(身份证号码CHAR(18),
姓名varchar(20)notNULL,
性别CHAR
(2)NOTNULL,
工作单位VARCHAR(50),
职务CHAR(10),
贵宾CHAR
(1),
PRIMARYKEY(身份证号码))
SELECT*FROM旅客
Createtable房型价目
(房型CHAR
(2),
价目moneynotnull,
可住人数int,
primarykey(房型))
/**创建“客房信息”表**/
createtable客房信息
(房号char(5),
房型char
(2),
入住人数INT,
PRIMARYKEY(房号),
foreignkey(房型)references房型价目(房型));
/**创建“入住记录”表**/
Createtable入住记录
(身份证号码CHAR(18),
入住时间DATETIMEDEFAULT(GETDATE()),
离店时间DATETIME,
房号CHAR(5)NOTNULL,
包房BIT,
预收金额MONEYCHECK(预收金额>=200),
优惠级别CHAR
(1),
房金结账MONEY,
消费结账MONEY,
总账MONEY,
PRIMARYKEY(身份证号码,入住时间),
foreignkey(身份证号码)references旅客(身份证号码));
/**创建“消费项目分类”表**/
Createtable消费项目分类
(项目代码char(4),
项目名称char(10)notnull,
项目内容varchar(50),
primarykey(项目代码),
UNIQUE(项目名称));/*项目名称*/
/**创建“消费类账”表**/
Createtable消费类账
(身份证号码char(18),
入住时间datetime,
项目代码char(4),
费用money)
4.添加记录:
INSERT语句
insertinto旅客
(身份证号码,姓名,性别,工作单位,职务)
values
('350104197812280015','张家口','男','闽南大学','副教授')
5.删除记录
deletefrom旅客where身份证号码='350104197812280015';
6.修改表中记录的属性值:
update语句
Update房型价目set价目=1000where房型=‘AO’
7.删除数据库中的对象:
DROP语句
删除表:
droptable安全黑名单
删除索引:
dropindex单位排序
删除数据库;dropdatabase数据库名称;
8.在表中添加新的属性:
ALTER语句
ALTERTABLE房型价目
ADD房型名称CHAR(10);
9.数据库中数据的查询select语句
1)掌握SELECT语句的基本语法。
2)掌握简单单表查询
3)学会连接查询、嵌套查询
4)学会使用聚函数和进行分组查询
(1).查询
SELECTselect_list
FROMtable_source
[WHEREsearch_condition]
[GROUPBYgroup_by_expression]
[HAVINGsearch_condition]
[ORDERBYorder_expression[ASC|DESC]]
(2)、连接
内联接仅显示两个联接表中的匹配行的联接。
(这是查询设计器中的默认联接类型。
)例
如,可以联接titles表和publishers表以创建显示每个书名的出版商名称的结果集。
在
内联接中,结果集内不包含没有出版商信息的书名,也不包含没有书名的出版商。
这类联接
所得到的SQL可能象下面这样:
SELECTtitle,pub_name
FROMtitlesINNERJOIN
publishersONtitles.pub_id=publishers.pub_id
注意当创建内联接时,包含NULL的列不与任何值匹配,因此不包括在结果集内。
空值
不与其它的空值匹配。
外联接甚至包括在联接表中没有相关行的行的联接。
可以创建外联接的三个变化形式来
指定所包括的不匹配行:
左向外联接包括第一个命名表("左"表,出现在JOIN子句的最左边)中的所有行。
不
包括右表中的不匹配行。
例如,下面的SQL语句说明titles表和publishers表之间的
左向外联接包括所有的书名,甚至包括那些没有出版商信息的书名:
SELECTtitles.title_id,
titles.title,
publishers.pub_name
ROMtitlesLEFTOUTERJOINpublishers
ONtitles.pub_id
=publishers.pub_id
右向外联接包