我正在创建一个 Web 应用程序,但在尝试弄清楚如何布局数据库表时遇到问题。
我不太懂数据库,但问题是:
例如,我希望应用程序有两个接口(interface)。首先,您创建一本新图书。第二个,您在那本书(或另一本书)中编写一个新的条目/页面。
我想到了这三个表: 书籍、作者、条目。
书籍
- book_id
- author_id
- 标题
条目
- ID
- author_id
- 文本
- 日期时间
- book_id
作者
- author_id
- 全名
- 用户名
当然,表格并不完整。但我不知道如何很好地建立表之间的关系。我希望作者能够创建一本新书(这是通过在该书中创建第一个条目/页面来实现的,因此Entries表有一条新记录,Books>.) 或者,向书中添加条目/页面。
此外,我不确定图书表是否应该有一个 entry_id
列来跟踪/计算该书中的条目/页数。
我知道这听起来可能很模糊。但我不知 Prop 体要谷歌或具体询问什么。如果 SQL 中有一个概念,或者有一本适合 Web 程序员(我擅长 PHP)的好书,专注于构建具有相当复杂的数据库关系的 Web 应用程序,您可以告诉我,我将不胜感激。
谢谢。
最佳答案
我认为这种关系并不复杂:作者可以创建一本书,而一本书可以包含条目。您的架构允许任何人都可以在他们没有创建的书中创建条目 - 如果您不希望这样做,则从“entries”表中删除“author_id”字段。
但是你真正的问题是什么?
关于mysql - 如何在数据库中实现这个相当复杂的概念/关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18933520/