1

我正在构建一个 Web 应用程序,“静态”数据(如 Gender、Profession 等)将显示在组合框中。我会将数据存储在数据库表中。所有这些“静态”数据将存储在具有以下结构的表中

static_gender 

    id ,
    token,
    description

static_profession
    id ,
    token,
    description

并且有一张表,其中所有标签和消息资源都被翻译成多种语言,就像这样

table_message_resources
id,
token,
language,
message

因此,为了让所有标签出现在性别组合框中,我将对这种样式进行查询

select token,message 
 from table_static_gender g inner join table_message_resources  mr on
 (g.token = mr.token)
 where language = 'En'

我的问题是:这是存储静态数据的好模式(每个主题一个表,所有表具有相同的结构)还是我应该只有一个表来存储所有静态数据。

4

1 回答 1

0

有一种众所周知的反模式,称为 One True Lookup Table,缩写为 OTLT。您可以在数据库 OTLT 上搜索很多反对这种模式的论据。在某些情况下,这样做会有所帮助,但避免复杂性并不是其中之一。

你的第二个选项对我来说看起来像 OTLT,所以我会避免它。

于 2017-11-06T12:04:26.207 回答