私は現在、顧客向けの小規模な顧客関係と請求書管理システムを開発しています。そして、議論したいいくつかの小さな問題に遭遇しました。
注文、顧客、製品に関するベスト プラクティスは何ですか。クライアントは注文、顧客、および製品を削除できますか?
現在、次のような注文、顧客、製品間の関係の原則に基づいてデータベースを設計しています。
顧客
ID
名
...
品番
名
価格
...
_
注文
ID
CustomerID
OrderDate
...
注文
明細
ID
注文 ID 製品ID
このように、すべての異なるテーブルを接続できます。しかし、クライアントが製品を削除した場合、数か月前に作成したそのアイテムが含まれていた注文を後で開いたときにどうなるでしょうか。削除されたので、なくなってしまいます。顧客についても同様です。
削除ボタンがクリックされたときに製品と顧客を無効にする必要がありますか、それともベストプラクティスは何ですか?
クライアントが製品を削除することを決定するたびに製品を無効にするとしたら、無効にした製品と同じ製品 ID を持つ新しい製品を後で追加しようとするとどうなりますか?
あなたの知恵を共有してください:D