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

dsekswqp  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(307)

有一个关于如何在mysql数据库中最好地存储一些数据的快速问题。
表-资产
身份证件
名称
描述
型号
表-资产类型
身份证件
名称
每个资产都将有一个资产类型,并且基于该类型,它将有其他字段(例如,hp prodesk可能有一种工作站类型,并且基于该类型,它还将有ram和cpu字段)。如何最好地存储这些数据?

kxe2p93d

kxe2p93d1#

我会为每种类型创建一个表。拥有一些可以保存记录的通用表是不实际的,这些表具有不同的属性集(Map到不同的列集)。
所以,我有一张table Workstation 具有适当的列。

n3schb8v

n3schb8v2#

最好有一个实体关系图来简要描述对象之间的关系。例如,一个资产只能有一种类型,一种类型可以属于多个不同的资产,这意味着资产和资产类型的关系是一对多关系。
资产类型(一)-资产(多)
因为这是一对多关系,所以外键列应该放在“many”侧,即资产表中。
基于这种类型,它还将有ram和cpu字段
对于这一点,我建议您为每种类型的资产构建一个表,并从资产表继承。例如,工作站和监视器是资产。因此,您的数据库应该如下所示。
表:资产类型
资产类型id(pk)
资产类型名称
表:资产
资产id(pk)
资产名称
资产描述
资产型号
资产类型\ id(fk参考资产类型)
表:工作站
工作站id(pk、fk参考资产)
工作站名称
中央处理器
图形处理器
表:监视器
监视器id(pk、fk参考资产)
监视器名称
决心

相关问题