如何在数据库中实现这个相当复杂的概念/关系?

时间:2013-09-21 14:05:06

标签: mysql sql

我正在创建一个Web应用程序,我在尝试弄清楚如何布局数据库表时遇到了问题。

我不是一个数据库人,但问题在于:

例如,我希望应用程序有两个接口。首先,您创建一个新的图书。第二,你在那本书(或其他)中写了一个新的条目 / 页面

我想过这三张桌子: 书籍,作者,参赛作品。

图书

  • book_id
  • AUTHOR_ID
  • 标题

条目

  • ID
  • AUTHOR_ID
  • 文本
  • 日期时间
  • book_id

作者

  • AUTHOR_ID
  • 全名
  • 用户名

当然,表格不完整。但我很失落如何建立表之间的关系。我希望作者能够创建一本新书(这是通过在该书中创建第一个条目/页面,因此条目表有一个新记录,以及 Books 。)或者,为书籍添加一个条目/页面。

另外,我不确定Books表是否应该有一个entry_id列来跟踪/计算该书中的条目/页面。

我知道这可能听起来很模糊。但我不知道究竟是谷歌或具体询问的。如果SQL中有一个概念,或者是一个关于Web程序员(我擅长PHP)的好书,它专注于在数据库中构建具有相当复杂关系的Web应用程序,那么你可以告诉我,将非常感激。

谢谢。

1 个答案:

答案 0 :(得分:1)

我不认为这种关系很复杂:作者可以创建一本书,一本书可以包含条目。您的模式允许任何人都可以在他们没有创建的书中创建条目 - 如果您不想这样做,那么从'entries'表中删除'author_id'字段。

但你真正的问题是什么?