第5章 Access 2016数据库应用 1. 实验目的 (1) 了解创建Access 2016数据库的过程。 (2) 初步掌握创建表、定义主键、建立表间关系和录入数据的方法。 (3) 初步掌握查询、窗体、报表的创建方法。 2. 实验示例 【任务1】创建数据库。 【要求】创建数据库“学生成绩管理.accdb”。 【操作步骤】 Access 2016提供了很多数据库模板,用户可以使用模板创建数据库,也可以自行创建空白数据库,这里选择自己创建“空白桌面数据库”。 (1) 启动Access 2016,单击“空白桌面数据库”按钮。 (2) 在右侧窗格“文件名”文本框中输入数据库名“学生成绩管理”。若要更改默认的存储位置,则单击“文件名”文本框右侧的“浏览”按钮,选择数据库存储路径。 (3) 单击“创建”按钮,如图51所示。 图51创建数据库 提示: 创建一个Access数据库的步骤如下。 (1) 创建一个空数据库。 (2) 创建数据库中的表。 (3) 确定表的主键。 (4) 建立各表之间的关系。 (5) 录入数据。 (6) 创建其他数据库对象。 【任务2】创建表。 【要求】 (1) 根据表51~53提供的表结构创建“学生信息表”“课程表”“成绩表”,并设置各表的主键。 表51学生信息表 字段名字 段 类 型字 段 大 小是 否 主 键 学号短文本8是 姓名短文本10否 性别短文本1否 出生日期日期/时间8(长日期)否 政治面貌短文本2否 班级短文本10否 照片OLE对象否 表52课程表 字段名字 段 类 型字 段 大 小是 否 主 键 课程号短文本5是 课程名短文本20否 课程类别短文本5否 学分数字字节否 表53成绩表 字段名字 段 类 型字 段 大 小是 否 主 键 学号短文本8是 课程号短文本5是 成绩数字单精度(小数位数为1)否 (2) 建立表间关系。 (3) 录入数据。 【操作步骤】 1) 创建表结构并设置主键 (1) 打开表设计视图。 打开“学生成绩管理”数据库,单击“创建”选项卡→“表格”选项组中的“表设计”按钮(图52),打开表设计视图。 (2) 设置表中各字段的字段名和字段类型。在“字段名称”列中根据表51中的字段顺序依次输入字段的名称,在“数据类型”列选择相应的数据类型,在“说明”列中可以输入一些该字段的说明信息,在视图下方的“常规”选项卡中设置“字段”的大小、格式等,如图53所示。 图52单击“表设计”按钮 图53“学生信息表”设计视图 (3) 设置主键。 选中“学号”所在行,单击“表格工具|设计”选项卡→“工具”选项组中的“主键”按钮,则“学号”字段左侧的“选择器”按钮上出现主键图标。 提示:  还可以选中“学号”字段,右击,在弹出的快捷菜单中选择“主键”命令。  一个表只能定义一个主键,主键可由表中的一个或多个字段组成。如果多个字段做主键,则需按住Ctrl键,依次单击作为主键的字段,然后单击“主键”按钮。 (4) 保存表。 单击“保存”按钮,在弹出的对话框中选择保存位置,将表保存为“学生信息表”。 (5) 用类似的方法创建“课程表”和“成绩表”。 此外,如果表结构发生变化,还可以在表的设计视图中根据需求修改表结构。 2) 建立表间关系 根据数据库的逻辑结构设计创建各表之间的关系,如表54所示。 表54表间关系 主表从表关 系 类 型关 联 字 段 学生信息表成绩表一对多学号 课程表成绩表一对多课程号 下面以创建“学生信息表”和“成绩表”之间的关系为例进行介绍。 (1) 单击“数据库工具”选项卡→“关系”选项组中的“关系”按钮,弹出“显示表”对话框,如图54所示。 图54“显示表”对话框 提示: 如果数据库中尚未定义任何关系,系统会自动弹出“显示表”对话框; 如果需要添加表,而“显示表”对话框未弹出,则在“关系”窗口空白处右击,在弹出的快捷菜单中选择“显示表”命令。 (2) 选择“显示表”对话框中的“表”选项卡,双击要建立关系的“学生信息表”和“成绩表”,将其添加到“关系”窗口,关闭“显示表”对话框。 提示: 在“关系”窗口中添加表,也可以在“显示表”对话框中先选择表,然后单击“添加”按钮实现。 (3) 在“关系”窗口中拖动“学生信息表”中的“学号”字段到“成绩表”中的“学号”字段,弹出“编辑关系”对话框,如图55所示,选中“实施参照完整性”复选框,单击“创建”按钮,完成关系的建立。 返回“关系”窗口,可以看到两个表之间出现了一条关系联线,并注明是一对多的关系。同理,创建“成绩表”和“课程表”之间的关系,如图56所示。 图55“编辑关系”对话框 图56“关系”窗口 (4) 单击“保存”按钮,保存关系。 3) 录入数据 在数据库左侧“所有对象”窗格中选择相应的表,双击,打开表,根据素材“学生信息表.xlsx”“成绩表.xlsx”“课程表.xlsx”中的数据在“数据表视图”中输入数据。 提示: 对于大量数据录入,还可通过导入“外部数据”方法实现,外部数据可以是文本文件、电子表格文件、数据库文件等。 【任务3】创建查询。 【要求】查询所有学生的高等数学成绩,显示学生的“学号”“姓名”“课程名”“成绩”,并按成绩降序排序,将查询结果保存为“高数成绩”。 【操作步骤】 (1) 打开查询设计视图。 单击“创建”选项卡→“查询”选项组中的“查询设计”按钮,打开查询设计视图,弹出“显示表”对话框。 (2) 选择数据源。 双击数据源“学生信息表”“课程表”“成绩表”,将其添加到查询设计视图中,关闭“显示表”对话框。 (3) 选择字段。 在查询设计视图中,分别双击“学生信息表”的“学号”“姓名”字段、“课程表”的“课程名”字段和“成绩表”的“成绩”字段,将其添加到视图下方QBE网格的字段行,如图57所示。 (4) 输入条件。 在QBE网络中,在“课程名”字段的“条件”行输入“高等数学”,在“成绩”字段的“排序”行选择“降序”。 (5) 查看查询结果。 单击“开始”选项卡→“视图”选项组中的“数据表视图”按钮,查看查询结果,如图58所示。 图57查询设计视图 图58查询结果 提示: 单击“开始”选项卡→“视图”选项组中的“设计视图”按钮,可以从数据表视图返回查询设计视图,以便修改查询。 (6) 保存。 单击“保存”按钮,将查询保存为“高数成绩”。 提示: 可以单击“开始”选项卡→“视图”选项组中的“SQL视图”按钮,查看此查询的SQL语句,如图59所示。 图59SQL语句 【任务4】创建窗体。 【要求】使用窗体向导创建包含“课程号”“课程名”“课程类别”“学分”字段的“课程信息”窗体。 【操作步骤】 (1) 选择数据源。 单击“创建”选项卡→“窗体”选项组中的“窗体向导”按钮,弹出“窗体向导”对话框,在“表/查询”列表框中选择“表: 课程表”作为窗体数据源。单击按钮,将该表字段全部移到“选定字段”列表框中,如图510所示,单击“下一步”按钮。 图510“窗体向导”对话框(1) (2) 设置窗体布局,保存窗体。 在“窗体向导”对话框中选择“纵栏表”布局(图511),单击“下一步”按钮,输入窗体标题“课程信息”,单击“完成”按钮,新创建的“课程信息”窗体如图512所示。 图511“窗体向导”对话框(2) 图512“课程信息”窗体 【任务5】创建报表。 【要求】以“成绩表”为数据源,使用报表向导创建名为“课程成绩分析”的报表,按课程号进行分组,统计出每门课程的最高分、最低分和平均分。 【操作步骤】 (1) 选择数据源。 单击“创建”选项卡→“报表”选项组中的“报表向导”按钮,弹出“报表向导”对话框,在“表/查询”列表框中选择“表: 成绩表”作为报表数据源。单击按钮,将该表字段全部移到“选定字段”列表框中,如图513所示,单击“下一步”按钮,进入分组级别界面。 图513“报表向导”对话框 (2) 设置分组级别。 因为按课程号进行分组,所以需要将默认的分组级别“学号”改为“课程号”。 选择右侧区域的“学号”字段,单击按钮,将该字段移动到左侧待选框中; 选择待选框中的“课程号”字段,单击按钮,选定为报表的分组字段。单击“下一步”按钮,如图514所示。 (3) 设置汇总方式。 选择“成绩”为降序排序字段,如图515所示,单击“汇总选项”按钮,弹出“汇总选项”对话框,选中“平均”“最小”“最大”复选框,在“显示”选项组中选中“仅汇总”单选按钮,如图516所示。单击“确定”按钮,关闭该对话框,返回图515所示向导,单击“下一步”按钮。 图514设置分组字段 图515选择排序字段 (4) 设置布局方式。 选择“递阶”布局方式,纸张方向为“纵向”,如图517所示,单击“下一步”按钮。 图516设置汇总方式 图517设置报表布局方式和纸张方向 (5) 输入报表标题,保存报表。 在报表向导的最后一个对话框中输入报表标题“课程成绩分析”,如图518所示。单击“完成”按钮,预览报表,结果如图519所示。 图518指定报表标题 图519报表预览结果 (6) 单击窗口右上角的“关闭”按钮。 3. 实验作业 以下操作均在给定素材“唱片信息.accdb”数据库中进行。 1) 基本操作 (1) 将“CD.accdb”数据库中的“类型”及“出版单位”表导入当前数据库中。 (2) 在数据库中建立一个新表,表名为“作曲家”,表结构如表55所示。 表55作曲家表结构 字 段 名 称数 据 类 型字 段 大 小 作曲家ID数字长整型 作曲家名称短文本10 作曲家介绍短文本30 年代日期/时间 (3) 分析“作曲家”表的字段构成,判断并设置主键。 (4) 对“作曲家”表进行如下设置。 ① 设置“作曲家名称”字段为必填字段。 ② 设置“年代”字段的格式为“长日期”。 (5) 将表56所示数据输入“作曲家”表中。 表56作曲家表数据 作曲家ID作曲家名称作曲家介绍年代 2冼星海黄河1935年4月23日 1聂耳国歌作曲者1945年4月23日 (6) 对主表“出版单位”与相关表“CD收藏”、主表“类型”与相关表“CD收藏”建立关系,表间均实施参照完整性。 2) 简单应用 (1) 建立一个名为“Q1”的查询,查找价格超过100元(包括100元)的CD记录,数据来源为“CD收藏”“出版单位”表,显示“CDID”“主题名称”“购买日期”“介绍”“价格”“出版单位名称”。 (2) 使用窗体向导创建包含“作曲家名称”“作曲家介绍”“年代”的窗体,数据来源为表“作曲家”,设置窗体的标题为“作曲家”,窗体布局为“表格”,将窗体名称保存为“W1”。 (3) 使用报表向导创建名为“P1”的报表,显示“CD收藏”表中的全部记录,设置分组级别为“出版单位ID”,布局为“递阶”,报表标题为“CD收藏”。 提示: 将数据库中的表导入当前数据库的步骤如下。  单击“外部数据”选项卡→“导入并链接”选项组中的“Access”按钮,弹出“获取外部数据”对话框(图520),单击“浏览”按钮,找到数据源(“CD.accdb”),单击“确定”按钮,弹出“导入对象”对话框。  在“表”选项卡中选择需要的数据表(如果需要导入所有的表,可以单击“全选”按钮),如图521所示,单击“确定”按钮。 图520选择导入的数据源 图521选择导入的表