Access 入门、表设计与数据关系
Access 适合学习关系数据、表单录入和固定报表,也可用于经过评估的小型桌面业务系统。本篇以 Windows 桌面版为例;Access 不包含在所有 Office 套件中,也不是 Mac 或浏览器中的同等桌面应用。
点击步骤切换图示,再到 Office 中跟做;每一步都可跳到下方详细说明。
Customers:自动编号主键
Orders:客户编号为长整型
详细输入与检查见本步正文 ↓何时从 Excel 转向数据库
Excel 适合计算、分析和灵活试算;当相同客户信息在大量订单行中重复、需要统一录入界面和明确关系时,可考虑关系数据库。不是数据一多就必须用 Access,长期多人写入、高可用或互联网服务需要进一步评估其他数据库方案。
一个 Access 文件中可以包含表、查询、窗体、报表、宏和模块。表存数据,查询筛选和组合数据,窗体帮助输入,报表负责输出。不能把不同用途都塞进同一张巨大表里。微软表与关系介绍
创建客户与订单表
新建空白数据库 订单练习.accdb,在表设计视图建立:
| 表 | 字段 | 类型与用途 |
|---|---|---|
| Customers | CustomerID | 自动编号,主键 |
| Customers | CustomerName | 短文本,必填 |
| Customers | Phone | 短文本,保留前导零和符号 |
| Orders | OrderID | 自动编号,主键 |
| Orders | CustomerID | 数字,字段大小为长整型,引用客户 |
| Orders | OrderDate | 日期/时间 |
| Orders | Amount | 货币 |
| Orders | Status | 短文本 |
金额字段是否允许负数取决于退货等业务规则,本练习只录入非负订单。电话、证件和编码通常应按文本保存,不因内容都是数字就设为数值。主键用于唯一识别记录,客户名称可能重复,不适合直接当作本练习的主键。
建立一对多关系
先录入两位虚构客户并记下实际生成的 CustomerID,再在订单中引用对应 ID。打开“数据库工具 → 关系”,添加两张表,把 Customers.CustomerID 拖到 Orders.CustomerID,检查连接字段类型和方向,按练习需要启用参照完整性。
参照完整性可防止订单引用不存在的客户。启用前已有的孤立记录会导致失败,应先核对数据。级联删除会把相关记录一起删除,不能为了省事随意勾选;订单需要保留历史时,通常应采用停用客户等业务处理方式,而不是直接删除。
导入 Excel 数据
从“外部数据”选择相应 Excel 来源,根据需要导入为新表、追加或建立链接。导入是一次复制,链接依赖外部源;列名、类型、主键与重复值必须在向导中检查,完成后比对行数和金额。
导入失败时查看错误表或提示,重点检查字段类型、长度、日期格式和唯一键冲突。不要为消除错误把所有列都改成长文本,否则只是把问题推迟到查询和计算阶段。
练习与验收
为两位客户各建立订单,总共三笔金额 100、200、300,总额 600。查询客户订单时应能正确显示每笔归属;尝试输入一个不存在的 CustomerID,在参照完整性生效时应被阻止。不要删除练习主表来测试正式数据,先保留数据库副本。
下一篇使用查询、窗体与报表完成录入和输出。
图示跟做:建立有约束的客户与订单关系
按上方图示切换三个关键步骤;下面保留完整操作和检查结果,便于跟做与回查。请先使用练习副本。
第 1 步:按字段用途建两张表
定位:创建 → 表设计。
创建练习 accdb,在表设计中按正文建立 Customers 和 Orders。CustomerID 在客户表为自动编号主键,在订单表为数字且字段大小是长整型。电话用短文本,金额用货币。保存两表后录入两位虚构客户,记下实际生成的编号,不假设一定从 1 开始。
第 2 步:建立一对多并检查方向
定位:数据库工具 → 关系。
打开关系窗口,加入两张表,将客户主键拖到订单的 CustomerID。确认两端字段与类型,启用参照完整性并创建关系,观察一端和多端标记。不要为了消除提示随意勾级联删除;已有孤立订单要先修正,关系才可能成功建立。
第 3 步:用有效与无效记录验收
定位:开始 → 视图。
在订单表输入三条练习记录,金额为 100、200、300,客户编号引用已存在的两位客户,总额为 600。再尝试不存在的客户编号,应被完整性约束阻止;取消这条失败输入。关闭并重开数据库,确认有效三条记录仍存在。
没有得到预期结果时
能画出关系线不等于已启用约束。验收必须包括无效外键被阻止;字段类型不匹配时先修正模型,不要放弃完整性后继续录入。
继续阅读
- 实践案例
- 故障排查
- 参考资料