2013-07-22 154 views
0

我正在開發一個Rails應用程序,它將存儲來自各個上市公司的財務數據。數據是幾年的價值,我很難找出最好的方式來存儲這個。數據庫設計意見

目前,我有3個表:公司,年,財務。公司包含公司所有各種名稱和股票代碼(3000+)。這些年包含了所有不同的年份(1940-2013)。財務數據包含當年的外鍵和財務數據所屬公司的實際財務數據。

我還沒有設置很多數據庫來知道這個設置是否可以(甚至是有效的)。我正在使用Rails,ActiveRecord和MySQL。

我正在尋找最直觀的方式來通過ActiveRecord爲各公司創建和檢索數據。我沒有結婚任何設置,所以任何和所有的意見/建議非常感謝。謝謝。

+1

偏離主題。但是你需要自己多年來做些什麼嗎?您可以擁有公司和財務部門,並將年度作爲財務指標領域? – Doon

+0

我想知道數據屬於哪一年。我不確定索引字段是什麼,但我會查找它們。你對整體設計有什麼看法? –

+1

閱讀[功能依賴](http://en.wikipedia.org/wiki/Functional_dependency),[Boyce-Codd正常形式](http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form ),[多值依賴](http://en.wikipedia.org/wiki/Multivalued_dependency)和[第四範式](http://en.wikipedia.org/wiki/4NF)。 – Oswald

回答

1

除非您需要某種非標準的會計年度描述,否則您不需要費時費力作爲FK。

您可能有兩張或更多的財務數據表

financial report 
------------------- 
financial_report_id 
year 
company_id 
file_ref 
other_stuff 

financial_report_detail 
---------------------- 
financial_report_id 
line_item 
value 
more_stuff 
+0

我把自己的年份放在自己的桌子上的唯一原因是因爲我會反覆重複(1950年爲A公司,1950年爲B公司等)。你總是會聽到重複在DB中不好。因此,2張表格,1與公司名稱/代號,另一個與財務數據是你說的是好嗎? –

+1

是 - 至少一個用於公司,另一個用於財務數據。 (當你正確地標準化時可能更多的是數據) – Randy