第二篇 应用环境
目 录 第五章 Access数据库数据库系统原理上机实验是学习本门课程的重要环节之一,实验的设置是为了配合课堂教学,使学生熟练掌握和深入理解课堂教学内容,进一步强化对数据库系统原理的理解。同时,通过上机练习,也可以检验用关系数据库标准语言SQL对数据库进行操作的结果是否正确,使关系数据库的基本概念更加具体、丰富。
|
![]() |
使用表设计器和通过输入数据创建表的过程都很简单,请同学自己实践。
如果数据库中有一些表是不需要的,我们可以用鼠标右键单击这个表名,从跳出的菜单项中选择删除即可删除不需要的表。
设计学生信息管理系统中所有的基本表,并添加到实验二创建的数据库,并输入适当的记录元组。
建立表之间的关系
熟练掌握在Access环境创建表之间关系的方法
在Access数据库中,不同表中的数据之间都存在一种关系,这种关系将数据库里各张表中的每条数据记录都和数据库中唯一的主题相联系,使得对一个数据的操作都成为数据库的整体操作,正所谓“牵一发而动全身”。 在Access中,可以在两个表之间直接建立“一对一”和“一对多”关系,而“多对多”关系则要通过“一对多”关系来实现。
Access环境中建立表之间关系的方法如下:
首先单击“工具”菜单下的“关系”命令,弹出“关系”对话框,上面还有一个“显示表”对话框如下图,通过“显示表”对话框可以把需要建立关系的“表”或“查询”加到“关系”对话框中去。
将要建立关系的表都选中,单击“添加”按钮把它们都添加到“关系”对话框上,单击“关闭”按钮把“显示表”对话框关闭。以后再需要打开它时,只要在“关系”对话框上单击鼠标右键,选择“显示表”命令就可以了。让不同表中的两个字段建立联系以后,表中的其他字段自然也就可以通过这两个字段之间的关系联系在一起了。这个可以在打开关系时进行编辑。通常在建立表之间的关系以后,Access会自动在主表中插入子表。但这些子表一开始都是不显示出来的。在Access中,让子表显示出来叫做“展开”子数据表,让子表隐藏叫做将子数据表“折叠”。
在我们建立表之间的关系时,窗口上有一个复选框“实施参照完整性”,单击它之后,“级联更新相关字段”和“级联删除相关字段”两个复选框就可以用了。如果选定“级联更新相关字段”复选框,则当更新父行(一对一、一对多关系中“左”表中的相关行)时,Access就会自动更新子行(一对一、一对多关系中的“右”表中的相关行),选定“级联删除相关字段”后,当删除父行时,子行也会跟着被删除。而且当选择“实施参照完整性”后,在原来折线的两端会出现“1”或“OO”符号,在一对一关系中“1”符号在折线靠近两个表端都会出现,而当一对多关系时“OO”符号则会出现在关系中的右表对应折线的一端上。
设置了实施参照完整性就可以使我们在表中修改了一个记录的时候,不会影响到查询的操作。特别是在有很多表,而且各个表之间都有关系联接时,“实施参照完整性”会带来更多的方便。
在上面数据库的表之间建立所需的关系
创建查询
熟练掌握查询语句的使用。
一、创建查询
首先要在Access中打开数据库,然后单击“对象”列表中的“查询”项,并在创建方法列表中单击“在设计视图中创建查询”项。
因为下面的操作都是在对“查询”这个对象进行操作,所以要将当前的对象切换到“查询”对象上。单击“在设计视图中创建查询”后,屏幕上出现“查询”窗口,它的上面还有一个“显示表”对话框。单击“显示表”对话框上的“两者都有”选项,在列表框中选择需要的表或查询。
单击所需要的表或查询,然后单击对话框上的“添加”按钮,这个表的字段列表就会出现在查询窗口中。添加完提供原始数据的表后,就可以把“显示表”窗口关闭,回到“查询窗口”中准备建立“查询”了。
查询窗口可以分为两大部分,窗口的上面是“表/查询显示窗口”,下面是“示例查询设计窗口”,“表/查询显示窗口”显示查询所用到的数据来源,包括表、查询。窗口中的每个表或查询都列出了它们的所有字段。下方的示例查询窗口则是用来显示查询中所用到的查询字段和查询准则。
现在我们就要往查询设计表格中添加字段了,所添加的字段叫做“目标字段” .
在查询数据表中无法加入或删除列,而且不能修改查询字段的字段名。这是因为由查询所生成的数据值并不是真正存在的值,而是动态地从表对象中调来的,是表中数据的一个镜像。
查询创建完成之后,主菜单上单击“文件”菜单中的“保存”命令,如果是第一次存储这个查询,在屏幕上就会弹出一个对话框,询问如何命名这个查询:先将原来标签栏中Access默认的名字删去,然后将自己取的名字添进去,单击“确定”按钮就保存了新创见的查询了。
补充一:利用简单表查询向导建立查询
首先用鼠标单击数据库窗口的新建按钮,屏幕上弹出“新建查询”窗口,在列表框中选择“简单查询向导”,然后单击“确定”按钮。在出现的简单查询向导窗口上,选择新建查询中需要用到的字段名称。由于这些字段可能在不同的表或查询中,先要在表/查询下拉框的下拉菜单中选择需要的表或查询,这时在可用字段列表框中的字段就是所选择的表或查询中的全部可用字段了。用鼠标单击选中需要的“字段”,再单击“向左移”或“向右移”按钮就可以将这个选项作为新建查询中的一个选定的字段了。将所有需要的字段都选定以后,单击窗口上的下一步按钮,在下一个窗口中为新建的查询取名,并单击“完成”按钮,就可以创建一个新的查询了。
补充二:利用交叉表查询向导建立查询
Access支持一种特殊类型的总计查询,叫做交叉表查询。利用该查询,你可以在类似电子表格的格式中查看计算值。要创建一个交叉表查询,首先在数据库窗口中单击“新建”按钮,并在弹出的窗口中单击选中“交叉表查询向导”项,然后单击“确定”按钮。在出现的“交叉表查询向导”窗口中,第一步要求选择含有交叉表的表或查询的名称。第二步要选择在交叉表中哪些字段的值用来做行标题。最多只能选择三个字段。第三步要选择在交叉表中哪些字段的值用来做列标题。第四步要选择在表中的交叉点计算出什么数值。第五步中需要为新建的查询取名,并单击“完成”按钮。这样一个交叉表查询就完成了。可以看到,交叉表查询功能是用来计算汇总值的。
补充三:使用查找重复项查询向导建立查询
在Access中,可能需要对数据表中某些具有相同的值的记录进行检索、分类。利用系统提供的“查找重复查询向导”可以快速地完成一个“查找重复项”查询。首先在数据库窗口中单击“查询”选项卡,然后单击“新建”按钮,在“新建查询”对话框中,单击“查找重复查询向导”,单击“确定”按钮。“查找重复项查询向导”的 第一步与前面的两种查询向导一样,根据需要选取查询的对象,第二步选取设为重复值的字段,系统会按照选取的字段自动对数据表中的记录进行检索,按照设定的 字段分类检索。第三步选择另外查询的字段。其实,在此处选择的查询内容是用户想了解的信息,即有哪些记录具有相同的内容。在最后一个向导对话框中输入新建 查询的标题,或者接受系统提供的默认值,并且选择生成查询之后的操作,即可以选择在“数据表”视图中打开查询查看信息或在“设计”视图中修改查询设计。单击“完成”按钮结束查询的建立。
补充四:使用查找不匹配项查询向导建立查询
在Access中,可能需要对数据表中的记录进行检索,查看它们是否与其他记录相关,是否真正具有实际意义。利用“查找不匹配查询向导”可以快速地完成。首先在数据库窗口单击“新建”按钮。在“新建查询”对话框中,单击“查找不匹配查询向导”,单击“确定”按钮。向导的第一步要用户选取查询的两个对象,即记录相关的两个数据表。选定之后,单击“下一步”按 钮。在下一步中,选定前面选取的两个表间匹配的字段。系统会自动根据匹配的字段进行检索,查看不匹配的记录。第三步选取能够代表查询记录的字段。可以从对 话框左侧的可用字段列表向右侧窗口中选取用户需要的字段,选取没有特定的要求。在最后一个向导对话框中输入新建查询的标题,或者接受系统提供的默认值,并 且选择生成查询之后的操作,单击“完成”按钮结束查询的建立。
补充五:建立SQL查询
SQL查询是用户使用SQL语句直接创建的一种查询。实际上,Access所有的查询都可以认为是一个SQL查询,因为Access查询就是以SQL语句为基础来实现查询的功能。不过在建立Access查询时并不是所有的查询都可以在系统所提供的查询“设计”视图中进行创建。由于查询只能通过SQL语句来实现,SQL查询可以分为以下四类:联合查询、传递查询、数据定义查询和子查询。要想在Access中建立SQL查询,首先要建立一个新的查询,然后单击“视图”菜单,选择“SQL视图”命令,这样在屏幕上就出现了一个文本框,用来书写SQL语句。将用到的SQL语句输入完毕后,再单击“视图”菜单,选择“数据表视图”命令,就可以看到刚才SQL语句所起的作用了。
补充六:创建参数查询
参数查询可以在运行查询的过程中自动修改查询的规则,用户在执行参数查询时会显示一个输入对话框以提示用户输入信息,这种查询叫做参数查询。当需要对某个字段进行参数查询时,首先切换到这个查询的设计视图,然后在作为参数使用的字段下的“准则”单元格中,在方括号内键入相应的提示文本。此查询运行时,Access将显示该提示。输入完毕后,将查询切换到数据表视图,这时在屏幕中就会出现一个对话框,提问你需要限制哪个参数。此时输入一定的条件就可以看到查出的满足条件的记录。Access 的参数查询是建立在选择查询或交叉查询的基础之上的,是在运行选择查询或交叉查询之前,为用户提供了一个设置准则的参数对话框,可以很方便地更改查询的限制或对象。当然不仅仅可以建立单个参数的查询,还可以同时为其他字段建立准则提示的查询。
补充七:设置查询属性
要设置查询的属性,首先打开一个查询,然后点击工具栏上的“属性”按钮,在弹出的查询属性列表框中修改查询的属性。在各种查询属性中,很多都容易理解,现在介绍几种不常用但却很有用的属性:
运行权限:将这个属性设置为“所有者的”。设置了此属性后,所有用户都具有查询所有者的查看和执行查询权限,这样查询所有者才能保存更改的查询,只有查询所有者才能更改查询的所有权。
记录集类型:记录集类型包括动态集、动态集(不一致的更新)、快照三个类型。选择动态集,那么查询的数据表中的值可以修改,而且会动态的改动相应的计算值,而快照状态时则不能修改数据表中的数据。
二、为查询添加选择准则
l 使用表达式生成器
打开“表达式生成器”,在查询的规则行中单击鼠标右键,在弹出的菜单中可以看到一个“生成器...”的命令,单击它以后就会弹出一个“表达式生成器”。
在“表达式生成器”中,上方的这个方框用来输入“表达式”,是“表达式编辑框”,下面的一排“按钮”是操作符的快捷按钮,因为在表达式中,操作符出现的频率是最高的,我们单击任何一个按钮,“表达式编辑框”中就会出现相应的操作符 。在这排按钮的下面是三个列表框,最左面的这个框中是最基本的选项,选中这些选项以后,第二个列表框中就会出现次一级的列表。再选中第二个列表中的某一项,第三个列表框中就会出现更下一级的列表,在第三个列表中单击某一项,就可以将这一项加到表达式编辑器中了。
l 表达式生成器中的几种常用符号
“+”、“-”、“*”、“/”这几个符号就代表数学运算中的“加”、“减”、“乘”、“除”四种运算符号。使用“&”符号可以使两个表达式强制连接在一起。
“=”、“>”、“<”、“<>”这四个符号分别表示“等于”、“大于”、“小于”、“不等于”,它们都是用来判断某个条件是否为满足。
“And”、“Or”、“Not”这三个逻辑运算符是用来连接上面的这些条件表达式的。
Like ”常常用在对一个字符型的值进行逻辑判断,是否这个值满足某种格式类型。所以通常“Like”并不单独使用,常常还要跟一些别的符号: “?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字; “[字符列表]”表示字符列表中的任何单一字符; “[!字符列表]”表示不在字符列表中的任何单一字符。
1 无条件查询
l 查询全体学生的详细记录。这是一个无条件的选择查询,其命令为:
SELECT * /*这里的“*”等价于ALL*/
FROM Students;
其结果为表3.3中的全部数据。
2 条件查询
l 查询数学系全体学生的学号(Sno)和姓名 (Sname)。其命令为:
SELECT Sno, Sname
FROM Students
WHERE Sdept='数学';
l 查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。其命令为:
SELECT Sname, Sage
FROM Students
WHERE Sage NOT BETWEEN 18 AND 22;
3 查询结果排序
l 查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。其命令为:
SELECT *
FROM Students
ORDER BY Sdept, Sage DESC;
4 集函数的使用
l 查询学生总人数。其命令为:
SELECT COUNT(*)
FROM Students;
5 查询结果分组
l 查询选修了3门或3门以上课程的学生学号(Sno)。其命令为:
SELECT Sno
FROM Reports
GROUP BY Sno
HAVING COUNT(Cno)>
数据窗体操作
熟练掌握Access数据窗体的操作方法
窗体也是Access中的一种对象,它使用计算机屏幕将数据库中的表或查询中的数据告诉我们。
打开数据库,在数据库窗口的选项卡上选择“窗体”对象,然后在数据库菜单上单击“新建”按钮,并在弹出的“新建窗体”对话框中选择“自动创建窗体:纵栏式”选项,
选完以后在这个对话框下部的“该对象的数据来源表或查询”下拉框中选择需要的表或查询,这时先要将鼠标移动到下拉框右面的向下按钮上,单击鼠标左键,会弹出一个下拉列表框,选取我们需要的表,完成选择对象的数据来源表或查询,这些都完成以后单击“新建窗体”对话框中“确定”按钮。
接着Access就会给我们自动创建一个纵栏式的表格了。注意在创建以后可别忘了保存这个窗体。
我们也可以通过在上图选取不同样式来建立不同风格的数据窗体,也可以修改创建好的数据窗体,或者在上面添加控件、画图、为窗体添加背景等。
基于创建好的学生信息数据库,创建一个实现用户登陆功能的数据窗体。
创建数据报表
熟练掌握sql数据插入、修改和删除的使用。
“报表”和窗体的建立过程基本是一样的,只是最终一个显示在屏幕上,一个显示在纸上;窗体可以有交互,而“报表”没有交互罢了。
一、使用自动报表建立报表
打开一个数据库,在数据库窗口左侧的选项卡上选择“报表”对象。单击“数据库”窗口中的“新建”按钮,这时在屏幕上就会弹出一个“新建报表”的对话框,将鼠标移动到这个对话框里的列表框中,选择“自动创建‘报表’表格式”,并在对象数据的来源表或查询提示右面的下拉框右面的向下按钮上单击,在弹出的下拉列表中单击报表来源表,单击“确定”按钮。
现在屏幕上就出现了我们制做的“报表”的模拟显示样式了。
二、使用“报表”向导建立“报表”
首先双击数据库窗口中创建方式栏中的“使用向导创建报表”项,这时在屏幕上会弹出一个对话框“报表向导”,如下图。这个窗口中要求我们确定“报表”上使用哪些字段,这和我们使用“查询向导”和“窗体向导”差不多。另外,Access问我们是否要对“报表”添加分组级别,这个分组级别就是“报表”在打印的时候,各个字段是否是按照阶梯的方式排列。分几组,就有几级台阶。接下来选择报表的排序、样式等别的信息,最终完成报表的创建。
三、向“报表”中添加文字
将鼠标移动到工具箱上单击“标签”图标,将鼠标移动到“报表”上“‘报表’页眉”栏中的右下角,现在按住鼠标左键,拖动鼠标,当屏幕上出现的矩形虚线框的大小比较合适的时候放开鼠标左键,这时在你的“报表”上就出现了一个标签控件。而且它现在正处在可以输入文字的状态下,输入文字“制作者:某某”就可以了。
如果需要我们还可以修改报表内容的显示样式,请参阅相关资料。
创建一个报表,打印学生信息。
数据库不同版本之间的转换
熟练掌握数据库不同版本之间的转换方法。
由于不同版本的ACCESS数据库的数据结构不同,为了用不同版本的ACCESS建立的数据库在其它版本的ACCESS中,就需要将不同版本之间的数据库文件进行转化。
首先我们讲讲将旧版本的数据库转换到“Access2000”所能接收的数据库版本。单击工具栏上的“打开”按钮,选择旧的“数据库”文件,然后单击“打开”。
单击“选项”按钮,决定是希望将数据库转换为Access2000的格式,然后单击“确定”按钮就完成了将旧版本的数据库转换为Access2000中的数据库了。如果想把Access2000中的数据库转换成老版本的数据库,同样可以单击“工具”菜单,选择“数据库实用工具”,这样弹出一个菜单,单击菜单上的“到当前的Access数据库版本”。然后输入转换后的数据库名称和位置。完成这些后,单击“保存”按钮就可以了。
转换先前创建的学生信息数据库
|