我正在开发一个多语言 Web 应用程序,但在确定处理数据库中特定场景的最佳方法时遇到了一些困难(SQL Server 2008)。
假设用户可以添加帖子。帖子具有默认数据和本地化数据。帖子也与一个类别相关联。用户还可以管理这些本地化类别。
关于帖子的部分对我来说很清楚。那将是这样的:
Posts
-----
PostId (auto incremented identity)
CategoryId
CreationDate
SortOrder
PostLocalizations
-----------------
PostId
LanguageId
Title
Content
我遇到的问题是一个类别没有默认数据。这只是一个文字描述,我不确定存储本地化的最佳方式是什么。
我可以想到一个可能的解决方案,但我真的不喜欢它。
Categories
----------
CategoryId (auto incremented identity)
CategoryLocalizations
---------------------
CategoryId
LanguageId
Name
我不喜欢只有一列的表:自动递增的标识。当然,我可以添加我并不真正需要的虚拟字段,例如 CreationDate 或 SortOrder,但这看起来很愚蠢。
有没有更好的方法来解决这个问题?