我有多个表用于存储公司资产,这些表包括: -
•车辆
•服务器
•个人电脑
•家具
现在,对于每个资产,我想创建一个查找表,存储资产模型,例如在创建新PC时,用户将选择模型“Dell vostro 350”等。 但更好的是什么;定义四个查找表(例如vechicle_model,Server_models,Pc_models,furniture_model),或定义一个查找表并有一个描述其类型的列(type = PC)
此致
答案 0 :(得分:6)
使用单独的查找表,尽管它们似乎有相似之处 - 除非你a)想要允许某人存储Dell vostro 350
作为家具类型,或b)希望内部具有明显更复杂的约束数据库,以防止记录这种交叉选择。
事实上,你对单个查找表的提议是众所周知的,它甚至获得了它自己的首字母缩写词 - OTLT,One True Lookup Table的缩写。如果你想要搜索它,它几乎总是与“反模式”或“初学者错误”相提并论。
答案 1 :(得分:2)
这些表是否共享相同的列,约束和物理存储?
请注意,上述情况实际上比初看起来更难实现。例如,如果出现以下情况,表格应分开:
因此,您可能需要将表格分开。
答案 2 :(得分:1)
如果你打算用于查找,我会选择一个表解决方案。
如果您计划根据其型号存储有关资产的其他信息,例如车辆是汽油/柴油,还是PC是台式机或笔记本电脑,那么多表解决方案可能会更好。