我是 Web 开发新手,我正在尝试通过做项目来学习 Web 开发。
我决定建立一个网站,您可以搜索一本书的名称,结果将是用户阅读这本书的列表。
我知道这没有用,只是想学习
我的问题是我不知道如何在数据库中存储用户阅读的书籍列表。
我自己找到了两种方法来创建可以为我完成此操作的数据库,但我确信这不是最快的方法。
1-我可以将它们全部存储在带有读者 ID 的一张表中,很快它们就会变得太多行并使我的网站变慢
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
关于mysql - 需要设计数据库方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187285/