私は小規模企業向けのデータ層アプリケーションを管理しています。私のSWは、部品原価計算の情報を歴史的に取り出すことができないという批判を受けています。したがって、例えば、彼らが望むのは、ある時点で、6ヶ月前と同じように部品のコストを回収できることです。SQLテーブルのデータを毎日保存する
これまではスプレッドシートを使用していました。彼らは毎日パーツテーブルを.xlsxファイルにコピーし、「昨年の1月20日の費用はどうだった?」と知りたがったときはいつでも、彼らはそれを上手く引き出すことができました。
SQLで同じことをやり始めました。これまでの計画では、部品コストが更新されるたびに新しいテーブルを作成し、今日の日付でテーブルに名前を付け、アーカイブされた情報のためのデータベース。次に、タイムスタンプに応じて必要なテーブルを取得する予定です。
これは非常に乱雑になるだろうと私は助けることはできませんが、考えることはできません。これはデータをアーカイブするための悪いアプローチですか?できるだけ少ない頭痛でこの問題を解決するために私が遵守できる業界標準はありますか?
ここをクリックしてください:http://stackoverflow.com/questions/3874199/how-to-store-historical-data – cha
あなたは正しい、それは悪いアプローチです。動的に名前が付けられたテーブルは、クエリの作成を困難にします。代わりに、関連するテーブルにdatestampカラムを追加するだけで済みます。あなたは現在の値と以前の値のために別々のテーブルを持つことができます(ただし、それまでのすべての値のテーブルは1つだけです)。 – Blorgbeard