数据库系统应用上机实验指导书.docx
- 文档编号:4951371
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:42
- 大小:687.35KB
数据库系统应用上机实验指导书.docx
《数据库系统应用上机实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库系统应用上机实验指导书.docx(42页珍藏版)》请在冰豆网上搜索。
数据库系统应用上机实验指导书
实验三表及数据操作
实验目的
1、进一步学习表设计器
2、掌握表关系的建立和编辑
3、掌握在表中数据的各种操作方法
4、了解数据及数据表视图格式设置
5、掌握数据的导入、导出和链接
实验内容
1、修改完善超市管理系统数据库中的表结构及属性;
2、建立和编辑表之间的关系
3、进行记录的添加、修改、删除、复制等操作;
4、进行数据的选择、删除、剪切、复制、粘贴等操作;
5、设置数据表视图的行高、列宽、字体、字号,单元格效果等格式
6、删除、冻结、隐藏列
7、数据的查找、替换、排序
8、练习数据导入、导出和链接
实验步骤
1表字段属性的修改
在上一次实验中创建表时,我们只简单的设计了字段的字段名称、数据类型和字段大小三个主要部分。
但在字段属性中,还有很多的内容。
对于不同的数据类型,“常规”标签里会显示不同的属性,常用的有:
格式,输入掩码,标题,默认值,有效性规则,有效性文本,必填字段,索引,输入法模式等。
各属性的功能和意义如下:
格式:
数据显示格式,比如:
时间类型的字段,显示为长时间还是短时间,是中国习惯的“年月日”还是英美国家习惯的“月日年”等
输入掩码:
限制数据输入的模式
标题:
在窗体中显示的名称,如果为空,则显示字段名,通常用于给用户友好的界面显示
默认值:
在添加新记录时,系统自动赋的值
有效性规则:
用于限制输入的逻辑表达式,返回值为真才接受
有效性文本:
当违反有效性规则时系统提示给用户的信息
必填字段:
如果该值为真,该字段必填,不能为空
索引:
用于加快查找的速度和性能
输入法模式:
当输入该字段时是否需要输入法以及何种输入法
举例销售员表中出生日期的属性如下图:
图表9:
出生日期属性设置
从上面表中可以看出,销售员的出生日期字段输入格式按中国人熟悉的”年-月-日”格式,销售员的出生日期不能晚于当前日期(当天的日期),如果输入的日期比当前日期还晚,则不能输入,系统显示提示信息:
“出生日期不能是将来”
在表设计器的字段属性中,“查阅”功能也特别有用,比如销售单表中的“销售员ID”和销售员表中的“销售员ID”相同,在原始的输入方式中,在输入“销售员ID”时,输入的是一个个数字,很容易搞错,如左图,实际我们是要确定该销售单是哪个销售员销售的,而销售单中的“销售员ID”的值只能输入销售员表中已经存在的“销售员ID”;如果在输入“销售员ID”时能根据销售员“姓名”确定就好了,如右图,直接点击输入框右边的下拉箭头,选择“销售员”,虽然看似选择的是销售员姓名,但实际输入的是“销售员ID”。
这就是“查阅”的功能,也即“参照完整性”。
图表10:
原始的数据输入方式和改进后的数据输入方式
方法一、首先将“销售员ID”的标题设置为“销售员”,再将查阅属性作如下图设置即可。
方法二、在数据类型的下拉列表中选择“查阅向导”,让向导自动完成对查阅属性的设置。
(这种方式必须是在两表之间未建关系之前做,建立关系后不能用此种方法)
图表11:
“销售员ID”字段查阅属性的设置(方法一)
说明:
绑定列:
表示以查询结果的第几列作为返回给组合框的值用来为本字段输入内容;eg.值为1表示将查询结果的第1列即“销售员ID”的值返回作为本字段的输入内容
列数:
表示在组合框中表示待显示的列数,即显示的查询结果的列数;eg.值为2表示在组合框中显示查询结果的前两列。
列宽:
用于设置每列的显示宽度,每列之间以分号分隔;例如:
0cm;2cm分别表示第一列和第二列在组合框中的显示宽度,第1列显示宽度为0cm,表示在组合框中不显示第1列的内容,也就是上图中改进后输入效果。
(可以自己修改该项设置,分别设置列宽为0及1,比较两种情况下展开组合框的显示区别)
如果某字段的取值只是固定的有限几个不同取值,如:
性别字段的“男”、“女”,学历字段的“专科”、“本科”、“硕士”等;可以进行字段查阅属性的设置,“显示控件”设为“列表框”,“行来源类型”可以设置为“值列表”,行来源中应输入所有可能的值,并以英文的分号隔开,如:
销售员的性别采用值列表,行来源里应输入:
"男";"女"
※注意:
这里的双引号和分号均为英文标点符号,不能用中文标点符号,系统会将中文标点符号等同于中文汉字对待,今后凡是在表达式中都只能用英文标点符号
2建立和编辑表之间的关系
表之间的关系就是表的外键与其他表的主键之间的关系,建立关系的方法如下:
选择“工具”→“关系”或点击工具栏中的
按钮,出现如图所示关系窗口。
图表12:
关系窗口
然后,选择“关系”“显示表”,或在关系窗口中点击鼠标右键,在弹出菜单中选择“显示表”,如图。
图表13:
显示表窗口
将需要建立关系的表添加进去,如:
“供应商”表和“商品”表,然后用鼠标拖动联系两个表的字段中主键字段例如:
“供应商”表中的“供应商ID”字段到对应的外键字段:
“商品”表中的“供应商ID”字段上,当鼠标变成一个长方条时,松开鼠标,这时出现如图所示“编辑关系”对话框。
图表14:
编辑关系对话框
如果要使有关系的表之间数据统一,应该设置“实施参照完整性”,(例如:
若未实施参照完整性,当在输入商品信息时,如果输入的供应商ID是一个在供应商表中不存在的值,系统不会提出反对意见,会允许输入,但若实施了参照完整性,遇到这种供应商不存在的情况,系统会给出相关提示信息,并且不允许输入)
级联更新相关字段当主表的主键值更改时,自动更新相关表中的对应数值;
级联删除相关字段当删除主表中的记录时,自动删除相关表中的有关记录(例如:
当删除供应商表某一供应商时,会自动同时删除掉商品表中由此供应商提供的所有商品)。
设置完后,点击“确定”按钮,完成关系的创建。
按照同样的方法,我们可以依次建立其他的几个关系。
如图,显示了“超市管理系统”中所有关系,建立了关系的表之间有一条连线连接起来,并指向相应字段。
图表15:
表之间的关系
关闭“关系”窗口,保存关系布局。
当需要修改关系时,可重新打开“关系”窗口,用鼠标双击或右击需要修改关系连线进行修改或删除(在表设计过程中如果进行了“字段查阅”属性的设置,则会自动建立对应的表的关系,可以修改此关系,设置其“实施参照完整性”)。
3记录的操作
添加新记录打开表,将光标置于最后一行有“*”的记录内,输入一条记录即可,也可以直接在任一条记录前点击鼠标右键,在弹出菜单中选择“新记录”,光标就自动移到输入新记录的位置。
修改记录先定位于要删除的记录,直接移到要修改的字段进行修改即可。
删除记录先定位于要删除的记录,可以在上面所述的弹出菜单中选择删除记录即可,也可以用“编辑”→“删除记录”。
在删除记录时有一对话框提示,以防误操作。
复制记录和上面的操作类似,需要说明的是,可以在表内、表之间以及向Word、Excel等复制,在表内复制要注意记录的唯一性,在表之间复制要注意表的字段顺序、类型、大小要一致,至少要兼容。
4数据的选择、删除、剪切、复制、粘贴等操作
这些操作和Word,记事本等文字操作一样,不再赘述。
5.数据的导入、导出和链接
导入是一种将数据从其他Access文件复制MicrosoftAccess中或将数据从不同格式转换并复制到MicrosoftAccess中的方法。
该方法可以利用已有的数据,减少数据录入工作量。
“文件”-》“获取外部数据”-》“导入”;
导出是一种将数据和数据库对象输出到其他数据库、电子表格或文件格式中,以便其他数据库、应用程序或程序可以使用该数据或数据库对象的方法。
如:
导出到Word、Excel对数据进一步处理。
“文件”-》“导出”;
导出在功能上与复制和粘贴相似。
链接是一种连接到其他应用程序中的数据但不将数据导入的方法,这样在原始应用程序和Access文件中都可以查看并编辑这些数据。
导入、导出和链接功能可以通过“文件”菜单或数据库窗口的弹出菜单中相关菜单项操作。
6设置数据表视图的行高、列宽、字体、字号、单元格效果等格式,删除、冻结、隐藏列
A.这些设置可以在“格式”菜单中找到,也可以在“数据表视图”的标题栏或相应的列上的弹出菜单中找到。
非精确的行高、列宽可直接通过鼠标拖动行列之间的缝隙调整。
删除列就删除相应的字段
B.冻结列用于当表的字段太多,在一个显示屏显示不完,需要拖动滚动条显示时,容易记录错位,通过将关键的一列固定,来解决记录错位问题。
C.当某些列暂时不使用并影响记录定位等情况下使用隐藏列将这些列隐藏起来。
相对应有“取消隐藏列”、“取消冻结列”。
7数据的查找、替换、排序、筛选
当表中有成千上万条记录时,查找某条记录或将某些内容替换修改,就要使用“查找和替换”工具。
可以在“编辑菜单”和相应的弹出菜单中找到该菜单,也可用工具栏中的
按钮。
点击“查找”后出现如下对话框,可以在指定的字段内,也可在整个表中进行查找和替换。
替换时,还需在替换框中输入替换的内容。
图表16:
查找替换
排序是将表中的记录按选定的列以升序或降序排列,先选定排序的列,可以直接点击工具栏里的
按钮,也可通过“记录”→“排序”或相应的弹出菜单来排序。
筛选是按给定的条件从记录中筛选出符合条件的记录,可以直接点击工具栏里的
按钮,也可通过“记录”→“筛选”或相应的弹出菜单来筛选。
实验任务:
(1-5题必做)
1.从实验中心网站“软件下载”下载超市管理数据库(其中不包括销售明细表;)
2.根据字段含义,修改完善各字段的属性:
将商品表中的警戒库存量字段默认值设为:
10;
A.雇员的雇佣日期不能晚于当前日期,违反时给出相应提示:
“雇佣日期晚于了当前日期”;
B.输入雇员性别字段时,直接选则男和女(值列表);
C.设置销售员的姓名字段及供应商表的公司名称字段不允许为空
D.为商品表中的供应商ID字段、类别ID字段、售货单表中的销售员ID字段及售货单明细表中的商品ID字段设置其查阅功能,使其在显示记录时,虽然各字段实际存放的是其ID,但却能显示其对应的名称(例如:
)销售员姓名、类别名称、供应商公司名称、商品名称而不是ID。
3.建立各表之间的关系,并且在各关系间实施参照完整性
4.练习导入、导出功能
A.从实验中心网站“软件下载”下载excel文件“收货单.xls”,将其中的数据导入到“超市管理系统.mdb”的对应表中。
B.从实验中心网站“软件下载”下载数据库文件db1.mdb,将其中的售货单明细表导入到销售管理系统数据库中。
C.将”销售管理系统.mdb中的商品表导出到db1.mdb数据库中,导出时表名称不变。
5.在各表中进行数据操作:
为各数据表输入相应的记录(在下载的数据库基础上,往系统中增加以自己名字命名的销售员信息,并为该销售员添加2-3条销售单记录,每个销售单记录对应3-5条销售单明细记录)
6.添加、删除、冻结、隐藏列
A.在供应商表的视图中,在“联系人姓名”字段后添加新的一列,并将新添加的列的列名重新命名为“特长”;
B.将新添加的“特长”字段删除
C.将销售员表中“姓名”字段冻结,比较冻结前后在显示的不同
7.*练习查找、替换、排序功能
A.对销售员表中的记录按姓名排序;
B.将销售员表中城市字段中的“重庆”替换为“重庆直辖市”,
C.查找出商品表中商品名称为“***”的商品记录(自己确定具体商品名称)
8.*对表中记录进行选择、剪切、复制、粘贴操作
分别选择系统中各原始表中的记录,将其进行复制并粘贴到任务3中导入的对应空备份数据表中。
9.*设置数据表视图的格式
将数据表视图的所有行高设为18;供应商表中的地址字段列宽设为25;所有表视图中的字体设为:
华文仿宋,字号设为:
小四;
实验报告
●写出试验过程1-5题的具体操作步骤
●写清楚系统中各表之间的关系,及关系所代表的具体含义,以配对的形式写出关系中主键及外键所在的表及字段名称
●写出实验过程中遇到的问题及心得体会
实验四查询设计
实验目的
1、掌握用向导设计查询
2、掌握用设计视图设计查询
实验内容
1、用向导设计查询
2、用设计视图设计简单查询、带条件的查询、对结果排序的查询
3、设计操作查询
实验步骤
1使用向导设计查询
在数据库窗口的左边“对象”栏中选择“查询”,双击“使用查询向导创建查询”选项,出现如图所示向导窗口。
选择相应的表和字段,按照向导的一步一步提示即可完成简单查询的创建。
图表17:
查询创建向导
2使用设计视图创建查询
在数据库窗口中双击“在设计视图中创建查询”,出现如图所示:
显示表和设计视图两个窗口。
图表18:
显示表对话框
图表19:
查询设计视图
选择查询所涉及的表或查询,例如“销售员”表,点击“添加”按钮添加到查询设计视图中,关闭“显示表”对话框。
设计视图中上部显示表和字段列表,下部为设计网格,用于设置查询字段及选项等。
在“设计视图”字段列表中双击“*”,则在设计网格的字段中出现“销售员.*”,表示选择了表中所有字段,如果只需要其中的部分字段,则在相应字段名上双击,或用鼠标将字段名拖到下面的字段中即可。
下图演示了查询“销售员”表中所有销售员的姓名。
图表20:
添加表的查询设计视图
点击工具栏上的运行按钮
即可查看查询结果,如下图。
如果查询以设计完毕,可关闭设计视图或查询结果窗口,此时系统提示是否保存查询以及保存的名称。
图表21:
查询结果
3带条件和排序的查询
在上面设计视图中,在相应字段的“条件”中输入一个表达式,用来限制查询返回的结果集,例如:
输入“赵军”,则结果集中只返回“赵军”这一条记录。
表达式也可以“生成器”产生复杂的条件,也支持通配符“*”、“?
”,其中“*”匹配任意多个的任意字符而“*”匹配单个任意字符。
如“Like"张*"”表示返回所有姓张销售员姓名,而“Like"张?
"”则返回所有姓张但姓名只有两个字的销售员姓名,如“张颖”、“张欢”。
在上面设计视图中,在相应字段的“排序”中选择“升序”或“降序”,则结果集就按该字段升序或降序排列。
4操作查询
注意:
以下操作查询执行后是不可撤销的,执行前要慎重考虑。
更新查询将表中符合查询条件的记录的相应字段值批量更改为新的值,如所有商品的单价提高0.5元,先用设计视图设计好选择查询(默认),然后在“查询”菜单中或在工具栏的
按钮中选择“更新查询”,然后在设计视图的“单价”字段的“更新到”框中输入“[单价]+0.5”,如下图,点击工具栏运行按钮即可。
如果要将单价提高10%,则需在“更新到”框中输入“[单价]*(1+0.1)”。
图表22:
更新查询
删除查询将表中符合查询条件的记录集批量删除,操作方法同更新查询类似。
生成表查询将查询结果保存在表中,可以是新表,也可以是原有的表,可以是当前数据库的表,也可以是其他数据库的表,操作方法同更新查询类似,系统会提示选择或输入表的名称,运行后,查询结果才保存到表中。
追加查询将符合查询条件的结果集追加到另一个表中,同生成表查询类似,要求被追加的表必须包含查询结果的相应字段。
实验任务
设计如下查询:
1.进货查询:
查询出系统中哪些商品应该进货(库存量<戒库存量的商品)
2.存货查询:
查询系统中各商品的库存信息(商品名称、供应商id、单价、数量)
3.查询所有出生日期在1965-1-1到1975-12-30之间出生的销售员
4.查询所有姓张的且性别为“女”销售员信息
5.将商品表中库存量字段中的值批量更新,所有海鲜类商品的库存量提高10%(更新查询)
6.将售货单明细表中售货单ID字段为“xxx”(xxx为售货单表中存在的值)的记录集批量删除(删除查询)
7.(选做)对商品表进行生成表查询,生成单价>=100元的商品表,新产生的表名为:
贵重商品(生成表查询)
8.(选做)对商品表进行追加查询,将商品单价在50<=单价<100元范围内的商品信息追加到“贵重商品”表(追加查询)
实验五复杂查询
实验目的
1、掌握多表查询的设计
2、熟悉参数查询和统计查询设计
实验内容
1、创建多表查询
2、设计带参数的查询
3、创建统计查询
实验步骤
1多表查询
打开查询设计视图,添加查询所依赖的表。
如:
要查询“佳佳乐”公司供应的商品,则要将“供应商”表和“商品”表添加到查询设计视图。
添加查询结果所需的字段,如:
将“公司名称”和“商品名称”作为查询结果字段。
设置查询条件,如:
在“公司名称”字段的“条件”中输入“佳佳乐”,如图。
点击工具栏中的运行按钮即可看到查询结果。
多于两个表的查询创建方法类似。
图表23:
多表查询设计
2设计带参数的查询
带参数的查询实际上就是条件查询,只不过参数查询的条件更灵活,每次运行查询时由用户动态输入参数来确定查询的条件。
比如,上面设计的多表查询每次运行时都是查询的“佳佳乐”公司供应的商品,而如果我们将设计网格中“公司名称”字段的条件中输入“[输入要查询的公司名称:
]”,则每次运行该查询时,先出现如图所示参数对话框(只要在某字段的条件中输入“[]”中括号就表示参数查询,中括号中间的文字表示输入提示,如图22)。
输入参数,点击“确定”按钮后,查询按输入值进行查询。
图表24:
查询参数对话框
3创建统计查询
查询还可以对字段统计次数,对数值型字段汇总,查找最大、最小值,计算平均值、标准差、方差等。
比如,每张销售单中有多种商品,每种商品的销售额计算方法为:
数量×单价×(1-折扣),汇总销售单中所有商品的销售额即为该销售单的总额。
要查询每张销售单的总额,操作方法如下:
打开查询设计视图,添加“售货单明细”表,添加“售货单ID”字段,在紧邻“售货单ID”字段位置输入表达式“总额:
[单价]*[数量]*(1-[折扣])”(注:
冒号前为计算字段的显示标题,冒号后为计算表达式),然后点击工具栏中的总计按钮
,在设计网格中出现新的一栏选项“总计”,各字段默认值为“分组”,对应“总额”计算机字段的位置点击下拉列表,选择“总计”,如图。
运行查询,每张销售单的销售总额便计算统计出来。
图表25:
统计查询设计
注意:
在“统计查询”中,对应“总计”行,一般新建字段(表中原本不存在而在查询中创建的字段:
在本例中为“总额”字段)为总计(具体选项根据查询要求选择),其余字段为分组。
实验任务
1.某供应商提供商品的信息查询:
查询出某供应商(通过参数查询)提供的所有商品的商品名称、类别名称、单价、库存量等信息
2.销售单的销售额统计:
按姓名查询某个销售员所销售的所有售货单并统计出每个售货单的总金额(在同一个查询中完成;提示:
销售员姓名、销售单ID为分组字段,新产生一个“总额”字段为总计字段)。
3.销售员月销售额统计:
统计出1998年所有销售员各月的销售总额(具体年份可通过参数传递或条件输入);
4.按商品月销售额统计:
查出每类商品1998年每个月的销售额,包括商品名称、销售月份、销售额;
5.交叉查询:
根据实验任务中3中的查询结果,建立一交叉查询,按月份对各销售员销售额进行对比及汇总,以方便同时按月份分析某月不同销售员业绩及按销售员分析某销售员不同月份的销售业绩。
试验报告:
1.分析作业1-5的具体实现步骤(包括分析从“显示表”中选用哪些表、从选择表中选用哪些字段及创建查询的整个过程),将各查询的设计试图截图附在实验报告中。
2.写出试验过程中遇到的问题及你觉得的难点
3.写出实验过程中的心得体会
实验六SQL查询语句练习
一、实验目的
1.掌握数据库操作语句的使用
2.掌握查询分析器的使用方法。
3.掌握SELECT语句在单表查询中的应用。
4.掌握SELECT语句在多表查询中的应用。
5.掌握SELECT语句在嵌套查询中的应用。
二、实验内容
直接编写SQL语句查询
前面设计的查询是通过向导或设计视图等图形界面方式创建的,我们还不知道其真正的SQL语句是什么。
其实,我们可以通过鼠标点击设计视图的空白区域,在弹出菜单中选择“SQL视图”或直接点击工具栏左上角的
中的“SQL视图”,即可查看查询背后的SQL语句。
实际上,我们可以修改已经创建好的查询,甚至在空白的设计视图中徒手编写SQL语句创建查询。
不过,这需要对SQL比较熟悉才行,而且要注意的是Access是一个具体的软件环境,并不一定支持所有SQL语句,使用教材上的示例SQL语句时要结合Access的在线帮助。
1.Select查询语句
SQL语言提供了Select语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。
其一般格式为:
SELECTselect_list
[INTOnew_table]
FROMtable_source
[WHEREsearch_condition]
[GROUPBYgroup_by_expression]
[HAVINGsearch_condition]
[ORDERBYorder_expression[ASC|DESC]]
Select语句的功能是:
根据Where子句的条件表达式,从From子句指定的基本表的全部元组中找出满足条件的部分元组,再按Select子句中的目标列表达式,挑选出这些元组中的某几个特定的属性列值形成结果表。
如果有Groupby子句,则表示要将查询结果按照Groupby子句后<属性列名>所表示的属性列的不同值进行某种方式的汇总,具体的汇总方式有求和、计数、求最大值、求最小值、求平均值等。
如果有Orderby子句,则还要将查询结果按Orderby子句后的<属性列名>的值的升序(ASC)或降序(DESC)进行排序。
1).单表查询
单表查询是指仅设计一个表的查询。
很多情况下,用户只对表中的一部分属性列感兴趣。
可以通过在select字句的《目标列表达式》中指定要查询的属性。
A.选择某个表中的若干属性列(投影)
即从数据库的一个表中挑选出某几个特定的属性列值。
例2-1查询所有供应商的公司名称、联系人姓名、联系人职务、地址和电话号码。
Select公司名称,联系人姓名,联系人职务,地址,电话
From供应商
注意:
Select子句后面的<目标列表达式>中各个属性列的先后顺序可以和其在表中的顺序不一致。
例如,可以调整本例中Select后面的属性列的顺序,改为先列出公司名称和电话号码,再列出联系人姓名和客户地址,调整后的Select语句为:
Select公司名称,地址,联系人姓名,联系人职务,电话
From供应商
例2-2查询所有产品的详细记录。
Select商品ID,商品名称,供应商id,类别id,单位数量,单价,库存量,警戒库存量From商品
本查询列出了产品表的所有属性列值,而且属性列的顺序与其在表中的顺序完全一致,因此在Select子句中可以简单地用(*)代替全部的属性列名。
Select*From商品
注意:
如果列的顺序与其在表中的顺序不完全一直,就不可以用这种方法。
例2-3查询被客户订购了的商品ID。
Select商品ID
From售货单明细
注意:
在上面的查询结果中包含了许多重复的行。
这是因为有许多产品被重复订购了,而Select子句的缺省含义是Selectall,即保留重复行,这样就出现了上面的查询结果。
如希望去掉重复的行,需要在Select子句中使用Distinct短语,修改后的语句为:
SelectDistinct商品ID
From售货单明细
B.选择某
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 应用 上机 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)