2013-07-22 58 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