2011-02-03 26 views
0

一本特定的書可以有0個或更多相關的綁定(例如精裝,平裝等)。所以說,我有書1,它與書籍2,34有關。我可能有一個表,看起來像這樣:數據庫建模:如何將書與其綁定關聯起來?

book_id  related_book_id 
1   2 
1   3 
1   4 

現在,我認爲它也遵循這本書2有關134。所以,我可以擴大表中的記錄包括這些:

book_id  related_book_id 
2   1 
2   3 
2   4 

...和做同樣的34。然後爲市場上存在的數百萬本書做這件事。

這是個好主意嗎?我看到(1,2)(2,1)相同。

我正在使用MySQL。

+0

有一個更好的方法。我會在早上提供答案。 – PerformanceDBA 2011-02-04 13:39:42

回答

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。回答真正的問題,而不僅僅是海報的要求。 – 2011-02-03 23:54:00

相關問題