《Access数据库技术与应用》课程课件
课程目标
- 理解关系型数据库的基本概念。
- 掌握Access数据库对象(表、查询、窗体、报表)的设计与使用。
- 能够独立完成中小型数据库系统的设计与开发。
- 初步掌握VBA宏编程以增强数据库自动化功能。
第一章:数据库基础与Access概述
1 数据库基本概念
- 数据 (Data):描述事物的符号记录。
- 数据库 (DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。
- 数据库管理系统 (DBMS):如Access, MySQL, SQL Server。
- 关系型数据库:基于关系模型(二维表)的数据库。
- 表 (Table):基本存储单位。
- 字段 (Field):列,代表属性。
- 记录 (Record):行,代表一条完整的数据。
- 主键 (Primary Key):唯一标识一条记录的字段(如学号、ID)。
2 Access简介
- Access的特点:
- 轻量级,适合小型应用。
- 与Office套件(Word, Excel)集成度高。
- 开发速度快,无需复杂配置。
- Access数据库文件扩展名:
.accdb(2007及以上版本) 或.mdb(旧版本)。
第二章:数据库设计与表结构
1 数据库设计步骤
- 需求分析:确定需要存储哪些数据。
- 概念设计:绘制E-R图(实体-关系图)。
- 逻辑设计:将E-R图转换为表结构。
- 物理设计:在Access中创建表和设置属性。
2 创建表的方法
- 表视图(直接输入):适合快速测试,不推荐用于正式设计。
- 设计视图(推荐):
- 定义字段名称。
- 选择数据类型(文本、数字、日期/时间、是/否、自动编号等)。
- 设置字段属性(如字段大小、格式、输入掩码、默认值、有效性规则)。
3 设置主键
- 自动编号:系统自动生成唯一整数,最常用。
- 单字段主键:如“员工ID”。
- 多字段主键:如“订单ID + 产品ID”组合唯一。
4 表之间的关系
- 一对一 (1:1):较少见,通常用于拆分敏感信息。
- 一对多 (1:N):最常见,一个部门对应多个员工。
实现方式:在“多”的一方表中建立“一”的一方表的主键作为外键。
- 多对多 (M:N):
- 实现方式:必须通过中间表

(关联表)将两个多对多关系分解为两个一对多关系。
- 学生与课程,中间表包含“学生ID”和“课程ID”。
- 实现方式:必须通过中间表
5 规范化理论(简述)
- 第一范式 (1NF):字段不可再分。
- 第二范式 (2NF):消除部分依赖。
- 第三范式 (3NF):消除传递依赖。
- 目的:减少数据冗余,避免更新异常。
第三章:查询(Queries)
1 查询的作用
- 筛选数据。
- 计算数据。
- 更新、删除、追加数据。
- 连接多个表。
2 选择查询(Select Query)
- 基本操作:选择字段、设置显示列。
- 排序:升序/降序。
- 筛选:
- 简单筛选:等于、大于、介于等。
- 通配符: (任意多个字符), (任意单个字符)。
- 逻辑条件:
AND,OR,NOT。
3 交叉表查询(Crosstab Query)
- 类似Excel数据透视表。
- 用于汇总统计,行标题、列标题、值。
4 参数查询
- 运行查询时弹出对话框,要求用户输入条件。
- 示例:
[请输入起始日期]。
5 操作查询
- 追加查询:将数据添加到现有表中。
- 更新查询:批量修改数据。
- 删除查询:批量删除数据(需谨慎!)。
- 生成表查询:创建新表并填入数据。
6 SQL视图基础
- 了解基本SQL语句结构:
SELECT 字段1, 字段2 FROM 表名 WHERE 条件 ORDER BY 字段;
第四章:窗体(Forms)
1 窗体的作用
- 数据输入界面。
- 数据修改界面。
- 控制应用程序流程。
2 窗体类型
- 单窗体:显示一条记录的详细信息。
- 连续窗体:以表格形式显示多条记录。
- 数据表窗体:类似Excel表格视图。
- 分割窗体:上半部分为单记录视图,下半部分为连续记录视图。
3 窗体设计工具
- 控件:
- 文本框(绑定字段、未绑定控件用于显示计算结果)。
- )。
- 命令按钮(执行操作)。
- 组合框/列表框(从下拉列表中选择值)。
- 选项组、复选框、切换按钮。
- 窗体节:
- 窗体页眉/页脚:显示在整个窗体顶部/底部(如标题、按钮)。
- 详细信息:显示具体数据记录。
- 窗体页脚:显示汇总信息。
4 子窗体
- 在父窗体中嵌入子窗体,实现一对多关系的直观展示(如:在“订单”窗体中显示该订单的“商品明细”子窗体)。

第五章:报表(Reports)
1 报表的作用
- 数据格式化输出。
- 打印准备。
- 数据汇总与分析。
2 报表设计视图
- 报表节:
- 报表页眉/页脚:只出现一次(封面、总计)。
- 页面页眉/页脚:每页都出现(页码、日期)。
- 组页眉/页脚:按组出现(如按部门分组)。
- 详细信息:每条记录。
- 分组与排序:在报表设计器中设置分组级别。
- 汇总函数:
Sum(),Avg(),Count(),Max(),Min()。- 在组页脚或报表页脚中计算。
3 报表向导
- 使用向导快速创建基本报表,适合初学者。
第六章:宏与VBA编程基础
1 宏(Macro)
- 作用:无需编写代码即可自动化任务。
- 常用操作:
OpenForm:打开窗体。OpenReport:打开报表。RunSQL:运行SQL语句。Beep:发出提示音。MsgBox:显示消息框。
- 宏组:将多个宏组织在一起。
2 VBA (Visual Basic for Applications)
- 为什么需要VBA:宏功能有限,VBA提供更强大的逻辑控制、错误处理和自定义功能。
- VBA编辑器 (VBE):
- 模块 (Module):存储代码。
- 过程 (Sub/Function):代码块。
- 基本语法:
- 变量声明:
Dim x As Integer - 条件判断:
If...Then...Else - 循环:
For...Next,Do While...Loop - 对象引用:
Forms!FormName!ControlName
- 变量声明:
3 事件过程
- 代码与特定事件关联:
On Click:按钮点击。On Load:窗体加载时。On Current:记录切换时。Before Update:数据保存前验证。
第七章:综合案例:学生信息管理系统
1 需求分析
- 管理学生基本信息、课程信息、成绩信息。
- 功能:录入、查询、统计、打印成绩单。
2 数据库结构设计
- 表1:学生表 (Students)
- StudentID (主键, 自动编号)
- Name (文本)
- Gender (是/否)
- BirthDate (日期)
- ClassID (外键)
- 表2:班级表 (Classes)

- ClassID (主键, 自动编号)
- ClassName (文本)
- 表3:课程表 (Courses)
- CourseID (主键, 自动编号)
- CourseName (文本)
- Credit (数字)
- 表4:成绩表 (Grades)
- GradeID (主键, 自动编号)
- StudentID (外键)
- CourseID (外键)
- Score (数字)
3 关系建立
- 班级表 (1) —- (
) 学生表 - 学生表 (1) —- (
) 成绩表 - 课程表 (1) —- (
) 成绩表
4 功能实现
- 主菜单窗体:包含按钮,用于打开其他窗体。
- 学生录入窗体:使用子窗体显示该学生的所有成绩。
- 成绩查询窗体:提供按姓名、班级筛选的条件,结果以连续窗体显示。
- 成绩统计报表:按班级分组,显示平均分、最高分、最低分。
- VBA应用:在保存成绩时,检查分数是否在0-100之间;如果无效,提示错误并取消保存。
第八章:数据库维护与安全
1 备份与恢复
- 定期复制
.accdb文件。 - 使用Access内置的“压缩和修复数据库”功能。
2 安全性
- 用户级安全:Access 2007之前版本支持工作组信息文件,2007之后版本主要依靠文件权限和加密。
- 加密数据库:设置打开密码。
- 前端/后端分离:
- 后端:仅包含表,放在网络共享文件夹。
- 前端:包含窗体、报表、查询、代码,链接到后端表。
- 优点:多用户同时访问,减少网络冲突,便于分发更新。
附录:常见错误与调试技巧
- 数据类型不匹配:确保输入的数据类型与字段定义一致。
- 主键重复:检查是否尝试插入重复的主键值。
- 外键约束违反:尝试删除被其他表引用的记录,或插入不存在的外键值。
- 调试VBA:
- 使用
F8单步执行。 - 使用
Debug.Print在立即窗口输出变量值。 - 使用
On Error GoTo处理运行时错误。
- 使用
学习建议:
- 动手实践:数据库是实践性很强的学科,务必亲手创建每个对象。
- 从小做起:先设计简单的表,再逐步增加复杂度和功能。
- 重视设计:良好的表结构设计是系统稳定运行的基石。
希望这份课件大纲对您的学习或教学有所帮助!如有具体章节需要深入讲解,欢迎继续提问。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复