数据库设计:如何支持多语言网站? [英] Database Design: how to support multi-lingual site?

查看:101
本文介绍了数据库设计:如何支持多语言网站?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有表:

TABLE: product
=================================================================
| product_id | name           | description                     |
=================================================================
| 1          | Widget 1       | Really nice widget. Buy it now! |
-----------------------------------------------------------------

如果我想提供多语言支持,那么最好的方法是什么?

可能的解决方案:


  1. 在上表中添加language列;这将指示特定记录的语言。 (我不认为这是我的选择,因为其他表将使用product.product_id作为其FK。)

  2. 删除产品表中的任何可翻译列(在上述示例中, product.name和product.description),并将其放在带有language列的单独表格中。该新表将使用product.product_id作为FK。 (我不会在我的应用程序的第一个版本中支持多语言,这个解决方案意味着我必须做一个额外的JOIN才能获得最初支持的语言的值。)

  3. 我没有考虑的其他事情?


推荐答案

我会用解决方案2

此选项将最小化您的第一个版本的工作,并将减少不更改的列之间的重复。

This option will minimize your work for your first version, and will reduce repetition between the columns that do not change.

它需要一个额外的 JOIN ,但它是一个简单的密钥加入,所以它不会影响你的性能。

It does require an extra JOIN, but it is a simple key join so it will not affect your performance much.

这篇关于数据库设计:如何支持多语言网站?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆