我有一个数据库,我无法弄清楚如何获取图书数据。我会解释我之前是如何做到的,以及我现在计划如何做到这一点。获取多个子表的条目
为了简单起见,我将采用“书籍”示例,因为它是最容易展现关系的示例。之前,我有这个结构,我发现沉重的DB:
Books:
book_id
title
author_name
genre_name
很容易按流派查询个人的书籍,所有书籍,书籍作者和书籍。这里的问题是我需要获取作者或流派的列表。我必须选择ALL书籍,在将它们交给浏览器之前检测可能的重复,相同,唯一性等。我已经感觉到处理的滞后。
所以我现在要做的是这样的:我有3个表格,一个用于书本,另一个用于作者,另一个用于流派。
Books: Authors: Genre:
book_id author_id genre_id
title author_name genre_name
author_id
genre_id
这种方式,我可以通过author_id
和genre_id
更快,而不影响“的作者获得”和“流派获得”标记的书籍以及轻松搞定所有作者和流派。此外,我可以通过更改author_id
和genre_id
来轻松更改书籍作者和/或流派。
但是如果我选择一本书,当正常的select * from Books where book_id=something
只返回流派和作者的ID时,我该如何做?我如何做它返回作者姓名和流派名称?子查询?一个单独的查询?或者实际上是否存在我不知道的单行查询?
已经完成了区别,但它仍然是处理所有书籍以获得不同作者列表的拖拽。 – Joseph 2011-12-31 01:49:43
@fskreuz酷:-)只是给你的选择,如果你不知道 – 2011-12-31 01:52:59