2

我的问题背景是这样的:

一个名为“User”的数据库表,“User”有一个“State”列,其值可能是“0”(禁用)、“1”(正常)、“2”(其他)。

我需要向不同国家的用户显示不同的“状态”文本,这意味着应该显示“禁用”或“禁止”(中文字符)而不是“0”。

现在,我设计了一个名为“Code”的“映射”表,其列:“Code”、“Value”、“Locale(Country)”、“Type”。我应该加入两个表(“用户”和“代码”)以显示区域设置可靠值,还是使用另一个查询来获取它(我认为可以使用查询缓存)。

注:“代码”表中的“类型”栏为类别代码。例如:“用户”有一个“状态”,“菜单”有一个“状态”。

你的选择是什么?和理由。谢谢。

4

3 回答 3

0

伙计们,我找到了正确的方法!属性文件。首先,为什么不使用数据库?因为“状态”不是字典列,所以它是具有有限 biz 相关值的 biz 列。因此,开发人员而不是系统管理员应该负责维护它们。属性文件是开发人员执行此操作的正确方法之一。

于 2012-06-11T06:59:57.100 回答
0

如果“状态”并不总是改变,我将使用ENUM 列

于 2012-05-31T13:47:56.760 回答
0

您是说您的带有代码、值、区域设置和类型的表是状态的查找表吗?如果是,那听起来不错。但是,由于您没有提到这些列的含义,因此很难说这是否是正确的方法。

此外,这在很大程度上取决于您如何访问数据。

如果您试图在 SQL 查询中获得完整的输出,那么我将这样做的方式是有一个专门用于 State 的查找表,其中只有两列,State 和 StateDescription。在 State 上加入该查找表并拉回 StateDescription 以显示给用户。

如果您在 SSRS 或类似文件中显示数据,那么根据 State 的值对其中的描述进行硬编码可能是一个不错的举措。这将避免查询连接的成本。

于 2012-05-31T10:43:17.130 回答