2010-04-24 1 views
0

many-to-many 관계가있을 때마다 즉시 many-to-many 테이블 (junction 테이블이라고도 함)이 필요할 것입니다. 다른 테이블에서 대다수의 테이블과 달리 이러한 테이블에 특별한 명명 규칙을 사용하면 어떤 이점이 있습니까? 아니면 데이터베이스 테이블을 설계하는 회사에서 사용되는 인기있는 특수 명명 규칙이 있습니까?데이터베이스 테이블 디자인의 경우, 다 대다 테이블 (접합 테이블)에 특별한 명명 규칙을 사용하면 이점이 있습니까?

답변

0

은이 같은 패턴을 따르는 경향

ADDRESS 
ORGANIZATION 
ORGANIZATION_ADDRESS 
synonym: ADDRESS_ORGANIZATION 

이것은 조인에 접근하는 방향에 상관없이 모든 쿼리 생성을 단순화하는 경향이 있습니다. 또한 중요한 것은 전체 단어를 사용하고 약어를 피하는 것입니다. 이렇게하면 모든 사람이 더 쉽게 사용할 수 있습니다.

1

명명 규칙의 가장 큰 장점은 특정 디자인에 익숙하지 않은 사람이 디자인에 대한 즉각적인 통찰력을 얻을 수 있다는 것입니다. 예를 들어, 국가와 언어 간의 관계를 일대일로 모델링하는 타당한 이유가 있습니다.

미국                 영어
캐나다     영어
프랑스       프랑스어

는 아마도 우리 나라에서 가장 일반적으로 구어에만 관심이있어. 또한 그 관계를 일대일로 모델화하는 타당한 이유가 있습니다.

미국                 영어
캐나다     영어
캐나다     프랑스어
프랑스       프랑스어

나는 세 개의 테이블이 있다고 표시되는 경우

언어
나라
Languages_Countries

나는 기본 설계를 이해하기 위해 외래 키를 볼 필요가 없습니다. 명암이 :

언어
나라
Languages_Spoken 또는 LC_JOIN 또는 JOIN002

또한 자신을 자동으로 생성하는 스크립트를 작성 및/또는 드롭 인덱스, 외래 키 등이이 경우 수행 훨씬 쉽게 찾을 수 있습니다 스크립트는 테이블 이름을 일관되게 구문 분석 할 수 있습니다.

1

재미있는 이름을 고안하지 않아도되고 접합 테이블의 이름이 두 개의 참조 된 테이블에서 명백하다는 점이 장점입니다.

다양한 명명 체계를 발전의 년 후에, 나는 발견 내 가장 직관적 (대한 SQL 서버)가 될 하나를 최신 :

  • 접합 테이블 이름을 강조하지 않고

    • 테이블 이름은 파스칼 경우입니다 밑줄 테이블 푸, FooType, 바, BarType 및 FooType_BarType 결과

    을 함께 조인 된 테이블의 이름을 연결 dFoo_Bar.

    오라클은 (편리한) 대소 문자 구분을 제공하지 않으므로 다른 것을 찾아야합니다.

    1. Table names are singular nouns 
    2. Link tables are nouns connected by underscore 
    3. a synonym can be created for the reverse order of the nouns 
    

    예 :

  • 관련 문제