2008-11-26 2 views
0

나는 음악 앨범 테이블을 가지고 있습니다. 두 번째 앨범 아트 테이블이 있습니다. 불행히도 모든 앨범에 앨범 아트 데이터가있는 것은 아닙니다. 따라서 음악과 앨범 아트 사이에서 OUTER JOIN을해야합니다.2 개의 DB 테이블 대 하나의 DB 테이블

가정 : 두 테이블 단지의 int를 포함하고 .. 어떤 모양으로 VARCHAR 등

질문

  • 더 나은가요 외부를 줄이기 위해 하나에 두 테이블을 병합 할 수는 요구 사항을 가입?

답변

6

앨범을 별도의 테이블에 보관할 수있는 유일한 이유는 앨범 하나에 여러 작품이 포함될 수 있다는 것입니다. 각 테이블에 하나의 아트웍 만 포함되어 있고 포함되는 경우, 동일한 테이블에 붙여야합니다. 많은 다른 인스턴스에서이 두 테이블을 조인하는 경우, SQL.을 단순화하기 위해 뷰를 작성할 수 있습니다.

+0

환호 :) 나는 이것을 사용할 것이다. –

1

아트가없는 앨범의 경우 null이있는 표를 하나만 사용하십시오. 나는 두 번째 테이블을 갖는 것에 어떤 이점도 보이지 않는다 ... 같은 예술을 공유하는 많은 앨범을 가지고 있지 않다면 말이다.

1

이 경우 두 개의 테이블은 일반적으로 하나의 앨범에 여러 그림이 포함되어 있지만 아마도 원하는 내용이 아닌 1 -> 많은 관계를 암시합니다.

이론적으로 두 테이블로 나눌 이유가 없다면 이론적으로 테이블을 하나로 병합해야합니다. 왜 그걸 두 테이블로 원하니?

관련 문제