我想模仿的关系有点像这样:
- 一个主TextResource对象,用于存储高级共享的非本地化数据,如最大长度。
- 我们可以调用SourceText的一个单一细节对象,需要单独跟踪。
- 其余的详细对象,我们称之为TargetText。
- Source和TargetText对象都存储以特定语言本地化的字符串以及其他本地化数据。
- 但是存储在SourceText中的字符串是原始字符串,因此,即使数据模式相同,它们在功能上也不相同,并且这条数据需要存在并且每个TextResource主对象都是唯一的。
醇>
我想到的选项是:
- 常规主 - 详细信息表,但将SourceText ID存储在主表中 ...可能会创建循环引用?
- 常规主 - 详细信息表,但在详细信息表中添加标志/类别列,将行标记为源或目标...虽然这可能会导致多个&# 34;来源"每个主人的详细信息,可以使源数据查询不那么直截了当
- 将源数据存储在主表中,即使这意味着在主表和详细信息表上都有类似的列(并在其上拧紧规范化)
- 创建三个不同的表:master,main和detail。 Master(TextResource)和main(SourceText)将具有一对一的关系,而每个master可能有n个详细信息(TargetText)行,但除了Source和Target表将共享其大部分模式之外
我看到了所有四种方法的好处和潜在问题,所以也许你可以帮我决定一个?
我想要实现的目标归结为:
- 每个资源只有一个源字符串
- 能够轻松快速地查询文本资源及其源字符串
- 能够轻松快速地查询给定资源的本地化字符串,包括Source one,
- 能够存储每个本地化字符串的版本化数据,包括Source one
- 当然,避免不良做法并遵守规范化
提前致谢:)