在Postgres 9.4中存储下拉列表文本/值的理想方法是什么?

时间:2015-02-03 20:39:03

标签: postgresql web-applications dropdownbox

使用Postgres在网络应用中存储选择列表值的最佳方法是什么?

如果我使用枚举,这有利于充当任何列设置为该类型的约束(仅允许可能的值)。我也可以编写相当普通的查询来拉取这些值以填充选择...但这样做的缺点是要求选项文本和值相同。

如果我创建一个表来存储这些,我可以为值和文本提供列,甚至可能有第三列(注释/描述,无论如何)。但是,它意味着每个值集的完整表,我期望在整个webapp中有几十个值。不知道为什么这比“枚举”感觉更“重”,但确实如此。 (“创建枚举”语句加上未来可能的“更改枚举”与“创建表”加上许多初始插入语句以及将来可能更多。)

我也不能为所有下拉列表创建单个表,因为那时我需要在与之相关的各个表中进行复杂的约束逻辑。

对于我不知道的这个问题,是否存在理想的代码模式?

解决方案不需要可移植到其他数据库引擎......我非常乐意使用postgres-only解决方案。

0 个答案:

没有答案