静态查找数据的数据库模式组织

时间:2017-11-06 10:14:44

标签: data-structures database-design database-schema static-data

我正在构建一个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'

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

1 个答案:

答案 0 :(得分:0)

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

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