0

我有一个包含手机表的数据库。假设每部手机都有 10 个字段。为了填写或修改表格,我将为用户提供几个表格。但是,我不希望用户每次都修改所有 10 个字段。我希望他只提供有关 4 个字段的信息,其余字段将由程序自动填充或修改。有人知道该怎么做吗?:)

4

1 回答 1

0

虽然可以使用触发器、宏或其他编码,但将计算字段或重复数据存储在表中通常是不好的数据库实践。相关数据应通过表之间的关系存储并显示在查询中,而不是直接在表中。

因此,假设每家商店只销售一种颜色的手机,您将让用户只进入商店。您将有另一个表格显示商店名称和电话颜色之间的关系。然后,当您想要一个用户列表和他们的手机颜色时,您将编写一个查询,查看用户表列表以及他们在哪里购买手机并将其加入商店列表和他们销售的颜色。

我的建议分为三个层次:

  • 几乎可以肯定是最好的 - 重新设计您的数据库以更加规范化,这意味着使用表之间的关系来防止重复数据的需要。
  • 如果您决定需要宏,使用 OpenOffice 宏的一个很好的资源是 Andrew Pitonyak 的书OpenOffice Macros Explained(可从他的网站免费下载)。
  • SQL 触发器通常是执行此操作的一种更简洁的方式(与宏相比),但作为基本默认值的旧数据库引擎不支持。(Base 本身只处理查询、表单和报告。这些表由单独的软件处理,默认情况下是旧版本的 HyperSQL 数据库或 HSQLDB 的 1.8 版本,“嵌入”在 Base 中。)您需要升级到更新版本数据库软件。有关升级到 HSQLDB 2.3 的说明在此线程中:[Tutorial] Splitting an "embedded HSQL database"
于 2015-08-05T16:05:58.923 回答