2009-10-16 6 views

답변

3

예, ID 열은 필요하지 않으며 PK는 다른 두 열과 비교되어야합니다.

하지만 제발, 모두 명확히합시다. ID 열! = 기본 키.

1

다른 데이터를 관계에 연결하려는 경우.

예를 들어 관계를 만들 때 등의 링크가있는 로그 테이블을 추가 할 수 있습니다.

메타 데이터를 추가해야하는 경우 관계 테이블에 메타 데이터를 추가하지 않아도되므로 조인을 효율적으로 수행 할 수 있어야하므로 기본 테이블을 추가하고 다른 테이블에 링크 할 수 있습니다 모든 메타 데이터가 포함 된 표.

1

동의해야합니다. 나는 snippet_id와 tag_id를 프라이 머리 키로 만들 것이고, 그것은 불필요한 중복 엔트리가 없다는 것을 보장 할 것이다.

0

특별한 경우에는 유용하지 않습니다. 그러나 테이블이 일대 다 관계 (디자인이 끔찍하게 잘못되었음을 나타낼 수 있음)에 관여했다면, 필요할 것입니다.

+0

"필요"? Salman A가 말했듯이, "맛의 문제." – onedaywhen

0

그런 종류의 스키마는 매우 일반적입니다. IMO, 나는이 경우에 snippet_idtag_id과 같이 복합 pk를 사용했을 것이다. 나는 복합 모델에 비해 "진정한"이점을 보지 못한다. 아마도 디스크 공간을 절약 할 수있을 것이다.

복합 모델의 장점은 joins을 피하고 외래 키를 쿼리하면된다는 것입니다.

1

맛의 문제. 두 가지 관행은 공통점이 있습니다.

관련 문제