gpt4 book ai didi

java - 多语言BBD方案

转载 作者:行者123 更新时间:2023-11-29 14:20:17 27 4
gpt4 key购买 nike

我正在考虑创建一个书籍的数据库(书籍由一个或两个图像以及一些文本和数字组成)。我想以多语言提供此数据(MULTI5-EUR 从一开始)并且项目的数量可以是 27000(25000 被翻译成近似)

读了一点,我看到很多关于创建它的方法的不一致,我发现的最有趣的想法是:

  • 一个独特的表格 books 和每个可翻译文本的各种表格(文本、描述.. 每种语言的 ID 引用,示例)这使得 mi books 表格非常大。
Books
ID | TITLE_ES | TITLE_EN | ..
  • 一个包含通用数据(不可翻译)和“元数据”表的唯一表,与文化表有关系。 (Culture 表也会与 Genres, editions_name.. 有关系)
Books
-----------
ID | EDITION_ID | DATE | AUTHOR | GENRE_ID | METADATA_ID |...

Metadata
-----------
ID | TITLE | DESCRIPTION | SUMMARY | CULTURE_ID ...

Cultures
---------
ID | CULTURE

我们的想法是,这些图书具有许多可用于搜索的属性(作者、社论、isbn、日期、销量等),我希望尽可能高效地实现这一目标。

我希望就此主题展开有启发性的讨论,我们谈论的是 3 万个寄存器,每年大约增长 500 个。数据量不大,不是吗?

最佳答案

当您在标签中提到 Liferay 时,您忽略了另一个选项:利用 ServiceBuilder,您只需声明可翻译即可轻松翻译各个列。结果将作为 xml 存储在相应的数据库列中——这让数据库规范化人员感到不寒而栗。然而,这也不全是坏事:

以这种方式存储数据库报告通常很糟糕:报告工具不知道如何从某些 XML 内容中提取正确的语言。然而,处理来自外键关系的翻译键值对的经典报告也很糟糕。这些报告不容易编写,而且维护起来也很糟糕。您是否预见到您将使用经典的报告工具?将此纳入您的决定。

您提到“尽可能高效”。什么是效率? 高效地编写软件? ServiceBuilder 获胜。 高效地维护软件? ServiceBuilder 获胜。 通过翻译后的名字过滤效率高吗?非 XML 内容的数据库过滤机制将胜出。在全文索引中查找标题? (您在问题中标记了 lucene):数据的存储方式没有区别。

在所有这些想法之后,这个问题没有正确的答案,它很可能只会引起自以为是的讨论——根据此处的问题标准,它可能不适合 stackoverflow。无论如何,我希望它能有所帮助,但由于其讨论性质,我宁愿希望问题被关闭。

征求以数据库为中心的意见,您会得到规范化。询问以软件为中心的意见,您将尝试最大限度地提高编写代码的可维护性。选择您发现自己最有可能遇到的情况并接受结果。

关于java - 多语言BBD方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30555092/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com