我有多个表来存储我们公司的资产,这些表包括:
·车辆
·服务器
·PC
·家具
现在,对于我想要创建的每个资产,创建一个查找表来存储资产模型,例如,在创建新PC时,用户将选择型号“Dell vostro成就350”,等等。但是哪个更好;定义四个查找表(例如vechicle_model、Server_models、Pc_models、furniture_model),或者定义一个查找表并用一列描述它的类型(type = PC )
问候
发布于 2013-06-28 17:03:32
使用单独的查询表,尽管它们可能具有相似性-除非您a)希望允许某人将Dell vostro 350存储为家具类型,或者b)希望在数据库中具有明显更复杂的约束,以防止记录此类交叉选择。
事实上,您提出的单一查找表是如此著名,它甚至获得了自己的首字母缩写- OTLT,即One True lookup Table的缩写。如果你愿意搜索它,它几乎总是与“反模式”或“初学者错误”相提并论。
发布于 2013-06-28 19:01:51
这些表是否共享相同的列、constraints和物理存储?
请注意,上述条件实际上比乍一看更难满足。例如,在以下情况下,应将表分开保存:
)上有所不同
因此,您可能需要保持表的分离。
发布于 2013-06-28 17:00:51
如果您只打算使用查找,我会选择单表解决方案。
如果您计划根据资产模型存储有关资产的其他信息,例如车辆是汽油/柴油,或者PC是台式机还是笔记本电脑,那么多表解决方案可能会工作得更好。
https://stackoverflow.com/questions/17360871
复制相似问题