(在mysql数据库上),我想要一个包含不同语言的不同变量的表,例如文本方向,名称的第一个字母总是大写,我应该对链接进行url编码等等。
人类会这样想:
id | lng | text direction | url encode | 1st letter cap |
---------------------------------------------------------
1 | en | ltr | 0 | 1 |
2 | he | rtl | 1 | 0 |
3 | fr | ltr | 1 | 1 |
但是这样我可能会发现我必须添加更多的列,我知道这不是很好的数据库设计。另一种选择是维护一个固定的 2 列“id”和“lng”表,然后是这个表:
lng id | var | val |
-------------------------------
1 | text direction | ltr |
1 | url encode | 0 |
1 | 1st letter cap | 1 |
2 | text direction | rtl |
(and so on)
甚至可能是三个表:语言名称和 ID、var 名称和 ID 以及上面的表格 - 当用 var id 替换 var text description 时。
我什至可能想忘记存储 var 文本描述,而在查询时直接使用 ids,但这似乎不太人性化。
哪条路要走?