需要帮助设计数据库

时间:2014-06-12 14:42:08

标签: mysql sql database database-design

我是网络开发的新手,我正在尝试通过项目来学习网络开发。

我决定建立一个网站,您可以搜索图书的名称,结果将是用户阅读本书的列表。

我知道这没用,只想学习

我的问题是我不知道如何存储用户在数据库中读取的书籍列表。

我自己发现这两种方式可以创建可以为我做这个的数据库,但我确信这不是最快的方法。

1 - 我可以将它们全部存储在一个带有读者ID的表中,很快它们就会变得太多而且会使我的网站变慢

2 - 我可以为每个用户创建一个表,然后在一个特定的书中搜索所有表,然后我可以返回包含该书的表的所有者的名称,我认为搜索我的数据库的整个表非常慢太

我真的很感激任何能回答我问题的人。 我真的陷入了我网站的这一点 ;)

1 个答案:

答案 0 :(得分:2)

怎么样

users table
-----------
id
name
other_stuff


books table
-----------
id
title
author
isbn_number
release_date
other_stuff


lendings table
--------------
book_id
user_id
lended_from
lended_to

使用此设计,您可以通过

查看谁拥有特定的书籍
select u.name
from users u
join lendings l on l.user_id = u.id
join books b on l.book_id = l.book_id
where b.title = 'moby dick'
and now() >= lended_from 
and lended_to is null