
システムの改修で今まで物理消去する挙動をしていた項目を
論理消去として消去フラグを立てて実際のデータは残すという変更を
したいです
データベースはSQLserverです
つまり今までdaleatしていたところをupdateで消去フラグを立てるのだと
思いますが
プログラミングを学び始めたばかりで
具体的にどの文をどう変更すればいいのかイメージがわきません
消去フラグを立てるということは
データの受け取り側にもそのための処理を加えないといけませんよね?
VS2005でASP.net、C#を使ってWebアプリをSQLと連携させています
現在はTransaction-SQLについて調べながらという感じです
抽象的な質問になってしまっているかと思いますが
システム開発関係者の方にご意見伺いたいと思いますので
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
>論理更新については検索ヒットもなくよくわかりませんでした
論理削除は削除したレコードを残しておいて、後で何を削除したか
確認できるようにすることですが、論理更新では更に一歩すすめて
レコードの更新を
・旧レコードの論理削除
・旧レコードの内容を更新したものを新規挿入。
に置き換えます。つまり全ての更新履歴がDBの中に
残ることになります。金銭を扱うDBではよくやる処理方式です。
レコードは作成日付、更新日付や更新回数など、おきまりの
列をもつことになります。
No.2
- 回答日時:
論理削除は奥が深いですよ。
たとえば、一意制約のある列があり、
レコードを挿入するとき、その列の値を過去に
削除したレコードのものと同じ値にしたい場合
どうするか? とか
削除したレコードと同じPKのレコードをどうやって作るかとか?
論理削除するなら、論理更新(論理削除+挿入)もやるのか? とか?
同時更新があり得る場合、トランザクションの設計も複雑化します。
後は、検索クエリーに必ず削除フラグを条件に入れる。
も必須ですね。
論理削除を導入する場合は、更新系はストアドで実装することを
お勧めします。各自がバラバラにSQLを書いていたら
えらいことになります。
ご回答ありがとうございます
一意制約→重複をゆるさないこと
PK→プライマリキー(主キー)の略
など現場で使われるであろう単語がいくつかありためになります
ただ論理更新については検索ヒットもなくよくわかりませんでした
論理消去に挿入を加えたものというニュアンスにとれますが
どこになにを挿入するのでしょうか
論理消去が奥の深いということや
設計が複雑化する場合についても教えていただき
ありがとうございます
最後におっしゃっていることと的外れのことかもしれませんが
データベースの動きはほとんどすべてストアドで実装してあると
思います
No.1
- 回答日時:
案1
DELETE → UPDATE ... SET delete_flag = 1
SELECT/UPDATE → delete_flag の条件を必ず記載する
案2
DELETE → トリガーで delete_flag = 1 の更新に差し替える
SELECT/UPDATE → トリガーで delete_flag の条件を追加する
追加案
大量データの場合、delete_flag の条件を適用ずみビューで SELECT する
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
- ノートパソコン cipher でデータが消えない 4 2022/06/01 14:58
- プリンタ・スキャナー ブラザ-製プリンタ-DCP-J582N不具合改善アドバイス依頼 2 2022/10/17 15:40
- CAD・DTP JWW-CADでDXF変換後の線が連動して消える 2 2023/01/13 11:09
- その他(悩み相談・人生相談) sdカードのデータを消去したら保存されていたデータはどうなるますか? 6 2022/08/20 16:31
- ポケモンGO ポケモンgoのログイン画面からGoogleアカウントを消す方法を教えてください。 iPhoneです 1 2022/09/17 06:54
- デスクトップパソコン HDDがどれか分からない。 13 2022/06/23 21:00
- その他(パソコン・スマホ・電化製品) 人間の長期記憶に関するモデルについて。 下記の内容をもとに、一番下の質問の具体例が思いつく方いたら具 1 2023/06/30 18:21
- その他(パソコン・周辺機器) HDD消去方法(PC-3000でも復元できない) 6 2023/04/04 20:08
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルのレコード削除ができ...
-
Accessにインポートしたら並び...
-
3つ以上のテーブルをUNIONする...
-
数百万件レコードのdelete
-
MySQLでTIMESTAMP型の列から現...
-
C# Windows Forms で、Accessみ...
-
ACCESSのBookmarkプロパティの...
-
Access 1レコードずつcsvで出力...
-
物理消去から論理消去への変更
-
フォームからのレコード削除に...
-
ACCESSファイルを開こうとする...
-
ManagementStudioからのデータ削除
-
Access VBA Me.Requery レコー...
-
SQLデータ修正時に『このレコー...
-
マスターのあるレコードを削除...
-
(ACCESS)並び替えをしないで...
-
Accessでレコードが更新された...
-
ACCESS【更新クエリの中断がで...
-
DB INSERT 時の排他制御について
-
レコードロックする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessにインポートしたら並び...
-
3つ以上のテーブルをUNIONする...
-
数百万件レコードのdelete
-
データの二重表示の原因
-
ACCESSのBookmarkプロパティの...
-
Access 削除クエリが重い
-
Access VBA Me.Requery レコー...
-
SQLデータ修正時に『このレコー...
-
Access 1レコードずつcsvで出力...
-
SQLServerで同一条件レコードの...
-
Access カレントレコードがあり...
-
2つの項目が重複するレコード...
-
ManagementStudioからのデータ削除
-
テーブルのレコード削除ができ...
-
Accessでの排他制御
-
(ACCESS)並び替えをしないで...
-
Accessでレコードが更新された...
-
Accessの重複クエリで最小以外...
-
Accessで重複したデータを一件...
-
非連結サブフォームのレコード...
おすすめ情報