ここでの私の最初の質問です。
私は経験の浅い開発者で、この問題に悩まされています。
監査可能にする必要があるテーブルがあります。このテーブルに、コール センターからの電話が記録されているとします (そうではありませんが、これは単なる例です)。私はそれを「CallHistory」と呼びます。
私は当初、呼び出し先の名前、電話番号などを含む「Callees」という別のテーブルを保持することを計画していました。このテーブルは代理主キーを使用します。
CallHistory テーブルには、Callee テーブルへの外部キーがあります。
もともとこれを行ったのは、呼び出し先の電話番号を変更すると、システム全体に伝播し、複数のテーブルで電話番号を変更する必要がなくなるためです。
問題は、CallHistory テーブルの要点は、ダイヤルミス (発信者が間違った番号をダイヤルしたなど) を含む通話の履歴を記録することです。この代理キー アプローチを使用すると、履歴が失われます。
職場の上級開発者の 1 人は、履歴を保存するために、特定の時間に発信者がダイヤルするたびに電話番号のコピーを CallHistory テーブルに保持することを提案しました。
同じ目的で監査/変更ログテーブルを保持することを考えていました。
私のアプローチはこの目的に十分でしょうか、それとも完全に軌道から外れていますか? どちらのアプローチを好みますか?
乾杯、アンドリュー