数据库基础概念:核心术语与关系模型
在开始使用 Access 进行数据库设计之前,必须先建立一套共同的语言体系。数据库、数据库管理系统、关系模型、主键、外键、索引——这些术语不仅是考试的高频考点,更是你未来设计任何信息系统的基石。本章将逐一拆解这些核心概念,帮助你理解它们之间的逻辑关系,并掌握在 Access 中如何落地这些理论。
3.1 数据库与数据库管理系统
核心原理
数据库(Database, DB) 是按照数据结构来组织、存储和管理数据的仓库。它不仅仅是数据的简单堆积,而是以某种规则长期存储在计算机内的、可共享的、有组织的数据集合。例如,一个学校的“学生信息数据库”包含学生的学号、姓名、专业、成绩等数据,这些数据按表结构组织,而非散落在 Excel 文件中。
数据库管理系统(Database Management System, DBMS) 是位于用户与操作系统之间的一层数据管理软件。它负责科学地组织和存储数据、高效地获取和维护数据。Access 本身就是一个典型的桌面级 DBMS,它提供了图形化界面,让你无需编写复杂代码即可完成建表、查询、报表等操作。
判断方法
区分“数据库”和“数据库管理系统”有一个简单标准:数据库是“东西”,DBMS 是“软件”。你正在操作的 .accdb 文件是数据库;而打开这个文件的 Access 程序是 DBMS。考试中常出现“Access 属于哪一类软件”的题目,答案就是数据库管理系统。
案例拆解
假设你要为一个小型书店设计管理系统。你首先在纸上画出书籍、顾客、订单等数据项,这些数据项的集合构成了“书店数据库”的逻辑设计。然后你打开 Access,创建“书籍表”、“顾客表”、“订单表”,此时 Access 作为 DBMS 在后台帮你完成了文件的物理存储和读写管理。你不需要关心数据具体存在硬盘的哪个扇区,这就是 DBMS 的价值。
常见误区
3.2 关系模型与实体-联系模型
核心原理
关系模型(Relational Model) 由 E.F. Codd 于 1970 年提出,它将数据组织成若干张二维表(称为“关系”)。每张表有一个名字,表中每一行称为一个“元组”(在 Access 中称为“记录”),每一列称为一个“属性”(在 Access 中称为“字段”)。关系模型要求每个属性不可再分,即表中不能再套表。
实体-联系模型(Entity-Relationship Model, E-R 模型) 是数据库设计阶段的概念模型,用于描述现实世界中的事物及其联系。它使用三个基本要素:实体(如“学生”)、属性(如“学号”、“姓名”)、联系(如“学生”与“课程”之间存在“选修”联系)。E-R 图是设计数据库的第一步,它帮助你理清业务逻辑,再转换为关系模型。
操作流程:从 E-R 图到关系表
- 识别实体:找出业务中的主要对象,如“学生”、“课程”。
- 定义属性:为每个实体添加描述性属性,如“学号”、“课程名”。
- 确定联系:分析实体之间的关系类型(1:1、1:N、M:N)。
- 转换规则:每个实体转换为一张表;M:N 联系必须拆分为两张表,并通过中间表关联。
案例拆解
以“学生选课系统”为例。E-R 图中包含“学生”实体(属性:学号、姓名)和“课程”实体(属性:课程号、课程名),二者是 M:N 联系(一个学生可选多门课,一门课可被多个学生选)。转换为关系模型时,需要三张表:
| 表名 | 字段 | 主键 |
|---|---|---|
| 学生表 | 学号, 姓名 | 学号 |
| 课程表 | 课程号, 课程名 | 课程号 |
| 选课表 | 学号, 课程号, 成绩 | 学号+课程号(复合主键) |
选课表中的“学号”和“课程号”分别是学生表和课程表的主键,在选课表中它们作为外键使用,共同构成复合主键。
常见误区
3.3 主键、外键与索引
核心原理
主键(Primary Key) 是表中唯一标识每一行记录的字段或字段组合。它必须满足两个条件:非空且唯一。例如“学号”可以作为学生表的主键,因为每个学号只对应一名学生。在 Access 中,主键字段会自动创建索引,并显示一个钥匙图标。
外键(Foreign Key) 是一个表中的字段,它引用另一个表的主键。外键用于建立和加强两个表之间的连接。例如“选课表”中的“学号”字段引用“学生表”的“学号”,这个字段在选课表中就是外键。外键的值必须在被引用表的主键中存在,或者为 NULL(如果允许),这称为参照完整性。
索引(Index) 是一种独立于表的数据库结构,它类似于书籍的目录,可以加快数据检索速度。索引可以建立在表的一个或多个字段上。Access 默认对主键建立聚集索引,你也可以在“设计视图”中为其他字段(如“姓名”)创建普通索引。
判断方法
- 找主键:看哪个字段能唯一确定一条记录,且不会为空。例如“身份证号”、“订单编号”。
- 找外键:看哪个字段的值是另一张表的主键值。例如“订单表”中的“客户编号”是“客户表”的主键。
- 建索引:对经常用于查询条件、排序或连接的字段建立索引,但不要对频繁更新的字段建过多索引,否则会降低写入性能。
案例拆解:图书借阅系统
假设数据库中有“图书表”(主键:图书编号)和“借阅表”(主键:借阅编号)。借阅表中的“图书编号”是外键,它确保每次借阅记录都对应一本真实存在的图书。如果尝试在借阅表中输入一个不存在的图书编号,Access 会弹出错误提示,这就是参照完整性在起作用。
现在,你需要在 10 万条借阅记录中查询某本特定图书的借阅历史。如果没有索引,Access 必须逐行扫描全表;如果对“图书编号”建立了索引,Access 可以像查字典一样快速定位,查询时间可能从几秒降到几十毫秒。
常见误区与复盘
3.4 知识结构总表
| 术语 | 英文 | 作用 | Access 中的体现 |
|---|---|---|---|
| 数据库 | DB | 存储数据的容器 | .accdb 文件 |
| 数据库管理系统 | DBMS | 管理数据库的软件 | Microsoft Access 程序 |
| 关系模型 | Relational Model | 用二维表组织数据 | 表、查询 |
| 实体-联系模型 | E-R Model | 概念设计工具 | 设计阶段的 E-R 图 |
| 主键 | Primary Key | 唯一标识记录 | 表设计视图中的钥匙图标 |
| 外键 | Foreign Key | 建立表间关联 | 关系窗口中的连线 |
| 索引 | Index | 加速查询 | 字段属性中的“索引”设置 |
掌握这些基础术语后,你已经具备了进入 Access 实际操作的理论储备。下一阶段的学习将围绕如何将这些概念应用到具体的表设计、查询创建和窗体开发中。请务必动手在 Access 中创建几个简单的表,尝试设置主键、建立关系并添加索引,将抽象概念转化为直观体验。