gpt4 book ai didi

database - 多语言数据库设计方法

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

我正在尝试实现一个多语言系统,但我遇到了一个关于 stackoverflow 的主题,但我没有想到。

可以找到完整的问题here

题中选项3,结构如下

CREATE TABLE T_PRODUCT (
NAME_FK int,
DESCRIPTION_FK int,
PRICE NUMBER(18, 2)
)

CREATE TABLE T_TRANSLATION (
TRANSLATION_ID
)

CREATE TABLE T_TRANSLATION_ENTRY (
TRANSLATION_FK,
LANGUAGE_FK,
TRANSLATED_TEXT NTEXT
)

CREATE TABLE T_TRANSLATION_LANGUAGE (
LANGUAGE_ID,
LANGUAGE_CODE CHAR(2)
)

但我不明白为什么我们需要 T_TRANSLATION 表。它的工作是什么?这个问题也被问到一些评论,但他们没有得到关于那个问题的答案。

如何通过这种方法插入和选择产品?

最佳答案

But I didnt get the idea why we need T_TRANSLATION table. What is the job of it ?

猜测它识别需要翻译的字段并为 T_TRANSLATION_ENTRY 表中的 FOREIGN KEY 提供“目标”。因此对于特定字段 TRANSLATION_ID 可能是 1,对于其他一些字段(不一定在同一个表中)它可能是 2 等等......这样,你可以有一个只有 3 个表的有限结构,涵盖无限数量的翻译“模型其余部分中的“可翻译”表。

也就是说,我反对这样的结构,因为它没有正确地执行外键(DBMS 不“知道”TRANSLATION_ID 的含义并且不能确保其中只有有效值)并且可以是性能 pig 加入。

我认为最好在可翻译表和翻译之间建立直接的 1:N 关系,即使这意味着向模型添加许多新表(基本上每个可翻译表都有一个新的翻译表)。例如:

enter image description here

关于database - 多语言数据库设计方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15476660/

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