2009-10-04 5 views
0

저는 대부분의 사람들처럼 데이터 중심의 객체 지향 비즈니스 응용 프로그램을 사용합니다. 관계형 데이터베이스를 사용하여 데이터를 저장합니다.계산 된 값

계산 된 값을 저장하지 않기 위해 지금까지 응용 프로그램을 설계했습니다. 즉, 사용자가 작년에 실행 한 "시뮬레이션"의 결과를보고 싶으면 시뮬레이션 결과를 읽지 않고 기존 기록 데이터에서 보고서를 간단히 다시 계산하면됩니다. 보고서 작성 시간이 거의 필요하지 않기 때문에 (주로 단순한 산술 임) ​​보고서의 결과를 저장하지 않고 얻을 수 있다고 가정 할 수 있습니까? 나는 처음부터 결과를 저장하지 않은 것을 후회하게 만드는 미래의 비즈니스 요구 사항을 파악하는 데 어려움을 겪고있다.

답변

2

계산 결과를 저장하지 않으면 중복성이 줄어들고 일반적으로 제 생각에는 좋은 점이 있습니다. 그러나 작업에 필요한 정규화 대 계산 능력에 이릅니다. 종종 데이터베이스는 이상적인 환경 (무한한 CPU 전원 및 I/O 속도)에서 이상적인 세계에 살지 않기 때문에 100 % 정규화되지 않으므로 사례별로 결정해야합니다. 기초.

계산 결과를 DB에 저장할 필요가 없다면 저장하지 않을 것을 제안합니다. DB는 일반적으로 유지 관리가 더 쉽습니다.

2

세금 변경, 모든 데이터에 적용되는 모든 규정.

시간에 값을 사용하여 주변을 둘러 볼 수는 있지만 변경된 계산이 포함될 때 복잡성이 커집니다.

1

데이터를 모두 가지고 있고 해당 데이터를 기반으로 시뮬레이션을 계산할 수 있다면 괜찮을 것입니다. 미래에 이러한 시뮬레이션이 너무 오래 실행되면 계산 된 값을 저장하고 응용 프로그램을 변경하여 이전 값을 가져올 수 있습니다.