これは長い間私を悩ませてきたものであり、私はまだ答えを見つけることができません.
私は、さまざまな機能を備えた巨大なシステムを持っています。このシステムに共通することは、もちろん、私のusers
ことができるということです
作成、更新、読み取り、削除
私のシステムのさまざまな部分。
簡単な理由から、次の機能を持つアプリケーションがあるとしましょう。
- 文書管理
- ビデオ管理
- ユーザー管理
- 販売管理
(これらすべてが独自の個別のテーブルを持ち、必ずしも接続されているとは限らないという点を証明するために、これらをランダムに取ったことに注意してください)。
今、私はある種のロギングシステムを作成したいと考えています。そのため、誰かがエンティティを作成、更新、または削除するたびに、それが記録されます。
今私が見ることができる限り、私はこの2つの方法を行うことができます.
1.
システムにある 4 つの機能ごとにログ テーブルを作成します。ただし、この方法では、システムに追加する新しい機能ごとにログ テーブルを作成する必要があります。ログを作成したい場合は、X 個のテーブルのデータを結合する必要がありますが、これは非常に大きな作業になる可能性があります。
2.
次のようなものを作成できます。
ただし、追加する新機能ごとに列を追加する必要があります。
だから私の質問は、ロギングデータベースアーキテクチャを作成するための最良の方法は何ですか
それとももっと簡単な方法がありますか?