다국어 시스템을 구현하려고하는데 나는 아이디어를 얻지 못한 stackoverflow에 관한 주제를 발견했습니다.다국어 데이터베이스 디자인 접근
전체 질문 here
질문에 옵션 3을 찾을 수 있습니다, 그것은 우리가 T_TRANSLATION
테이블이 필요 왜 생각을 didnt는
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)
)
그러나 아래와 같은 구조를 갖는다. 그것의 직업은 무엇입니까? 이 질문은 몇 가지 의견도 제기되었지만 그 질문에 대한 답변을 얻지 못했습니다.
이 방법으로 제품을 삽입하고 선택하는 방법은 무엇입니까?
내가도 번역해야 할 많은 외국 키 테이블이있는 경우, 예를 들어 (인 [NationalityId, MaritalStatusId, CourtesyId, 이름, 가운데 이름, 성]) 국적, MaritalStatus, 의례는 테이블입니다. 조인 수가 너무 많아서 당신이 제공 한 솔루션이 여전히 유효하고 적합합니까? – Monah
글쎄, 그것은 합쳐야하는 테이블의 수를 두 배로 늘립니다. N 개의 "정상적인"테이블을 합칠 필요없이 이제는 _also_ N 개의 번역 테이블에 참여하십시오. 이것이 문제인지 여부는 대표적인 환경에서 측정해야합니다. 그러나 _dynamically_ 언어를 선택하는 다른 솔루션은 데이터베이스 또는 다른 방법으로 표현되는 일종의 추가 "조인"을 피할 수 있으며 데이터베이스는 일반적으로 가입하기에 좋습니다 ... –