具有国际化的MySQL数据库设计
我将开始研究中型应用程序,我正在计划它的数据库设计. 这些表中的每一个都将共享常见的i18n字段,例如: 在您看来哪种方式最好? 或做类似的事情:
这会避免我重复这样的事情:
等等,所以我可能会减少数据库表的数量,但我不确定性能.我不是一个数据库设计师,所以请告诉我. 最佳答案 我见过这种方式最常见的方法是使用两个表,membership和membership _ml,其中一个存储基值,ml表存储本地化的字符串.这与您的第二个选项类似.我认为这样的大多数系统都是这样制作的,因为它们的设计并没有考虑到国际化,因此额外的_ml表格会在之后“加入”. 我认为更好的选择类似于你的第一个选择,但有点不同.您将拥有一个用于存储所有翻译的中央表,但不是将表名和字段名放在那里,而是使用标记和中央“内容”表来存储所有翻译.这样,如果需要,您可以在基表中的标记和Content表中的翻译之间强制执行某种RI. 我实际上asked a question关于这个事情,所以你可以看看更多的信息(而不是在这里重新设计模式示例). (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- mysql – Doctrine 2 DQL CONCAT字段和常量字符串
- -bash:./ configure:没有这样的文件或目录 – 在Mac OS X
- mySql:count列中具有相同数据的行数
- mysql – 临时表在PHPMyAdmin中不起作用
- MYSQL数据库mysql提示[Warning] Invalid (old?) table or d
- 最近5条记录MYSQL按ID排序
- mysql – 使用Amazon Web Services(EC2等)托管CakePHP应用程
- Django从MySQL迁移到Postgres
- php – mysqli_connect无法正常工作
- Mysql实例Mysql数据库中把varchar类型转化为int类型的方法