2012-04-13 2 views
-1

데이터베이스 디자인을 생각하고 있습니다. 열이 외래 키인 테이블이 하나 있습니다. 그 외래 키가 세 가지 다른 테이블의 열에 참조 될 수 있기를 바랍니다. 가능합니까? 이를 위해 테이블 ​​쿼리를 작성하는 방법은 무엇입니까? 예제 세 개의 표 : 영화, 책, TV .. 각각은 URL로 알려진 하나의 열이 있습니다. 다른 테이블 사람들이 세 테이블 중 하나의 URL을 참조 할 수있는 열 URL을 가지고 있습니다 이게 가능합니까?하나의 속성은 외래 키입니다. 외래 키가 세 개의 다른 테이블을 참조 할 수 있습니까?

답변

0

두 개의 열을 사용할 수 있습니다. 하나의 열은 다른 표의 행 ID를 포함하고 하나의 열은 항목의 유형 (예 : 영화, 책, 텔레비전)을 포함합니다.

질문에 대답하기 위해 가능하지만 동일한 ID로 여러 테이블에 여러 행이있을 수 있기 때문에 숫자만으로는 충분하지 않습니다.

+0

이것은 가능하지만 스위트 디자인이 아닐 수도 있습니다. –

1

이와 같은 것이 필요한 경우 디자인에 문제가 있음을 나타내는 기호 여야합니다.

이런 종류의 것을 처리하는 가장 좋은 방법은 URL 테이블을 만들고이 테이블에 대한 모든 참조를 가리키고 있습니다.

+0

이것이 그럴듯 해 보입니다. 3 개의 테이블 각각에 기본 키가있는 URL이 있습니다. 생성 또는 삭제할 때 사용할 새 테이블을 새로 추가하는 중입니다. 그것은 여분의 공간을 차지하고 삭제 및 생성에만 사용되는 나쁜 설계가 될 수 없습니다. –

+0

URL이 기본 키입니까? 그건 웹 주소가 그렇게 쉽게 바뀔 수 있기 때문에 PK에 대한 정말 나쁜 선택처럼 보입니다 ... – JNK

+0

oki 나는 abt 기본 키를 다른 것으로 생각할 것입니다. 그러나 어쨌든 당신은 여분의 공간에 대한 나의 이전 코멘트에 대해 논평 할 수 있습니까 ?? –

관련 문제