我是网络开发的新手,我正在尝试通过项目来学习网络开发。
我决定建立一个网站,您可以搜索图书的名称,结果将是用户阅读本书的列表。
我知道这没用,只想学习
我的问题是我不知道如何存储用户在数据库中读取的书籍列表。
我自己发现这两种方式可以创建可以为我做这个的数据库,但我确信这不是最快的方法。
1 - 我可以将它们全部存储在一个带有读者ID的表中,很快它们就会变得太多而且会使我的网站变慢
2 - 我可以为每个用户创建一个表,然后在一个特定的书中搜索所有表,然后我可以返回包含该书的表的所有者的名称,我认为搜索我的数据库的整个表非常慢太
我真的很感激任何能回答我问题的人。 我真的陷入了我网站的这一点 ;)
答案 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