化繁为简:Access 与 SQL 创新指南(第二篇)

化繁为简:Access 与 SQL 创新指南(第二篇)

第一章 化繁为简:Access 与 SQL 创新指南-生存的智慧------ 为什么是 Access?
第二章 化繁为简:Access 与 SQL 创新指南-生存的智慧------ 打破壁垒:Access 如何让普通人变身"开发者"
第三章 化繁为简:Access 与 SQL 创新指南-生存的智慧------ 查询,窗体和报表
第四章 化繁为简:Access 与 SQL 创新指南-生存的智慧------ SQL 编程核心


文章目录

  • [化繁为简:Access 与 SQL 创新指南(第二篇)](#化繁为简:Access 与 SQL 创新指南(第二篇))
  • [第二篇:打破壁垒:Access 如何让普通人变身"开发者"](#第二篇:打破壁垒:Access 如何让普通人变身“开发者”)
    • [2.1 相关概念](#2.1 相关概念)
    • [2.2 如何安装 Microsoft Office Access 2019](#2.2 如何安装 Microsoft Office Access 2019)
    • [2.3 熟悉 access 工作页面](#2.3 熟悉 access 工作页面)
    • [2.3 Access 6个核心对象简单介绍](#2.3 Access 6个核心对象简单介绍)
    • [2.4 数据库设计基础](#2.4 数据库设计基础)
    • [2.5 创建数据库和表](#2.5 创建数据库和表)
      • [2.5.1 创建一个空白数据库 Create a blank database](#2.5.1 创建一个空白数据库 Create a blank database)
      • [2.5.2 创建表(三种建表方式)](#2.5.2 创建表(三种建表方式))
    • [2.6 定义字段与设置字段属性](#2.6 定义字段与设置字段属性)

第二篇:打破壁垒:Access 如何让普通人变身"开发者"

复制代码
很多人一听到"开发"两个字就头疼,觉得这是技术人员才能做的事,其实主要是两个门槛拦住了大家:一是要写复杂的代码,二是要懂专业的数据库知识。而 Access 的设计特别人性化,它没有强迫我们必须走哪一条路,而是提供了 两条并行的路径,供我们根据自己的情况选择------不懂代码、不了解专业知识也没关系,靠鼠标拖拽、点击、简单设置(也就是Access的图形化操作),就能完成基础的数据管理和简单"开发",满足日常办公需求;如果懂SQL、会写VBA,也可以手动编写代码,甚至将Access与SQL Server等数据库联动,实现更个性化、更复杂的业务逻辑需求。不管你是纯新手,还是有一定技术基础,都能通过 Access 学会自己管理数据、做自己需要的工具,这也是Access设计的核心优势之一。

2.1 相关概念

对我们普通人来说我们要怎么学习他呢,要学习 access 数据库,我们就需要从一些概念说起。

  1. 什么是数据?

数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的原始素材,可以是符号、文字、数字、语音、图像、视频等。人类早期对于数据的认知,往往局限于符号和数字,但是随着信息技术的发展,文字、图像、语音、视频等也早已被纳入了数据的范畴,并成为了互联网、通信等领域的核心。

数据可以作为原始素材被存储下来,进行加工和应用,美国科学哲学家Russell L.Ackoff 总结的 DIKW模型,data是基础。

  1. 什么是数据库和 数据库管理系统?

当计算机被发明之后,数据的存储和计算效率 实现了提升,人类进入的信息时代,在计算机的世界里,数据库是指按照特定 数据结构组织、存储和管理数据的仓库,是存储在一起的相关数据的集合。

用于实现数据库功能的软件则被称为 数据库管理系统( Database Management System,DBMS),由其实现对数据的统一管理和控制,以保证数据库的安全性和完整性。

  1. 什么是数据库应用系统(DAS )?

    可以简单的理解是 用数据库和 数据库管理系统开发出来的各种软件应用系统。

    如果存储的销售数据,可以开发销售信息管理数据,如果存储的是订单数据,可以开发订单信息管理系统,这些系统统称为DAS.

  2. 什么是Database Administrator,DBA

根据orcale 官网的解释,数据库管理员 (DBA) 是指负责维护、保护和运营数据库,确保正确存储和检索数据的专业人员。

此外,DBA 还经常要与开发人员合作设计和实施新功能,排查问题。这意味着,DBA 必须深入了解技术和业务需求。

在当今信息驱动的业务环境中,DBA 这一角色正变得越来越重要。一方面,全球范围内越来越多的企业开始基于数据来分析市场状况和新业务模式,探索如何削减成本。另一方面,随着企业将业务运营迁移到云端,全球云计算市场也即将大大扩展。在这一背景下,市场对合格 DBA 的需求只会继续增长。

如果将这些概念结合起来如下图所示。

  1. 什么是表 ? 什么是字段 ?什么字段属性?什么是数据类型?

在数据库中,表是由行和列组成的结构化数据集合;字段是表中的列,代表特定信息类别(如姓名);字段属性定义字段特征(如是否为空);数据类型则是最重要的属性,规定了该字段存储数据的种类(如数字、文本)

可以举一个例子。 一人会超市买水果

表就是购物的小票

它专门用来保存"顾客购买商品"这类信息。

比如,这张表里可能记录:

谁买了东西,买了什么商品,买了多少,,购买时间是什么时候

表是用来装数据的整体结构

字段就是这张表上的每一列。

比如在"购物的小票"里,可能有下面这些字段:

CustomerName(顾客姓名),ProductName(商品名称),Quantity(购买数量)

这些字段就像购物小票上的一个个栏目。

每个栏目只负责记录一种信息。

字段属性就是对字段的规则设置。

它不是记录具体内容,而是规定这个字段"应该怎么存"。

比如对于 CustomerName 这个字段,你可以设置:

字段长度最多 20 个字符,是否允许为空,显示格式是什么

所以,字段属性就像给每个栏目定规则。

数据类型是字段属性中最重要的一种。

它决定这个字段到底可以存什么内容。

比如:CustomerName 存的是姓名,所以一般用 Short Text(短文本)

Quantity 存的是购买数量,所以一般用 Number(数字)

这就像你在填写购物小票时,不同栏目只能填不同类型的内容:

姓名栏不能填日期

这就是数据类型的作用:

防止数据乱填,保证数据规范。

2.2 如何安装 Microsoft Office Access 2019

在开始设计和创建数据库之前,我们首先需要正确安装 Access。本指南将详细引导你完成安装步骤,同时我们也会澄清一个重要点:Access 不支持 Mac 设备。

安装前的重要提示:Mac 不支持 Access,Linux 不支持Access

首先,让我们开门见山地明确这个关键点,以免浪费你的时间:Microsoft Office Access 是一款仅限 Windows 的应用程序。它没有官方的 Mac OS 版本,也没有办法在任何 Mac 设备(包括 MacBook、iMac 等)上直接安装或运行 Access。

如果你使用的是 Mac 电脑,并且确实需要使用 Access,唯一的变通方法是:先在你的 Mac 上安装一个 Windows 模拟器(例如 Parallels Desktop 或 VMware Fusion),然后在模拟器中安装 Windows 操作系统,最后再在 Windows 系统中安装 Access。然而,这种方法比较复杂,需要额外的软件和系统资源,不建议初学者尝试。为了获得最简单、最稳定的体验,我们强烈建议使用 Windows 电脑来安装和使用 Access。

安装前准备

Windows 电脑: 支持 Windows 10、Windows 11(32 位或 64 位系统,推荐 64 位以获得更好性能)。

稳定的互联网连接: 下载安装文件时需要(如果网络不稳定,可以稍后使用离线安装程序)。

有效的 Microsoft 账户: 用于激活 Office/Access(如果没有,可以在官网免费注册)。

足够的磁盘空间: 至少 4GB 硬盘可用空间(仅针对 Access;如果安装整个 Office 套件,建议 10GB 或更多可用空间)。

步骤 1:下载 Microsoft Office Access (去官方网址)

Access 并非一个独立的软件,它通常包含在 Microsoft Office 套件中(例如 Office 专业增强版、Office 365)。你可以通过官方渠道下载 Office 套件,然后在安装过程中选择安装 Access。以下是官方且安全的下载网址(请避免使用第三方网站,以防病毒或恶意软件),当然现在已经 2026年,最近版本是 office 2024

Microsoft 365 官方下载页面 (适用于订阅)

URL: https://www.microsoft.com/en-us/microsoft-365/access

如果你订阅了 Microsoft 365(个人版或商业版),你可以作为套件的一部分免费下载和安装 Access。订阅后,使用你的 Microsoft 账户登录即可下载。

Microsoft Support 离线安装程序页面 (适用于网络不稳定)

URL: https://support.microsoft.com/en-us/office/use-the-office-offline-installer-f0a85fe7-118f-41cb-a791-d59cef96ad1c

如果你的网络速度较慢或不稳定,可以使用 Office 离线安装程序先下载安装文件,然后方便时再离线安装。

注意: 下载时,请务必选择与你的 Windows 系统匹配的正确版本(32 位或 64 位)。对于大多数现代计算机,推荐使用 64 位版本。你可以通过右键点击"此电脑" → "属性"来检查你的系统类型。

运行安装文件

找到下载的文件(通常在"下载"文件夹中),双击运行。如果出现"你是否允许此应用对你的设备进行更改?"的提示,点击"是"继续。

选择安装选项

安装程序启动后,会自动提取安装文件。然后,你将看到 Office 安装界面:

如果你想安装整个 Office 套件(包括 Access、Word、Excel、PowerPoint 等),可以直接点击"立即安装",安装程序将按默认设置进行。

如果你只想安装 Access(而不安装其他 Office 应用),点击"自定义"→ 选择"Access"(在其前面的复选框中打勾),并取消勾选你不需要的其他应用。然后选择安装路径(建议使用默认路径,或安装到有足够空间的非系统盘)。

如果你需要安装不同语言的 Access 或更改位数版本(32 位/64 位),请在安装界面上使用下拉列表选择所需的选项,然后再点击"安装"。

等待安装完成

安装过程大约需要 5-15 分钟,具体取决于你的电脑配置和网络速度(如果使用离线安装程序,会更快)。安装期间,请勿关闭安装程序或关闭电脑。你会看到进度条显示安装状态。

激活 Access

安装完成后,会出现"你已准备就绪!Office 已安装完毕"的提示。点击"关闭"。

然后,打开 Access(在 Windows"开始"菜单中找到它,或在搜索框中搜索"Access")。首次打开时,系统会要求你激活。使用你的 Microsoft 账户(用于购买 Office 或订阅 Microsoft 365 的账户)登录,激活将自动完成。

如果激活失败,请检查你的产品密钥是否有效,或确保你的互联网连接稳定,然后重试。

验证安装

激活后,打开 Access。如果你能看到 Access 欢迎页面(正如我们前面提到的:"然后我们可以看到 Microsoft 的欢迎页面,如下图所示。"),则表示安装成功。你现在可以开始使用 Access 来创建数据库、设计表格了。

常见安装问题及解决方案(用户友好提示)

问题 1: 安装程序无法启动或报错。

解决方案: 检查你的 Windows 系统是否满足要求;关闭其他正在运行的软件(特别是杀毒软件,它可能会阻止安装程序);从官方网址重新下载安装文件。

问题 2: 激活失败。

解决方案: 确认你的 Microsoft 账户是否已与你的 Office/Access 产品密钥关联;检查你的互联网连接;如果你购买的是正版产品,请联系 Microsoft 支持寻求帮助。

问题 3: 安装后找不到 Access。

解决方案: 安装时,请确保在自定义安装选项中勾选了"Access";如果没有,请重新运行安装程序,选择"更改"→ 添加 Access,然后再次完成安装。

总结 (与数据设计基础的关联)

只要你使用 Windows 电脑并遵循官方步骤,安装 Microsoft Office Access 是一个简单的过程。请记住:Mac 设备不支持直接安装 Access,因此一台 Windows 电脑对于使用 Access 来实践我们在《数据设计基础(用户友好解释)》中学到的数据库设计技能至关重要。

Access 成功安装后,你就可以开始应用设计原则(提取表格、设计字段、设置主键、建立关系)来构建我们之前讨论的门店销售管理系统了,真正将理论知识转化为实际操作。如果在安装过程中遇到任何问题,你可以参考前面提供的 Microsoft 支持链接,或在 Microsoft Learn 上搜索解决方案。

2.3 熟悉 access 工作页面

首先我们可以在开始菜单中找到 access 的图标,然后Open Access.

然后我们可以看到Microsoft office access 2019 的欢迎页,如下图。

打开 Access 后,通常会看到一个较为完整的操作窗口。整体上可以把它理解为以下几个部分:

  1. 标题栏

位于窗口最上方,用来显示当前数据库文件的名称,以及软件名称。

如果当前打开的是某个数据库文件,那么标题栏中通常会显示该数据库的名字,方便用户确认自己正在操作哪个文件。

下图蓝色的线就是标题

  1. 快速访问工具栏

通常位于左上角,里面放着一些常用命令,例如:

保存

撤销

重做

这是一个可以提高效率的小区域。对于经常进行设计和修改的用户来说,快速访问工具栏非常实用

  1. 功能区

功能区是 Access 界面中最核心的区域之一,通常位于窗口上方菜单下方。

它采用"选项卡 + 命令组"的形式,将各类操作分类展示。

常见的选项卡包括:

文件(File)

开始 Home

创建 Create

外部数据 External Data

数据库工具Database Tools

帮助Help

如下面灰蓝色的线就表示 选项卡

不同选项卡中对应不同功能。例如:

在"开始"选项卡中,可以找到复制、粘贴、排序、筛选等常规命令;

在"创建"选项卡中,可以新建表、查询、窗体和报表;

在"外部数据"选项卡中,可以导入 Excel、文本文件或其他数据库数据;

在"数据库工具"中,可以进行数据库压缩、分析和关系设置等操作。

选项卡下面是命令组

如 下面黄色的线就表示 Create 下面的命令组 Queries 和这个组里有三个命令 分别是 Query Wizard,Query Design 和 SQL Query。

对新手来说,熟悉功能区的位置和分类,是掌握 Access 的第一步。

  1. 导航窗口 和 工作区
    如上图所示, 黄色部分在 Access 窗口左侧,通常会看到一个竖直区域,这就是导航窗格。
    导航窗口可以理解为数据库对象的"目录"。
    一个 Access 数据库中的主要对象,通常都集中在这里显示,包括:

    查询
    窗体
    报表

    模块
    例如:

想查看数据表内容,可以在导航窗格中双击某张表;

想修改查询条件,可以打开某个查询对象;

想进入用户界面设计,可以打开窗体。

导航窗格的作用

它最大的作用,就是帮助用户快速定位和管理数据库中的各种对象。

如果数据库内容较多,导航窗格就像文件管理器一样,能让整个数据库结构一目了然。

如上图说所示 蓝色部分就是工作区。

当你从导航窗格中打开某个对象时,这个对象就会显示在工作区中。

比如:

打开"表"时,工作区会显示数据表;

打开"查询"时,会显示查询结果或查询设计界面;

打开"窗体"时,会显示窗体运行界面或设计视图;

打开"报表"时,会显示报表内容

5.状态栏

底部的黑色部分就是状态栏。它会实时显示当前操作的状态、筛选/宏运行信息,支持视图切换和缩放,帮助你快速掌握数据库状态

2.3 Access 6个核心对象简单介绍

Access的所有操作都围绕6个核心对象展开,它们分工明确、相互配合,共同构成完整的数据库系统,简单介绍如下(通俗易懂,无需专业基础也能理解):

界面如下图所示

  1. 表(Table):数据库的基础核心,用于存储原始数据,相当于"数据仓库"。比如我们之前创建的Customers(客户表)、Products(产品表),所有客户、商品的原始信息都直接存在这里,是所有操作的前提。

    主要作用保存数据

  2. 查询(Query):用于从表中筛选、提取需要的数据,相当于"数据搜索工具"。比如想快速找到"上海客户的订单",无需手动翻找所有数据,通过查询就能一键获取结果。

    主要作用是从表中提取数据,查询结果可作为窗体和报表的数据源

  3. 表单(Form):用于更直观、便捷地录入和查看数据,相当于"数据录入/查看界面"。避免直接在表中操作的繁琐,界面更友好,适合日常快速录入客户、订单信息。

    主要作用是数据库和用户之间的页面,用于数据输入和显示

  4. 报表(Report):用于将查询或表中的数据整理成规范的格式(如表格、统计图表),相当于"数据汇总报告"。比如月度销售报表、客户统计报表,可直接打印或导出,方便查看和汇报。

    主要作用自设计格式,展示数据和打印

  5. 宏(Macro):用于批量执行一系列操作,相当于"自动化工具"。比如一键完成"打开表单+刷新数据",无需手动一步步操作,节省时间。

    主要作用是通过非编程方式实现任务自动化

  6. 模块(Module):用于编写VBA代码,实现更复杂的功能,相当于"高级扩展工具"。适合有一定基础的用户,可自定义功能(如自动提醒库存不足),弥补图形化操作的局限性。

    主要作用是通过编程的方式实现更复杂的自动化功能。

其中,表是最基础的对象,后续的查询、表单、报表等操作,都需要基于表中的数据来完成。

2.4 数据库设计基础

如前面所讲的,假设我们需要做一个门店销售管理系统,我们需要怎么设计它呢?

我们首先想到的是客户去一个门店购买商品,然后买了 3 件商品,并完成付款产生了订单。从这个流程可以看到,我们需要客户信息、商品信息、付款信息、订单信息和门店信息等,而且它们之间存在紧密的关联关系。比如,一个客户可以多次到店购买、买多种商品,但每一次完整的购买行为只会产生一个订单;反过来,多个客户也可以购买同一款商品。

这时你会发现,客户本身有很多特征:有男有女、有老有少,有的住得离店近,有的住得远,还有联系电话、会员等级等信息。这些描述 "客户" 这个事物的具体细节,就是设计数据库时要梳理的核心内容。而数据库设计的核心,就是把这些现实中的业务流程和信息,转化为 Access 里清晰、有序、不混乱的表和字段。

结合这个门店销售的场景,我们用最贴合实际的方式,把数据库设计的核心步骤拆解开,你跟着这个逻辑走,就能轻松完成设计。

第一步:从业务流程中提炼 "表"(核心实体)

表是数据库的 "容器",每一张表只负责存储一种类型的信息 ------ 这是数据库设计的 "黄金法则"。回到门店销售的场景,我们从刚才的流程里,能直接提炼出 5 张核心表,每张表对应一个核心 "事物":

客户表(Customers):专门存客户的基础信息,不掺杂任何订单、商品内容;

商品表(Products):专门存商品的详情,比如名称、价格、库存,和客户、订单无关;

订单表(Orders):专门存订单的整体信息,比如订单编号、下单时间、付款状态;

订单详情表(OrderDetails):专门存每笔订单里的商品明细(比如一笔订单买了 3 件不同商品,就需要 3 条明细记录);

门店表(Stores):专门存门店信息,比如门店名称、地址、联系电话(如果是单门店,这张表也可以简化,但多门店场景必须保留)。

这里要特别注意:订单和商品的关联,不能直接存在订单表里。因为一笔订单可能买多种商品,若把商品信息直接写在订单里,会造成大量重复。所以我们增加 "订单详情表",作为订单和商品的 "桥梁",这是门店销售系统设计的关键。

第二步:给每张表设计 "字段"(具体信息)

确定了表之后,接下来要给每张表填 "内容"------ 也就是字段。字段就是描述这个 "事物" 的具体项目,像填表格时的每一列。结合我们的场景,每张表的核心字段设计如下,完全贴合实操需求:

表名 核心字段(示例) 字段说明

客户表 客户 ID、姓名、性别、年龄、地址、联系电话 客户 ID 用于唯一标识每个客户

商品表 商品 ID、商品名称、类别、单价、库存数量 商品 ID 用于唯一标识每个商品

订单表 订单 ID、客户 ID、门店 ID、下单时间、付款金额、付款状态 订单 ID 是订单的唯一标识

订单详情表 详情 ID、订单 ID、商品 ID、购买数量、商品单价 关联订单和商品,记录购买明细

门店表 门店 ID、门店名称、地址、店长姓名 门店 ID 是门店的唯一标识

从这个表格能清晰看到:字段的设计只围绕 "本表对应的事物",比如客户表只设计客户相关的字段,绝不会出现 "商品名称" 这种和客户无关的内容。

第三步:给每张表设置 "主键"(唯一标识)

就像每个人都有身份证号,每张表也需要一个 "唯一标识",用来区分不同的记录,这就是主键。在门店销售系统中,主键的设计非常简单,且统一用 "自动编号" 类型(Access 里的 AutoNumber),无需手动输入,系统会自动生成唯一编号:

客户表的主键:客户 ID(确保每个客户的编号不重复);

商品表的主键:商品 ID(确保每个商品的编号不重复);

订单表的主键:订单 ID(确保每笔订单的编号不重复);

订单详情表的主键:详情 ID(确保每条明细的编号不重复);

门店表的主键:门店 ID(确保每个门店的编号不重复)。

主键是表与表之间建立关联的基础,没有主键,后续的表连接就无从谈起。

第四步:建立表之间的 "关联关系"(用外键连接)

设计好表和字段后,最后一步就是把分散的表 "串联" 起来,还原业务中的关联关系 ------ 这就需要用到外键。外键就是 "把其他表的主键,放到本表中作为字段",用来表示 "谁和谁有关"。

结合我们的门店销售场景,核心关联关系有 3 个,完全对应现实业务:

客户表 ↔ 订单表:

订单表中的客户 ID是外键,对应客户表的主键。含义:这笔订单是 "某一个客户" 下的(一个客户可以下多笔订单,是 "一对多" 关系)。

门店表 ↔ 订单表:

订单表中的门店 ID是外键,对应门店表的主键。含义:这笔订单是在 "某一个门店" 产生的(一个门店可以产生多笔订单,是 "一对多" 关系)。

订单表 ↔ 订单详情表 ↔ 商品表:

订单详情表中的订单 ID是外键,对应订单表的主键(一笔订单可以有多条明细,"一对多");

订单详情表中的商品 ID是外键,对应商品表的主键(一个商品可以出现在多笔订单的明细中,"一对多")。

这三层关联,就把 "客户→门店→订单→商品" 的完整销售流程,在数据库中完美还原了。

设计完成后的效果(为什么要这么设计?)

回到最开始的问题:为什么要这么麻烦地设计?结合我们的门店系统,你就能立刻明白好处:

无重复工作:客户搬家了,只需要在「客户表」里修改一次地址,所有该客户的订单都会自动关联新地址,不用逐笔订单修改;

数据不混乱:商品涨价了,只改「商品表」里的单价,新订单会自动用新价格,旧订单的明细单价不变(因为订单详情表存了购买时的单价);

查询超高效:想查 "某客户在某门店买过哪些商品",通过表之间的关联,一键就能筛选出结果,不用在海量数据里翻找;

扩展超方便:后续想加 "会员积分" 功能,只需要在「客户表」里加一个 "积分余额" 字段,再新建一张 "积分记录表" 即可,不会影响原有表的结构。

到这里,我们就完成了门店销售管理系统的核心数据库设计。这套设计逻辑完全适配 Access 的操作,也是后续我们创建表、建立关联的核心依据。接下来,我们就可以按照这个设计,一步步在 Access 中实现具体的表和关联了。

其实以上说的还是有点片面,可以参考一下专业书籍

2.5 创建数据库和表

After getting familiar with the Access workspace, the next step is to create a database and build tables. In Microsoft Access, a database is the file that stores all your data and related objects, while tables are the foundation used to organize that data. Without tables, there is no structured place to store records such as customer information, product details, or transaction data.

In this section, we will first learn how to create a blank database, and then explore the common ways to create tables in Access.

2.5.1 创建一个空白数据库 Create a blank database

  1. On the File tab, click New, and then click Blank Database.
  2. Type a file name in the File Name box. To change the location of the
    file from the default, click Browse for a location to put your
    database (next to the File Name box), browse to the new location,
    and then click OK.
  3. Click Create.
    Access creates the database with an empty table named Table1, and then opens Table1 in Datasheet view. The cursor is placed in the first empty cell in the Click to Add column.
  4. Begin typing to add data, or you can paste data from another source,
    as described in the section Copy data from another source into an
    Access table.


2.5.2 创建表(三种建表方式)

在Access 中有 3种方式创建表,一种是直接创建,一种是外部数据导入 ,还有一种是通过SQL 直接建表。

通过这个项目,您不仅能学会如何在 Access 中创建表、定义字段,还能掌握至关重要的 表关联 概念,并了解到 Access SQL 语法。

根据之前的描述我们先定义3张表

  • Customers (客户表):记录买家的基本信息。一种是直接创建
  • Products (产品表):存储商品的详细信息。一种是外部数据导
  • Orders (订单表):记录客户购买商品的每一笔交易。SQL

这三个表将通过巧妙的 "关联关系" 编织在一起

第一种直接创建,让我们来创建一张 Customers

1.选择 Create 中的 table Design

2.创建 Field Name, Data Type , 和 Desciption。

注意:填写 Desciption很重要,可以将其他开发人员,快速找到关联关系,需要养成良好的习惯

3.然后设置字段

如 Filed size,Format,等 ,如将 First name 和 LastName 改为 Filed size=20

另外在填写字段名称需要注意 字段规则

1.长度:小于64个字符

2.可以填写 英文(含其他国家的语言),数字,空格

3.开头不能是空格

4.不能包含!,#,%等特殊符号。

4.在表里面加入数据 ,这样就完成了。

第二种方式,让我们来创建一张 Products 通过导入的方式来创建表

1.我们创建一个excel 文件,

sheet name 是 Products 。

2.选择Extenal Data -->New Data Source --> Form File --> Excel

从上图中可做看到,Access 可以链接多个数据源,有 access,SQL Server, Azure Database ,dBASE file

从上图中可做看到,你可以通过excel file ,html doncument,xml File,Text File,csv 等文件格式导入到access中。

  1. 选择 Import the souce data into a new table in the current database

click ok

4.click Next,

选择 Choose ProductID primary key 。

  1. 完成

    6.检查表结构

你会发现,导入的数据没有Desciption。这里建议手动加入 。当然建表的时候有没有Desciption 都不影响。

如下图所示。

第三种 使用SQL 直接建表 Orders 和 增加行

1 选择 create 中的 SQL Query

  1. 在 Query Design 中 copy SQL,执行 run 。

第一部分:创建订单表 (CREATE TABLE)

sql 复制代码
CREATE TABLE Orders (
OrderID AUTOINCREMENT PRIMARY KEY,
CustomerID INTEGER  NOT NULL CONSTRAINT FK_CustomerID  REFERENCES Customers(CustomerID),  
ProductID Number NOT NULL CONSTRAINT FK_ProductID  REFERENCES Products (ProductID), 
OrderDate DATETIME,
Quantity Number,
TotalAmount CURRENCY,
Status Text
);

这部分代码的作用是在数据库中建立一个名为 Orders(订单)的新表,并为每一列(字段)设定了严格的规则。我们逐一来看看这些字段的含义:

OrderID (订单编号)

它的数据类型是 AUTOINCREMENT(自动编号),并且被设置为主键 (PRIMARY KEY)。这意味着每次新增一笔订单记录时,这个编号会自动加 1,完全不需要手动去输入它,非常省心。

CustomerID (客户编号)

数据类型为 INTEGER(整数),并且规定不允许为空 (NOT NULL)。这是一个外键 (CONSTRAINT...REFERENCES),用来关联 Customers (客户) 表,确保下订单的客户在系统中是真实存在的。

ProductID (产品编号)

数据类型为 Number(数字),同样不允许为空 (NOT NULL)。这也是一个外键,用来关联 Products (产品) 表,防止录入不存在的商品。

OrderDate (下单时间)

数据类型是 DATETIME,专门用来记录订单生成的具体日期和时间。

Quantity (数量)

数据类型是 Number(数字),用来记录客户购买了多少件该产品。

TotalAmount (总金额)

这里使用了 Access 特有的 CURRENCY(货币)类型!它专门用来处理财务金额,能够有效避免普通浮点数计算时可能产生的精度误差。

Status (订单状态)

数据类型为 Text(文本),用来存储这笔订单的当前状态,比如"已发货"或"待处理"。

第二部分:插入新记录 (INSERT INTO)

sql 复制代码
INSERT INTO Orders (CustomerID, ProductID, OrderDate, Quantity, TotalAmount, Status) 
VALUES (1, 101, #2025-03-05#, 2, 50, 'Shipped');

INSERT INTO Orders (CustomerID, ProductID, OrderDate, Quantity, TotalAmount, Status) 
VALUES (1, 102, #2025-03-06#, 3, 80, 'Shipped');

INSERT INTO Orders (CustomerID, ProductID, OrderDate, Quantity, TotalAmount, Status) 
VALUES (1, 103, #2025-03-09#, 5, 150, 'Shipped');

注意日期语法:这里有一个 Access SQL 非常经典的特性------日期 #2025-03-05#!在 Access 中,日期字面量必须用井号 (#) 包裹起来,这与 MySQL 或 SQL Server 使用单引号 (') 完全不同。

3.最后 选择 Database Tools 点击 Relationships

查看关系图

  1. 这样我们 三张表都建完了。

中国古代有一个成语叫"各有千秋",

意思是 各有各的存在价值,不同个体在同一层次内各具特色或长处,其核心内涵在于承认不同事物的差异性价值。

第一种 直接建表是大多数 用户的选择,

第二种比较适合数据量大的用户

第三种,有已经技术门槛需要学习 SQL

我这里总结一张图列共大家理解

create table》 Define Fields 》 Establish Relationships

2.6 定义字段与设置字段属性

在前面我们说了字段定义和属性,现在我们想比较详细的说一下 。

客户表(Customers)字段含义详解

Field Name Data Type Desciption(Optional)

CustomerID AutoNumber PK,Unique Identifier

FirstName Short Text Customer's First name

LastName Short Text Customer's Last name

Email Short Text Email address

PhoneNumber Short Text Contact number

Address Short Text Shipping address

JoinDate Short Text Regustration date

这张图显示了我们为 Customers 表设置的字段:

CustomerID

字段名称: CustomerID (客户ID)

数据类型: AutoNumber (自动编号)

含义和作用:

这是我们表的主键,就像每个客户的唯一身份证号码!🔑

AutoNumber 数据类型意味着 Access 会自动为每个新添加的客户生成一个独一无二的数字。你不需要手动输入,Access 会从 1 开始自动递增(比如 1, 2, 3...)。

它的主要作用是唯一标识每一条客户记录,确保每个客户都有一个不重复的编号,这对于连接其他表(比如订单表)和查找特定客户都至关重要。

FirstName

字段名称: FirstName (名)

数据类型: Short Text (短文本)

含义和作用:

用于存储客户的名字部分。

Short Text 是最常用的文本类型,适合存储长度不长的字符串。默认最长 255 个字符,但我们通常会在"字段属性"中设置一个更小的"字段大小"(比如 50),以节省存储空间和提高数据准确性。

通常这是必填字段,因为客户名字是识别客户的重要信息。

LastName

字段名称: LastName (姓)

数据类型: Short Text (短文本)

含义和作用:

用于存储客户的姓氏部分。

同样使用 Short Text,原因和 FirstName 类似。

也是通常的必填字段。

Email

字段名称: Email (邮箱)

数据类型: Short Text (短文本)

含义和作用:

用于存储客户的电子邮件地址。

Short Text 可以很好地存储邮箱地址中的字母、数字和特殊符号(如@、.)。

通常会设置为必填,并且最好设置"有索引(无重复)",因为每个客户的邮箱地址通常应该是唯一的,这样可以避免重复录入和作为快速查找客户的方式。

PhoneNumber

字段名称: PhoneNumber (电话号码)

数据类型: Short Text (短文本)

含义和作用:

用于存储客户的联系电话。

即使电话号码看起来是数字,我们通常也用 Short Text 而不是 Number。这是因为电话号码我们通常不进行算术计算(比如你不会把两个电话号码相加),而且电话号码中可能包含括号、破折号、空格或国际区号前的"+"号等非数字字符。

可以考虑添加输入掩码属性,引导用户输入标准的电话号码格式。

Address

字段名称: Address (地址)

数据类型: Short Text (短文本)

含义和作用:

用于存储客户的街道地址等。

对于一般的地址信息,Short Text 通常足够了。如果地址特别长,或者需要分多行输入详细描述,可以考虑使用 Long Text。

JoinDate

字段名称: JoinDate (加入日期)

数据类型: Date/Time (日期/时间)

含义和作用:

用于记录客户注册或成为会员的日期。

Date/Time 类型专门用于存储日期和时间信息,它能让你方便地对日期进行排序、筛选(比如查找某个日期之后加入的客户),甚至进行日期计算(比如计算客户注册了多少天)。

通常可以设置默认值为 Date(),这样每次添加新客户时,这个字段会自动填入当天的日期,省去手动输入。

以上就是第2章的内容,

相关推荐
秦jh_21 小时前
【Redis】初识高并发分布式和Redis
数据库·redis·缓存
远方160921 小时前
115-使用freesql体验Oracle 多版本特性
大数据·数据库·sql·ai·oracle·database
happymaker062621 小时前
JDBC(MySQL)——DAY01
数据库·mysql
qqacj21 小时前
MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序
数据库·microsoft
ren0491821 小时前
MySQL
数据库·mysql
良逍Ai出海1 天前
OpenClaw 新手最该先搞懂的 2 套命令
android·java·数据库
Keanu-1 天前
Redis 主从复制及哨兵模式配置
服务器·数据库·redis
blues92571 天前
【JOIN】关键字在MySql中的详细使用
数据库·mysql
x-cmd1 天前
[260307] x-cmd v0.8.6:新增 gpt-5.4 模型支持,sudo/os/hostname/cpu 等模块文档更新
java·数据库·gpt·sudo·x-cmd·googel
JuneXcy1 天前
第10章 数据库的安全与保护
数据库·mysql