0

저는 여러 공개 회사의 재무 데이터를 저장할 레일 응용 프로그램을 만들고 있습니다. 데이터는 수 년 동안 가치가 있으며이를 저장하는 가장 좋은 방법을 찾는 데 어려움을 겪고 있습니다.데이터베이스 설계 의견

현재 회사, 연도, 재무 3 테이블이 있습니다. 회사는 모든 다양한 이름과 회사의 시세 기호를 포함합니다 (3000+). 수년에는 다양한 해 (1940 ~ 2013)가 모두 포함됩니다. Financials에는 해당 연도의 외래 키와 재무 데이터가 속한 회사의 실제 재무 데이터가 포함됩니다.

나는이 설정은 괜찮 (또는 유효) 있는지 알고 많은 데이터베이스를 설정하지 않았습니다. 나는 Rails, ActiveRecord, MySQL을 사용하고있다.

내가 만들고 액티브을 통해 여러 회사에 대한 데이터를 검색 할 수있는 가장 직관적 인 방법을 찾고 있어요. 나는 모든 설정과 결혼하지 않았으므로 모든 의견/조언을 크게 환영합니다. 감사.

+1

. 그러나 당신은 그 자체로 수년간 무엇이든 할 필요가 있습니까? 당신은 단지 기업과 금융을 가질 수 있으며, 금융 분야에서 색인 필드로 일 년을 가질 수 있습니까? – Doon

+0

데이터가 속한 연도를 알고 싶습니다. 나는 인덱스 필드가 무엇인지 모르겠지만 그들을 찾아 볼 것입니다. 전반적인 디자인에 대한 귀하의 의견은 무엇입니까? –

+1

[함수 종속성 (http://en.wikipedia.org/wiki/Functional_dependency), 보이스 - 커드 정규형 (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로 년 귀찮게 할 필요 없어요.

당신은 재무 데이터 예를 들어, 2 개 이상의 테이블을 가질 수있다 주제 오프

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

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

내가 자신의 테이블에 년을 넣는 유일한 이유는 그 자체가 여러 해를 반복해서 가지고 있기 때문입니다 (회사 A는 1950 년, 회사 B는 1950 등). 당신은 항상 반복하는 것이 DB에서 좋지 않다고 들었습니다. 회사 이름/시세 표시기가있는 2 개의 테이블 1 개, 재무 데이터가있는 다른 테이블 1 개는 괜찮습니까? –

+1

예 - 회사 및 재무 데이터 중 하나 이상. (아마 당신이 올바르게 정상화 할 때 자료를 위해 더 많은 것) – Randy