MS-Access:Table 条目可以根据其类型具有不同的属性

MS-Access: Table entry can have different properties based on it's type

首先介绍一些背景知识:我接手了一个职位,该职位通过不同的 excel 工作表跟踪大量数据,目前这绝对是一团糟,跟踪和通过是一场噩梦。这将供个人使用,只是为了协助我的工作,我想制作一个简单的访问数据库,只是为了清理数据并以适当的格式存储它(因为它应该有排在第一位)。到目前为止,我很高兴,但只是停留在最后一个设计元素上。

我已经尝试阅读这个问题,但由于我没有太多这方面的背景知识,所以我很难找到可以阅读的术语(边读边学)而且它有点很难描述。

所以我的问题是关于数据库设计的;处理 table 的正确方法是什么,它可以根据其类型

具有不同的值

例如,在我的table中,我需要跟踪采购订单;采购订单有详细信息;这些细节由许多资产组成。资产可以是以下三样东西之一:工作站、软件、硬件(每个都有自己的属性)。

如前所述,我边学边学,在开始之前我已经阅读了关键概念,并且一直顺利进行到现在。我显然遗漏了一些东西,所以在正确方向上的任何帮助都会有所帮助

我会附上我的图表,但由于我的声誉不够高,我无法这样做。更多细节:

  1. 我有一个 Table PURCHASE_ORDER,其中几乎包含与 PO 相关的所有信息:
    • PO_Number(PK,采购订单号)
    • PO_Vendor(FK,与我遇到的问题无关)
    • PO_SubmittedBy(FK,与我遇到的问题无关)
    • PO_SubmitDate(与我遇到的问题无关)
    • PO_ReceivedDate(与我遇到的问题无关)
  2. PURCHASE_ORDER_ITEM 具有以下字段:
    • POI_ID(PK,自增)
    • POI_Asset(FK,必需,组成订单项的资产)
    • PO_Number(Purchase_Order ID 的 FK,必需,将订单项与 PO 联系起来)
    • POI_Qty(不需要,只需订购商品的数量)
    • PO_UnitPrice(不需要,单价)
  3. Purchase_Order和Purchase_Order_Item是一对多的关系(一个采购订单可以有多个Purchase order Items)。
  4. 这主要是我的问题所在: The ASSET table;在 PURCHASE_ORDER_ITEM 中找到的 POI_Asset 的详细信息。资产可以是 3 种类型之一:工作站、硬件或软件,每种都有不同的 table 属性。我把他们共享的任何共同信息放在资产 table 中,但是在不同的 table 中的独特信息(WORKSTATION,HARDWARE_TYPES,软件)我想将它们分成不同的 table因为我不想有一大堆空字段和冗余信息。尽管 ASSET (A_EquipmentType) 中的单个字段不能引用 3 个不同的 table(很明显),但我 运行 进入了这个问题。我如何引导它寻找正确的 table?

抱歉描述不当...我真的希望我能附上我的图表...一张图片值一千字..

下面的table结构呢?

Assets
--------
AssetID (PK)
EquipmentTypeID
(other fields common to all assets

Workstation
-----------
AssetID (PK, one-to-one join to Assets.AssetID)
(workstation-specific fields)

并重复 HardwareSoftware table。我认为这对于大多数情况来说已经足够了,因为您不能在单个 table.

的两条记录上使用相同的 AssetID

同一个 AssetID 仍然有可能出现在多个 table 中:例如WorkstationsSoftware 都可以有一条带有给定 AssetID 的记录。如果这是一个问题,您可以向每个详细信息 table 添加一个 EquipmentTypeID 字段,并将 EquipmentTypeID 的值限制为 table 的值(对于Hardware 只能是硬件ID等)。接下来,table 之间的联接应包括 AssetIDEquipmentTypeID。那么,不可能有单个资产的多个详细记录,即使跨越多个 tables。