2016-02-05 28 views
0

這個想法是針對一個反向拍賣平臺,用戶在這個平臺上發佈他們的某些服務和服務提供商的拍賣並提供他們的出價。反向拍賣平臺的數據庫設計

我應該拆分我的表嗎?例如,拍賣可以用於新服務或替換現有服務,因此存在特定於每個選擇的問題。

我應該將這些列移動到該選項的單獨表格中嗎?

這裏是我想出來用什麼迄今圖: Database Diagram image

我在這裏在正確的軌道上?

我應該使用的地方會有選項的列表,從拍賣的形式選擇列是什麼數據類型?例如,cash_back將帶給用戶的選擇範圍爲:

  1. 捐贈給慈善機構
  2. 存款到我的帳戶
  3. 貸記憑證

就是用規範一個字符串與這個列與各自的字符串或者我創建一個新的表的選項,並使用option_id作爲這個表中的外鍵?

+2

歡迎來到Stack Overflow。請花時間閱讀Stack Overflow [幫助文件](http://stackoverflow.com/help),這將有助於您在主題問題上提出寶貴的建議。正如所提出的,您的問題是設計援助的請求,這超出了本網站的範圍。嘗試縮小您的關注範圍以適應特定的編程問題,並且您更有可能獲得有用的指導。 – MarsAtomic

+0

同意上面...也 - 我敢肯定你不熟悉Ruby on Rails表格設計的標準做法......我強烈建議你閱讀Rails指南。最好是所有這些 - 它會真正讓你瞭解如何像Rails一樣使用Rails(這會讓你的生活變得更容易)。相關的表格是:http://edgeguides.rubyonrails.org/active_record_migrations。html我這麼說是因爲你的設計圖充滿了自然鍵......這在Rails中並不是標準實踐,並且通過比較將難以維護。 –

+0

謝謝。我的圈子裏沒有人知道編程,所以我認爲這是尋求幫助的最佳地點。我一定會嘗試Rails指南,下一次我的問題將更具體。 –

回答

0

我認爲這是值得在這裏討論一般Rails的理念和數據庫設計。

正如我經常說,你可以有一個數據庫,爲您的應用程序,或者你可以有你的數據庫的應用程序。在後者中,數據庫設計很重要。前者通常遵循應用程序設計。

這意味着你可能,假設這是一個Rails應用程序,不希望在所有的設計數據庫。你想要做的是設計你的應用程序對象模型,讓Rails設計你的數據庫。你不會以這種方式獲得很好的分貝設計,但它會很好。

的代價是,當你走這條路,你往往最終由應用程序有效地擁有的數據庫,它可能不會是安全有其他的應用程序在數據庫中添加或修改數據。此外,想出真正好的報告可能會比較困難,但是大部分時間投入的地方會更好地優化(主應用程序)。如果你想爲你的應用程序建立一個數據庫並使用Rails或者Django,那麼就不要再考慮數據庫設計了,但是要意識到,儘管今天優化了一些路徑,但它使得許多其他事情變得更加困難。

+0

謝謝克里斯!如果我可以讓Rails完成數據庫工作,而不必過多考慮它,那麼這將非常有意義並且會有所幫助。我仍然困惑的唯一的事情是,如果我應該按照我的第一個示例將一些模型/表分成不同的表(可能會在Rails指南中回答,Taryn建議我還沒有完成) –