私の質問は、データの年間変化のデータベースを開発することに関連しています。このデータベースは本質的に大学のコース管理システム用ですので、そのシナリオで簡単な例を使用します。データベース設計のアドバイス - 年間データ
この例では、CareerFieldとCourseの2つのテーブルが存在します。これらの表は多種多様に定義できます。キャリア分野には多くのコースがあり、コースは多くのキャリア分野に属しています(あらゆる学位プログラムの英語のような基本的なクラスを考えてください)。
2012年には、「木工」という名前のコースを持つCarpentryというキャリアフィールドがあります。 2013年には、Carpentry and Designと呼ばれるキャリアフィールドがあり、基本的な木工コースがあります。
キャリアフィールドは新しいものではなく、名前を変更しましたが、歴史的な目的ですべての2012年(過去のすべての年)のデータを保持する必要があるため、Carpentryレコードの名前を単にCarpentry and Designに変更することはできません。
基本的には、前年のすべてのコースデータに基づいて新しい年を作成しなければなりません。コースが削除されたり、キャリアフィールドの名前が変更されたりすると、新しい年の変更が発生します。フロントエンドインターフェイスには、新年 - 既存のデータから2013年の間にコピーされたすべての表データ(前年のデータを引き継ぐために選択されたものを使用)。以前の年に関係しない新しいフィールドが追加される可能性があります。
このようなことを行うベストプラクティスは何ですか?私は毎年新しいテーブルを削除するより高いed ERPソフトウェア(例えばDatatel)を使用しました。これは冗長で悪い習慣ですが、私は2年未満でデータベースを開発しています。
私はこのようなシナリオをどのように扱うべきかアドバイスを求めています。実際のソリューションには、設計時に約16個のテーブルが含まれるため、上記の例では毎年のテーブルが複製されます。
ありがとうございます。
非常に詳細な回答ありがとうございます。これは私がやることです。それは有り難いです。 – dekron