2011-02-03 4 views
0

특정 도서는 0 개 이상의 관련 바인딩 (예 : 양장본, 단행본 등)을 가질 수 있습니다. 그래서 책이 1이고 책이 2, 34과 관련 있다고 가정 해보십시오.데이터베이스 모델링 : 책을 바인딩에 연결하는 방법?

book_id  related_book_id 
1   2 
1   3 
1   4 

지금, 나는 또한 책 21, 34 관련이 있음을 다음과 생각 :이처럼 보이는 테이블이있을 수 있습니다. 34 위해 동일을

book_id  related_book_id 
2   1 
2   3 
2   4 

을 ... 그리고 이렇게 : 그래서, 나는이 포함되도록 테이블 레코드를 확장 할 수있다. 그런 다음 시장에있는 수백만 권의 책에 대해 그렇게하십시오.

이것은 좋은 생각입니까?(1,2)(2,1)과 같습니다.

저는 MySQL을 사용하고 있습니다.

+0

훨씬 더 좋은 방법이 있습니다. 저는 아침에 답을 드릴 것입니다. – PerformanceDBA

답변

5

게시자와 제목이라는 두 가지 유형의 엔티티가 필요하다고 생각합니다. 간행물은 대략 ISBN과 관련이 있으며, 이는 다른 판이 유일하게 식별 가능하도록 보장합니다. "제목"엔티티는 여러 발행물과 연관됩니다.

Title 
----------- 
TitleId int 
AuthorId int 
BookTitle nvarchar(500) 
etc... 

Publication 
----------- 
PublicationId int 
CoverType char(1) 
Edition nvarchar(50) 
TitleId int (foreign key to Title) 
etc... 
+1

+1. 포스터가 묻는 것이 아니라 실제 문제에 대한 답입니다. –

+0

답변을 좀 자세히 설명해 주실 수 있습니까? 당신의 해결책은 내 것과 같다고 생각합니다. 좋지 않을 수도 있습니다. – StackOverflowNewbie

+0

일반 아이디어 – Jacob

관련 문제