テーブルの従業員がいて、プライマリキー/テーブルを定義するための提案が必要でした。最初はEMP ID
フィールドを主キーとして保持したいと考えていましたが、従業員のすべての変更(TL Name
)を追跡したいと思います。この表では、1つのユニークなアクティブなEMP ID
のみを許可する必要がありますが、複数の非アクティブを許可することができますEMP ID
。提案してください。テーブル構造と検証
以下は、テーブルの構造例です。
+----+--------+----------+---------+-----------+
| ID | EMP ID | EMP Name | TL Name | Is Active |
+----+--------+----------+---------+-----------+
| 1 | Z001 | Raj | Vik | No |
+----+--------+----------+---------+-----------+
| 2 | Z002 | Ajay | Peter | No |
+----+--------+----------+---------+-----------+
| 3 | Z001 | Raj | Ashish | No |
+----+--------+----------+---------+-----------+
| 4 | Z003 | Soni | Suresh | Yes |
+----+--------+----------+---------+-----------+
| 5 | Z001 | Raj | Vinod | Yes |
+----+--------+----------+---------+-----------+
Idをプライマリにして、このIDを持つ変更を別のテーブルとして作成し、この新しいテーブルにchange_dateカラムを追加します。同じ表のデータの履歴を持つことは難しい設計です。 –
@JorgeCampos親テーブルと変更テーブルの管理方法をガイドする参照リンクはありますか?ありがとうございました! – Santosh
ここにあります:https://www.codeproject.com/articles/21068/audit-trail-generator-for-microsoft-sql –