私は昨年大きなプロジェクトに参加しました。それは教育管理システムでした。私のチームは、開発中に多くの問題を解決しました。しかし、私たちは 1 つの問題を抱えていました。
問題は次のとおりです。
参照を含む一部のレコードをソフトウェア インターフェイスから削除できる場合、データベース構造を設計するにはどうすればよいですか?
簡単な例: テーブルがあるとします:
Students, StudentClass, Marks, Classes
. したがって、テーブルからレコードを削除しようとすると、テーブルにはテーブルへの参照が'Classes'
あるため、不可能になります。もちろん、依存テーブルからレコードを削除してからレコードを削除することもできますが、データを保持する必要があります。'StudentClass'
'Classes'
StudentClass, etc.
'Classes'
私は解決策を見つけました。他の人が参照しているすべてのテーブルで、列を作成します'IsDeleted'
。つまり、テーブルからレコードを削除したい場合は、列を に'Classes'
更新するだけです。ユーザーに表示するには、使用します'IsDeleted'
1
"SELECT * .... FROM ... WHERE Classes.IsDeleted = 0".
これが私の解決策です!そのような問題をどのように解決するか、あなたのアプローチを教えてください。どんな意見でも私にとって興味深いものになります!お返事ありがとうございます!!!!
編集:
他に解決策はありますか?