我的问题背景是这样的:
名为“User”的数据库表,“User”具有“State”列,其值可以是“0”(禁用),“1”(正常),“2”(其他) )。
我需要向不同的国家/地区用户显示“状态”的不同文本,这意味着应显示“禁用”或“禁用”(中文字符)而不是“0”。
现在,我设计了一个名为“Code”的“映射”表,其中包含以下列:“代码”,“值”,“区域设置(国家/地区)”,“类型”。我应该加入两个表(“用户”和“代码”)来显示区域设置可靠值,或者使用另一个查询来获取它(我认为可以使用查询缓存)。
注意:“代码”表中的“类型”列用于代码的类别。例如:“用户”有一个“状态”,“菜单”有一个“状态”。
你有什么选择?和理由。 THX。
答案 0 :(得分:0)
你是说你的代码,值,区域设置和类型的表是状态的查找表吗?如果是,那听起来不错。但是,由于您没有提到这些列的含义,因此很难说这是否是正确的方法。
此外,它在很大程度上取决于您如何访问数据。
如果您尝试在SQL查询中获取完整输出,那么我将采用的方式是专门为State提供一个查找表,只有两列,State和StateDescription。加入State上的查找表并撤回StateDescription以显示给用户。
如果您在SSRS或类似的数据中显示数据,那么根据State的值对其中的描述进行硬编码可能是一个很好的举措。这样可以避免查询加入的成本。
答案 1 :(得分:0)
如果“状态”并非总是变化,我将使用ENUM column。
答案 2 :(得分:0)