2011-04-22 14 views
1

我開發一個門戶網站將存儲工作的要求一樣,經歷,薪水等在數據庫中,每當有用戶(新/舊)符合該標準的工作應該在他的儀表盤顯示他他登錄後。 我的員工專欄是 年齡,城市,行業,婚姻狀況。存儲在MySQL的工作準則

所以,當管理員發佈的職位,他將定義哪些用戶可以看到該標準。例如。年齡在20-30之間,城市只有孟買那樣。

如何有效地將這些信息存儲在數據庫中。

我正在使用PHP/MySQL。

+0

如果你解釋你考慮過的各種選項,你可能會得到更多的答案。然後我們可以告訴你每個人的優點/缺點。 – 2011-04-22 00:34:48

+0

這個問題太含糊。閱讀關於如何使用php/mysql開發應用程序的書籍 – Wes 2011-04-22 00:35:26

+0

呃,他似乎沒有投票或接受答案。 – 2011-04-22 00:51:04

回答

5

您在理想情況下創建與用戶的一個表:

  • 唯一ID
  • 名稱
  • 婚姻狀況
  • 年齡

創建第二個表雙行業和UUID,如下所示:

  • 唯一ID
  • 產業

這是這樣,給定用戶可以屬於比單一行業更多。

三,創建一個表來配對的用戶ID和經驗:

  • 唯一ID
  • 位置
  • 產業
  • 開始日期
  • 結束日期

由於行業經驗是給定用戶可以擁有仲裁的數據拉里數量,你需要將數據抽象到它自己的表中。不要試圖將所有這些信息都放在一張表格中 - 這是一種解決方案,可以通過一個單一的僱主進行擴展。

我還想請注意,如果您的應用程序將會在美國和其他幾個國家進行部署,它實際上是違法的僱主歧視基於年齡和婚姻狀況。我假設這不適用於你,但它是。

1

在加快你的樣子UPS而言,你會想要做的最重要的事情是讓你將針對被搜索務必索引的列。

因此,舉例來說,如果你想這樣做是基於someonen的開始日期搜索:

,如: SELECT * FROM表名,其中起始日期>「一些日期」;

那麼在'tablename'表中爲索引start_date列非常重要。

除了確保你的表是正確的決定什麼是設置數據庫的最佳方式之外,你還是要問自己,你會問你的數據庫什麼樣的問題,並圍繞這些問題設計你的表。