2011-08-22 3 views
0

ID, 이름 및 설명 열로 구성된 "태그"라는 표가 있습니다.Postgres : n : m 유형이 중간 인 표

지금 ... 나는 등 테이블 문자 (C), 영화 (M) 시리즈 (S)가
을 말할 수 그리고 여러 개의 태그와 하나 C, M, S의 항목을 태그 할 수 있도록하려면 태그는 여러 항목에 사용될 수 있습니다.
그래서 나는이 같은 그것을 실현 할 수 : TC, TM, TS는 중간 테이블이

T -> TC <- C 
T -> TM <- M 
T -> TS <- S 

.
TC, TM, TS를 하나의 테이블에 결합하여 유형 열을 추가하고 여전히 외래 키를 사용할 수 있는지 궁금합니다.
아직까지 나는 그것을 할 방법을 찾지 못했습니다.
아니면 내가하지 말아야 할이 무엇입니까?

+1

테이블을 단일 테이블로 결합하고 외래 키를 사용할 수 없습니다. 이들을 결합하면 응용 프로그램에서 참조 무결성을 유지해야합니다. 그러나 그러한 접근법은 적절합니다. 적어도 n : m 테이블을 결합한 정교한 시스템을 보았습니다. – J0HN

+0

왜이 작업을 수행 하시겠습니까? – Tometzky

+0

@Tometzky이 특별한 문제 때문에 실제 이유가 없었습니다. 생각의 기차의 다음 단계 : 많은 중간 테이블이 필요합니다 -> 비슷하게 보입니다 -> 내가 결합 할 수 있습니까? – Arokh

답변

0

위의 의견에서 제안한 것처럼 여러 테이블을 결합하여 하나의 테이블로 만들 수는 없습니다. "태그 관계"에 대한 단일보기를 원할 경우 View에 필요한 정보를 가져올 수 있습니다. 이 방법을 사용하면 더 이상 한 번만 쿼리를 작성하고 단일 테이블처럼 사용할 수 있습니다. 보기에 데이터를 삽입 할 수는 없다는 것을 명심하십시오. (가능한 경우도 있지만 조금 고급입니다.)

관련 문제