数据库建模:如何将书与其绑定相关联?

时间:2011-02-03 23:46:48

标签: mysql relational-database database-design

特定书籍可以有0个或更多相关的约束(例如精装本,平装本等)。所以,我说我有书1,它与书籍234相关。我可能有一个看起来像这样的表:

book_id     related_book_id
1           2
1           3
1           4

现在,我认为本书2134相关。所以,我可以扩展表记录以包含这些:

book_id     related_book_id
2           1
2           3
2           4

...并对34执行相同的操作。然后为市场上存在的数百万本书做这件事。

这是一个好主意吗?我认为(1,2)(2,1)相同。

我正在使用MySQL。

1 个答案:

答案 0 :(得分: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...