2009-05-17 4 views
1

私はEmployeesテーブル(PKはemployeeID)とsalesテーブルを持っているとします。ここで、salesテーブルにはemployeeIDのFK列があります。私のFKテーブルへのカスケードのストアドプロシージャアカウントを削除する必要がありますか?

私のdeleteEmployeeストアドプロシージャを設計するとき、まずSalesテーブルの行を削除する必要がありますか、別のストアドプロシージャを作成して各テーブルで削除し、それをビジネスロジックレイヤーで心配する必要はありませんか?

答えて

2

いいえ、いいえ、いいえ。

「OutServiceDt」というEmployeeテーブルにフィールドを追加し、会社から退社した日付を保存します。

、あなたは彼らが作った販売の記録を残すようにして、そのアドレス情報、および任意の他、あなたが持っている:)

をあなたがサービスであるemployesを探しているなら、OutServiceDt」のフィルタでありますヌル"。

+1

「何も決して削除しない」というアプローチを使用します。データベースに入れるだけで十分な場合は、おそらくまだ値があります。 –

+0

Seconded。履歴記録を失うことは一般的には悪い考えです。従業員がアクティブであるかどうかにかかわらず、ビジネスロジック層がその情報を使用できますが、すべての古い情報はそのままです。 –

関連する問題