访问 我会说比“实际”数据库软件更多的特性。Access 可以很容易地用作 SQL 数据库的前端,这是程序的一部分。
假设该类正在使用 Access 中内置的数据库。然后让我们将其分解为数据库的各个部分:
表
Access 使用简化的变量模型。基本上,您可以拥有典型的数字、文本字段等。例如,您可以像使用 SQL 一样修复小数位数。不过,您不会看到像 varchar(x) 这样的变量。您只需选择一个文本字段并将字段大小设置为“8”等。但是,就像一个真实的数据库一样,它会强制执行您设置的限制。Access 将支持 OLE 对象,但它很快就会变得一团糟。Access 数据库只是像文件一样存储,并且可以变得非常大并且迅速膨胀。因此,将它用于存储地址簿、文本数据库或通过代码链接到外部资源之外……您必须小心存储了多少信息,因为文件太大而无法使用。
查询
Access 沿着 SQL 线实现了很多东西。我不知道它是否符合 SQL。我相信您可以将您的 Access 数据库导出到 SQL 可以使用的东西中。在代码中,您使用 DAO、ADO、ADODB 和 Jet 或 Ace 引擎与 SQL 数据库进行交互。(有些已经过时,但在较旧的数据库上工作)但是,一旦您开始进行查询,许多事情都是相似的。典型的命令——select、from、where、order、group、have 等都是正常的,并且可以像您在其他地方看到的那样工作。当您开始使用计算表达式、复杂的连接(访问没有实现某些类型的连接但您会看到可以说是最重要的——内部连接/联合)时,会发生特殊的事情。例如,在 Access 中 distinct 的行为与其他数据库体系结构不同。您使用聚合函数 (sum/max/min/avg) 的方式也受到限制。从本质上讲,Access 适用于很多任务,但它非常挑剔,您必须编写查询才能解决这些您不必在真实数据库中编写的问题。
表格/报告
我认为 Access 的关键特性是它对非计算机专家的用户来说更加平易近人。您可以轻松浏览表格并拖放以创建表单和报告。因此,即使它在我的书中不是正式的数据库,它也可能非常有用......特别是如果很少有人会使用数据库并且他们更喜欢易用性/轻型设置而不是更“企业级”的解决方案。您不需要水晶报表或某人编写大量代码以使 Access 数据库提供结果并允许用户根据需要添加数据。
为什么 Access 不是数据库
它并不意味着处理大量并发连接。一个人可以持有锁并且没有任何协商 - 如果一个人正在编辑数据库的某些部分,它将锁定所有其他用户或至少将他们限制为只读。此外,如果您尝试对大量用户使用 Access 或通过代码向其发送许多请求,它会在大约 10-20 个并发连接后中断。它只是不适用于 oracle 和 mySQL 的构建对象。如果您愿意,它适用于“普通”计算机用户,但程序员可以利用许多有用的东西来改善用户体验。
那么这对您了解更多信息有用吗?
我不明白这会是一件坏事。在这个环境中,您可以更轻松地查看关系代数并了解如何适当地组织数据。这与教授 Java、C++ 或 Python 的大学以及为什么每个都有其优点的大学类似。由于您可以立即从 Access 转移到作为访问 SQL 数据库的前端(加载表的链接)的 Access,我相信您可以用它教一门非常好的课程。