假设我有以下情况。LocalLibrary
一个有两个表的数据库Books
和Readers
| BookID| Title | Author |
-----------------------------
| 1 | "Title1" | "John" |
| 2 | "Title2" | "Adam" |
| 3 | "Title3" | "Adil" |
------------------------------
读者表看起来像这样。
| UserID| Name |
-----------------
| 1 | xy L
| 2 | yz |
| 3 | xz |
----------------
现在,假设用户可以创建他们阅读的书籍列表(一个书架,严格包含上述作者的书籍,即我们数据库中的作者)。那么,在数据库中表示该书架的最佳方式是什么。
我最初的想法是表格中的逗号分隔BookID
列表Readers
。但对于关系数据库来说,这显然听起来很尴尬,而且我每次显示用户书籍列表时都必须拆分它。此外,当用户将新书添加到书架时,除了拆分逗号分隔的列表并比较两者的 ID 之外,没有办法检查它是否已经存在于他们的书架中。删除也不容易。
因此,总而言之,问题是如何适当地模拟这些情况。除了 MySQL 中的简单 SELECT 和 INSERT 之外,我没有做任何事情。如果您可以用更简单的术语进行描述并提供进一步阅读的链接,那将会很有帮助。
如果您需要更多解释,请发表评论。