1

웹 응용 프로그램을 작성하고 있으며, 성별, 직업 등과 같은 "정적"데이터가 콤보 상자에 표시됩니다. 데이터를 데이터베이스 테이블에 저장합니다. 이 모든 "정적"데이터는 다음과 같은 구조정적 조회 데이터를위한 데이터베이스 스키마 구성

static_gender 

    id , 
    token, 
    description 

static_profession 
    id , 
    token, 
    description 

을 함께 테이블에 저장되며, 따라서이 하나

table_message_resources 
id, 
token, 
language, 
message 

처럼 여러 언어로 번역 모든 라벨과 메시지 자원이있는 테이블이 있습니다 모든 레이블이 성 콤보 상자에서 제시 얻을 것은 내가이 스타일의 쿼리를 만들 것입니다

select token,message 
from table_static_gender g inner join table_message_resources mr on 
(g.token = mr.token) 
where language = 'En' 

내 질문은 :,536,이 정적 데이터 (제목 당 하나의 테이블과 모든 테이블이 같은 구조를 가짐)를 저장하는 좋은 스키마입니까, 아니면 모든 정적 데이터를 저장하는 테이블이 하나만 있어야합니까?

+0

이론적 인 토론 이외에도 일반적으로이 작업은 응용 프로그램에 따라 다릅니다. 예 : 직업을 제한해야합니까? 아니면 무료 텍스트 필드입니까? 직업을 검색하지 않는다면 사용자가 무엇이든 입력하고 자유 텍스트 필드로 만들고 사용자와 동일한 테이블의 VARCHAR에 저장하십시오. 그렇지 않으면 값이있는 테이블이 필요하고 응용 프로그램에 선택기가 설정됩니다. – Nic3500

답변

0

OTLT (One True Lookup Table)로 알려진 잘 알려진 반 패턴이 있습니다. 데이터베이스 OTLT에서이 패턴에 대해 많은 인수를 검색 할 수 있습니다. 이 작업을 수행하는 것이 도움이되는 경우가 몇 가지 있지만 복잡성을 피하는 것이 그 중 하나가 아닙니다.

두 번째 옵션은 OTLT처럼 보입니다. 따라서 피할 수 있습니다.