【问题标题】:Matching survey database and member database [closed]匹配调查数据库和成员数据库[关闭]
【发布时间】:2012-10-01 17:52:00
【问题描述】:

我是编程新手,希望这个问题不是太基础。我在这里搜索了问题,但找不到与它完全相同的东西。

我正在创建一个网站,人们必须在其中填写登录表格,然后回答调查。调查答案将推动网站对每个用户的执行方式(针对调查回复个性化的电子邮件中会有不同的每月提醒)。我有两个 MySQL 数据库,一个用于登录,一个用于调查。

如何使会员数据库中的会员 ID 与调查数据库中的调查 ID 相同?还是我认为这一切都错了,还有其他解决方案?

我对 PHP 和 JavaScript 最熟悉,所以我希望如果不是在数据库设计中,也有办法在编码中做到这一点。再次抱歉,如果这太基本了,非常感谢您的帮助。

【问题讨论】:

    标签: mysql survey


    【解决方案1】:

    这是一个非常笼统的问题,但我希望我能帮助你一点:

    现在,假设您有充分的理由将用户注册和调查在两个不同的数据库中分开(您没有给出这样做的理由),在成功的用户注册后,您可以假设用户是 '登录'。这应该意味着您可以在代码中使用注册用户的 ID。

    您不必拥有相同的调查 ID 和用户 ID,通常更有意义的是使用单独的表格将用户和调查结合在一起(带有 user_id 字段和 survey_id 字段)。

    设置或保存调查后,在此表中存储一条记录,将用户与调查联系起来。

    如果您希望得到更具体的答案,我建议您在问题中深入研究一些细节。

    祝你好运!

    【讨论】:

    • 感谢您的回复!我会将这些表放在一个数据库中(没有理由……只是缺乏经验)。只是好奇——为什么让单独的表格将两者结合在一起更好,而不是让 ID 相同?谢谢。
    • 再一次,这取决于目的 - 如果一个用户行应该始终与一个调查行连接,为什么不将所有内容都放在同一个表中?在多对中最常使用单独的表-许多关系,其中一个用户可以连接到多个调查,而一个调查可以连接到多个用户。不过,这在您的情况下可能没有意义。
    • @Nils:两张表完全没问题。即使是一对一的关系。跨多个数据库的外键在 Mysql 中也可以工作(只要存储引擎支持这些)。
    • @hakre:当然可以,但是如果你没有充分的理由,那又有什么意义呢?此外,对于像原始发帖人这样缺乏经验的开发人员来说,让数据库尽可能简单会很有帮助。
    • @Nils:公平点。其实这个问题本身就有点麻烦。
    【解决方案2】:

    只是一些提示,它们不会动摇房子,但可能是一个好的开始:

    • 将两个表放在同一个数据库中。这不是技术要求,但对您来说更容易。这两个表属于同一个数据库,请将它们保存在同一个数据库中。
    • 有两张桌子也没关系。
    • 成员 ID 和调查 ID 不必相同。而是将 memberID 列添加到 survey 表,并将其设置为 member 表的相应 ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2014-08-29
      • 1970-01-01
      相关资源
      最近更新 更多