使用基于“的”变量存储MySQL对象;“类型”;

使用基于“的”变量存储MySQL对象;“类型”;,mysql,relational-database,Mysql,Relational Database,有一个关于如何最好地在MySQL数据库中存储一些数据的快速问题 表-资产 ID 名称 说明 型号 表-资产类型 ID 名字 每个资产都有一个资产类型,基于该类型,它将有其他字段(例如,HP ProDesk可能有一种工作站类型,基于该类型,它还将有RAM和CPU字段)。如何最好地存储这些数据?我会按类型创建表。拥有一些可以保存记录的通用表是不实际的,这些记录具有不同的属性集(映射到不同的列集) 因此,我希望有一个带有适当列的表Workstation。最好有一个实体关系图来简要描述对象之间的关系。例

有一个关于如何最好地在MySQL数据库中存储一些数据的快速问题

表-资产

ID
名称
说明
型号

表-资产类型

ID
名字


每个资产都有一个资产类型,基于该类型,它将有其他字段(例如,HP ProDesk可能有一种工作站类型,基于该类型,它还将有RAM和CPU字段)。如何最好地存储这些数据?

我会按类型创建表。拥有一些可以保存记录的通用表是不实际的,这些记录具有不同的属性集(映射到不同的列集)


因此,我希望有一个带有适当列的表
Workstation

最好有一个实体关系图来简要描述对象之间的关系。例如,one资产只能有one类型,one类型可以属于many不同的资产,这意味着资产和资产类型的关系是one-to-many关系

资产类型(一)-资产(多)

因为这是一对多关系,所以外键列应该放在“多”端,即资产表中

基于该类型,它还将具有RAM和CPU字段

对于这一点,我建议您为每种类型的资产构建一个表,并从资产表继承。例如,工作站和监视器是资产。因此,您的数据库应该如下所示

表:资产类型
资产类型Id(主键)
资产类型名称

表格:资产
资产标识(PK)
资产名称
资产描述
资产\型号\编号
资产类型\u Id(FK参考资产类型

表格:工作站
工作站Id(主键、FK参考资产
工作站名称
CPU
GPU

表格:监视器
监视器Id(主键、FK参考资产
监视器名称

分辨率

Hi。这是一个常见问题。请总是用谷歌搜索你的问题/问题/目标的许多清晰、简洁和具体的版本/措辞,有或没有你的特定字符串/名称,并阅读许多答案。将发现的相关关键字添加到搜索中。如果你找不到答案,就发布,使用一种变体搜索你的标题和标签的关键词。