为简单的多语言CMS设计数据库

时间:2016-08-01 12:26:41

标签: mysql database-design

我有一个简单的CMS我正在努力建立自己,但我一直在设计数据库的结构。

我的数据库中有3个表:内容,图片,seo(之后我会有一个博客)

我的问题是关于seo表。我正在尝试对页面和图像使用seo表(对于alt标签)

但是我只需要seo title和seo描述页面和seo标题的图像。将它分成像images_seo和page_seo这样的2个表更好吗?我将有大约10页(x3种语言)但超过200张图片。这样做的正确方法是什么?

我的内容表格如下:

----------------------------------------------------
ID | content_id | page_id | lang_code | content_text

图片表格:

-------------------------
ID | page_id | image_name

我的 seo 表目前看起来像

-------------------------------------------------------------------------------------
ID | page_id | image_id | lang_code | type  | page_title | seo_title  | seo_desc
-------------------------------------------------------------------------------------
 1 |    1    |     1    |     en    | image |            | test image |
 2 |    1    |          |     fr    | page  | Homepage   | test page  | page seo desc

1 个答案:

答案 0 :(得分:0)

我在我的seo内容模块上以另一种方式解决了这个问题。每个内容页面都包含带有图片的文件和带有语言内容的文本。在WYSIWYG编辑器中编辑内容链接到文本中插入的图像时。这是因为相同的图像可以在不同的语言中使用不同的alt标签,或者如果包含文本也必须翻译图像。 所以我的结构是:content->({content in language},{pictures})