我正在构建一个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'
我的问题是: 这是一个存储静态数据的好模式(每个主题一个表,所有表具有相同的结构),或者我应该只有一个表来存储所有静态数据。
答案 0 :(得分:0)
有一种众所周知的反模式称为One True Lookup Table,缩写为OTLT。您可以在数据库OTLT上搜索针对此模式的大量参数。在某些情况下,这样做会有所帮助,但避免复杂性并不是其中之一。
你的第二个选项对我来说就像是OTLT,所以我会避免它。