2012-10-01 67 views
1

我是編程新手,希望這個問題不是太基本。我在這裏搜索了這些問題,但找不到與它完全相同的內容。匹配調查數據庫和會員數據庫

我正在製作一個網站,其中人們必須完成登錄表單,然後回答調查。調查答案將推動該網站爲每個用戶執行的方式(每個用戶都會有不同的每月提醒電子郵件,以便爲調查答覆提供個性化)。我有兩個MySQL數據庫,一個用於登錄,一個用於調查。

如何讓成員數據庫中的成員標識與調查數據庫中的調查標識相同?或者我想這一切都是錯誤的,還有另一種解決方案?

我對PHP和JavaScript最爲熟悉,所以我希望如果不在數據庫設計中,將會有一種方法可以在編碼中實現。再次,對不起,如果這太基本了,並且很多感謝您的幫助。

回答

1

這是一個非常普通的回答的問題,但我希望我可以幫你一點沿着:

現在,假設你有一個很好的理由分離用戶註冊,並在兩個不同的數據庫調查(你沒有給出這樣的理由),在用戶註冊成功後,你可以假設用戶已經登錄。這應該表示註冊用戶的ID在代碼中可用。

您不必具有相同的調查ID和用戶ID,因此將單獨的用戶和調查結合在一起的單獨表格(user_id字段和survey_id字段)通常更有意義。

設置或保存調查後,在此表中存儲記錄,將用戶與調查關聯起來。

如果您希望得到更具體的答案,我建議您深入研究一下您的問題中的更多細節。

祝你好運!

+0

感謝您的迴應!我將把表格放在一個數據庫中(沒有理由......只是缺乏經驗)。只是好奇 - 爲什麼讓單獨的桌子將兩者編織在一起而不是讓ID一致?謝謝。 –

+0

同樣,這取決於目的 - 如果一個用戶行應始終與一個調查行連接,爲什麼不將所有內容都保存在同一個表中?擁有一個單獨的表最常用於多對多關係,其中一個用戶可以連接到許多調查,一個調查可以連接到許多用戶。不過,這在你的情況下可能沒有意義。 – Nils

+0

@Nils:兩張桌子非常好。即使在1:1的關係。Mysql中的多個數據庫的外鍵也可以工作(只要存儲引擎支持這些)。 – hakre

0

只是一些提示,他們是不會動搖的房子,但可能很好的一個開端:

  • 將兩個表在同一個數據庫。這不是一個技術要求,但它對你更容易。這兩張表歸在一起,保存在同一個數據庫中。
  • 可以有兩張桌子。
  • 會員ID和調查ID不需要相同。相反,將memberID列添加到調查表中,並將其設置爲成員表的適當ID