gpt4 book ai didi

database - 如何更新翻译词典数据库的翻译表

转载 作者:搜寻专家 更新时间:2023-10-30 20:38:23 26 4
gpt4 key购买 nike

我正在为翻译词典实现一个数据库,并使用指示的设计 here .

有什么方法可以更新翻译表中的条目吗?或者您是否还需要有一个主键以方便任何更新?理想情况下,不需要更新,但可以想象翻译可能不正确并且需要更改。

看来你可以删除不正确的翻译并插入一个新的。就我而言,我有一个服务器数据库和一个 Android 应用程序,可以将所需的语言以及相关的单词和翻译提取到本地数据库中。在这种情况下,虽然在服务器上删除不正确的翻译可能很简单,但客户端怎么知道,除非它删除并重新填充整个翻译表?

是一个主键,然后是两个 word_id 列的 UNIQUE 约束是解决这个问题的最佳方法吗?

最佳答案

您可以使用如下语句更新翻译表中的条目:

update TRANSLATION_EN_DE
set ID_DE = 3
where ID_DE = 2 and
ID_EN = 1;

不过我不会为每种语言准备一张 table 。

为独特的语言添加一个新表,并将其主键添加到包含所有语言的单词表中。

那么你的翻译表就是“word_from”和“word_to”。

它将使您的设计和代码更加简单。

要将更改传播到客户端,您可能希望在所有表的新列中对所有更改进行版本化,以考虑新词/翻译、拼写更正、可能删除的词/翻译,并让客户端记录它检索到的数据的版本号。

由于您可能有想要传播的删除,因此您需要在表中使用“软删除”标志,否则表中将没有记录来保存版本号。

您可能还需要一个表格,将这些版本号作为唯一键保存,并用文本解释已发生的更改类型以及更改的时间戳。从所有其他表中删除时间戳列。

因此,当您进行新的一批更改时,创建一个新的版本记录,进行所有必需的更改,然后在单个事务中提交所有更改。然后整个变更集对其他数据库用户可见,他们可以非常有效地检查它们是否是最新的,并且只检索相关的变更。

关于database - 如何更新翻译词典数据库的翻译表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30985510/

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