문제

나는 일부 데이터를 저장하기 위해 일부 테이블을 디자인하려고 노력하고 있습니다. 나중에 다른 언어로 변환해야합니다. 누구든지 이에 대한 "모범 사례"또는 지침을 제공 할 수 있습니까?

감사

도움이 되었습니까?

해결책

다음과 같은 것처럼 보이는 제품 테이블이 있다고 가정 해 봅시다.

Products
----------
id
price

Products_Translations
----------------------
product_id
locale
name
description

그런 다음 Product_id = product.id에 가입하고 Locale = 'en-us'에 가입합니다.

물론 이것은 성능에 영향을 미칩니다. 이제 이름과 설명을 얻으려면 가입이 필요하지만 나중에 많은 로케일을 허용합니다.

다른 팁

나는 당신이하는 일에 대한 더 많은 정보가 도움이 될 것이라고 믿습니다. 데이터 샘플을 줄 수 있습니까? 그리고 동적이라는 것은 무엇을 의미합니까? 시간이 지남에 따라 많은 데이터가 삽입되고 데이터가 많이 변경되거나 데이터를 적은 시간 동안 만 사용할 수 있어야합니다.

일반적으로 공통 비 국적 데이터가있는 부모와 현지화 된 데이터 및 언어 키가있는 자식 테이블을 살펴보아야합니다. 동적으로 자주 변한다는 것을 의미한다면, 트리거와 '번역 된'플래그와 같은 것을 살펴보고 변경이 이루어진 후 번역에 필요한 것을 표시 할 수 있습니다.

'동적 데이터'의 특성을 설명 할 수 있습니까?

이것을 구현하는 한 가지 방법은 3 개의 다른 테이블을 갖는 것입니다.

  • 언어 테이블
    • 이 테이블은 언어와 열쇠를 저장합니다.
    [1, English], 
    [2, Spanish]
  • 데이터 정의 테이블
    • 동적 데이터가 처음 입력되면이 테이블에서 데이터를 식별하고 데이터를 식별합니다.
      [1, 'Data1'], 
      [2, 'Data2']
  • data_language 테이블
    • 이 표는 언어, 데이터 정의 및 번역을 연결합니다.
      So: [Data_Language, Data_Definition, Language, Translation]
          [1, 1, 1, 'Red']
          [2, 1, 2, 'Rojo']
          [3, 2, 1, 'Green']
          [4, 2, 2, 'Verde']

          etc ...

동적 데이터가 입력되면 기본 '영어'레코드를 작성한 다음 여가에서 번역하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top