MS-Access:Table 条目可以根据其类型具有不同的属性
MS-Access: Table entry can have different properties based on it's type
首先介绍一些背景知识:我接手了一个职位,该职位通过不同的 excel 工作表跟踪大量数据,目前这绝对是一团糟,跟踪和通过是一场噩梦。这将供个人使用,只是为了协助我的工作,我想制作一个简单的访问数据库,只是为了清理数据并以适当的格式存储它(因为它应该有排在第一位)。到目前为止,我很高兴,但只是停留在最后一个设计元素上。
我已经尝试阅读这个问题,但由于我没有太多这方面的背景知识,所以我很难找到可以阅读的术语(边读边学)而且它有点很难描述。
所以我的问题是关于数据库设计的;处理 table 的正确方法是什么,它可以根据其类型
具有不同的值
例如,在我的table中,我需要跟踪采购订单;采购订单有详细信息;这些细节由许多资产组成。资产可以是以下三样东西之一:工作站、软件、硬件(每个都有自己的属性)。
如前所述,我边学边学,在开始之前我已经阅读了关键概念,并且一直顺利进行到现在。我显然遗漏了一些东西,所以在正确方向上的任何帮助都会有所帮助
我会附上我的图表,但由于我的声誉不够高,我无法这样做。更多细节:
- 我有一个 Table PURCHASE_ORDER,其中几乎包含与 PO 相关的所有信息:
- PO_Number(PK,采购订单号)
- PO_Vendor(FK,与我遇到的问题无关)
- PO_SubmittedBy(FK,与我遇到的问题无关)
- PO_SubmitDate(与我遇到的问题无关)
- PO_ReceivedDate(与我遇到的问题无关)
- PURCHASE_ORDER_ITEM 具有以下字段:
- POI_ID(PK,自增)
- POI_Asset(FK,必需,组成订单项的资产)
- PO_Number(Purchase_Order ID 的 FK,必需,将订单项与 PO 联系起来)
- POI_Qty(不需要,只需订购商品的数量)
- PO_UnitPrice(不需要,单价)
- Purchase_Order和Purchase_Order_Item是一对多的关系(一个采购订单可以有多个Purchase order Items)。
- 这主要是我的问题所在: 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)
并重复 Hardware
和 Software
table。我认为这对于大多数情况来说已经足够了,因为您不能在单个 table.
的两条记录上使用相同的 AssetID
同一个 AssetID
仍然有可能出现在多个 table 中:例如Workstations
和 Software
都可以有一条带有给定 AssetID
的记录。如果这是一个问题,您可以向每个详细信息 table 添加一个 EquipmentTypeID
字段,并将 EquipmentTypeID
的值限制为 table 的值(对于Hardware
只能是硬件ID等)。接下来,table 之间的联接应包括 AssetID
和 EquipmentTypeID
。那么,不可能有单个资产的多个详细记录,即使跨越多个 tables。
首先介绍一些背景知识:我接手了一个职位,该职位通过不同的 excel 工作表跟踪大量数据,目前这绝对是一团糟,跟踪和通过是一场噩梦。这将供个人使用,只是为了协助我的工作,我想制作一个简单的访问数据库,只是为了清理数据并以适当的格式存储它(因为它应该有排在第一位)。到目前为止,我很高兴,但只是停留在最后一个设计元素上。
我已经尝试阅读这个问题,但由于我没有太多这方面的背景知识,所以我很难找到可以阅读的术语(边读边学)而且它有点很难描述。
所以我的问题是关于数据库设计的;处理 table 的正确方法是什么,它可以根据其类型
具有不同的值例如,在我的table中,我需要跟踪采购订单;采购订单有详细信息;这些细节由许多资产组成。资产可以是以下三样东西之一:工作站、软件、硬件(每个都有自己的属性)。
如前所述,我边学边学,在开始之前我已经阅读了关键概念,并且一直顺利进行到现在。我显然遗漏了一些东西,所以在正确方向上的任何帮助都会有所帮助
我会附上我的图表,但由于我的声誉不够高,我无法这样做。更多细节:
- 我有一个 Table PURCHASE_ORDER,其中几乎包含与 PO 相关的所有信息:
- PO_Number(PK,采购订单号)
- PO_Vendor(FK,与我遇到的问题无关)
- PO_SubmittedBy(FK,与我遇到的问题无关)
- PO_SubmitDate(与我遇到的问题无关)
- PO_ReceivedDate(与我遇到的问题无关)
- PURCHASE_ORDER_ITEM 具有以下字段:
- POI_ID(PK,自增)
- POI_Asset(FK,必需,组成订单项的资产)
- PO_Number(Purchase_Order ID 的 FK,必需,将订单项与 PO 联系起来)
- POI_Qty(不需要,只需订购商品的数量)
- PO_UnitPrice(不需要,单价)
- Purchase_Order和Purchase_Order_Item是一对多的关系(一个采购订单可以有多个Purchase order Items)。
- 这主要是我的问题所在: 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)
并重复 Hardware
和 Software
table。我认为这对于大多数情况来说已经足够了,因为您不能在单个 table.
AssetID
同一个 AssetID
仍然有可能出现在多个 table 中:例如Workstations
和 Software
都可以有一条带有给定 AssetID
的记录。如果这是一个问题,您可以向每个详细信息 table 添加一个 EquipmentTypeID
字段,并将 EquipmentTypeID
的值限制为 table 的值(对于Hardware
只能是硬件ID等)。接下来,table 之间的联接应包括 AssetID
和 EquipmentTypeID
。那么,不可能有单个资产的多个详细记录,即使跨越多个 tables。