如何单独保存单个用户的每日输入,以便以后可以在数据库上访问?

时间:2019-06-30 04:52:04

标签: database-design

基本上,我已经建立了一个类似于日记的网站,可以将任何用户类型存储到数据库列中。我希望它就像一本真实的日记,在其中用户每天登录并写出自己的想法,以后可以访问他所写的所有页面。

现在,我在数据库行中只有一个diary列,为每个用户分配了一个。为每个用户制作一张桌子的效率很低。

那么我该如何存储用户输入的日期以供以后访问?

数据库中的

列:id(AI,int),email(文本),password(文本),diary(文本),date (日期)。

1 个答案:

答案 0 :(得分:0)

您的设置应该标准化。我的意思是:

  • 为用户创建表。
  • 为日记条目创建表格。
  • 日记表将每个条目链接到一个用户。

例如:

Table Users
    ID: auto-increment id
    EmailAddress: string
    Password: string

Table diary_entries
    ID: auto-incremnt id
    UserId: foreign key to table Users, ID field
    Entry: the diary entry itself
    Date: the date when the entry was added.  This could be set to NOW() when you do the insert.
  • 这样,每个日记条目都链接到1个用户,并且有一个日期。
  • 然后可以按日期,按用户,按日期和按用户搜索。
  • 如果将所有内容保存在一个表中,则必须在每一行的每一行中输入用户密码。您怎么知道哪个密码好?
  • 这就是规范化的工作,它确保您的数据库设计不会阻止您或以后再出现问题。表格1、2和3是常用的表格。较高的项目更具有异国情调,对于一个小型项目并不总是必需的。

关于实现这一点,您将必须提供一些代码,进行研究,然后在您的研究没有帮助的情况下发布特定问题。但是不要问“如何做”问题,它们会很快在SO上被标记出来。