成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

軟刪除和我們常說(shuō)的刪除

RobinTang / 1057人閱讀

摘要:什么是軟刪除軟刪除又叫邏輯刪除,標(biāo)記刪除,與我們常說(shuō)的刪除不同,并不是真的從數(shù)據(jù)庫(kù)中將這條記錄去除,而是會(huì)設(shè)置一個(gè)字段,比如來(lái)標(biāo)記刪除狀態(tài)。與硬刪除的比較雖然軟刪除比較好,它能保證數(shù)據(jù)的完整性,但并不表示我們?nèi)魏螘r(shí)候都要使用軟刪除。

上次在處理項(xiàng)目中的一個(gè)異常的時(shí)候,定位到異常的位置是刪除時(shí)候拋出的異常,然后最后的解決辦法是使用@NotFound注解實(shí)現(xiàn)的。然后老師說(shuō)這是一種軟刪除。當(dāng)時(shí)只是大概知道什么意思,但是并不清楚到底是什么東西。今天簡(jiǎn)單學(xué)習(xí)了下。

什么是軟刪除

軟刪除又叫邏輯刪除,標(biāo)記刪除,與我們常說(shuō)的刪除不同,并不是真的從數(shù)據(jù)庫(kù)中將這條記錄去除,而是會(huì)設(shè)置一個(gè)字段,比如:isDelete來(lái)標(biāo)記刪除狀態(tài)。

那就會(huì)產(chǎn)生下一個(gè)問(wèn)題,為什么要有軟刪除呢?為什么不直接刪除呢?

為什么會(huì)有軟刪除

在現(xiàn)實(shí)情況中,很多時(shí)候我們說(shuō)的刪除并不是真的是刪除的本意,因?yàn)檎驹谟脩舻慕嵌葋?lái)看,并不是一種刪除的狀態(tài):

訂單不是被刪除的,是被“取消”的。

員工不是被刪除的,是被“解雇”的(也可能是退休了)。

職位不是被刪除的,是被“填補(bǔ)”的(或者招聘申請(qǐng)被撤回)。

所以這些時(shí)候,我們并不能真的把記錄刪除,所以軟刪除就出現(xiàn)了。

當(dāng)然,我們更希望用一下代表狀態(tài)的詞來(lái)代替isDelete,就比如我們項(xiàng)目中已經(jīng)使用的:有效、停用、棄用等等。

與硬刪除的比較

雖然軟刪除比較好,它能保證數(shù)據(jù)的完整性,但并不表示我們?nèi)魏螘r(shí)候都要使用軟刪除。當(dāng)我們確定某些數(shù)據(jù)真的不需要的時(shí)候,硬刪除就成了必須。比如驗(yàn)證碼。這種數(shù)據(jù)刪除后就沒(méi)有必要保存了。

總結(jié)

項(xiàng)目中的問(wèn)題,本來(lái)的邏輯是清空原始數(shù)據(jù),然后重新計(jì)算,再存入數(shù)據(jù)庫(kù)中,所以這時(shí)使用了刪除,數(shù)據(jù)庫(kù)中就不應(yīng)該存在那些數(shù)據(jù),所以確實(shí)不應(yīng)該使用軟刪除,還是應(yīng)該使用常說(shuō)的硬刪除

友情鏈接:http://xingaiming.com/2015/12/db_design_dont_delete_data/

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/76776.html

相關(guān)文章

  • Java四種引用簡(jiǎn)介

    摘要:簡(jiǎn)單來(lái)說(shuō)就是引用和引用隊(duì)列關(guān)聯(lián)起來(lái)引用的構(gòu)造函數(shù)傳入隊(duì)列,然后引用被回收的時(shí)候會(huì)被添加到隊(duì)列中,然后使用方法可以返回引用。 引語(yǔ): ????我們知道java相比C,C++中沒(méi)有令人頭痛的指針,但是卻有和指針作用相似的引用對(duì)象(Reference),就是常說(shuō)的引用,比如,Object obj = new Object();這個(gè)obj就是引用,它指向的是真正的對(duì)象Object的地址,不過(guò)今...

    springDevBird 評(píng)論0 收藏0
  • 精讀《圖解HTTP》

    摘要:所以我十分建議大家去讀一下圖解和權(quán)威指南。圖解這本書對(duì)互聯(lián)網(wǎng)基盤協(xié)議進(jìn)行了全面系統(tǒng)的介紹。通過(guò)書中大量生動(dòng)形象的通信圖例,我們能夠更全面地理解通信過(guò)程中客戶端與服務(wù)器之間的交互情況。返回結(jié)果的狀態(tài)在通訊中,通過(guò)轉(zhuǎn)態(tài)碼,告知客戶端的請(qǐng)求狀態(tài)。 前言 作為一個(gè)前端,如果能夠深刻理解 HTTP 通信,能夠讓我們?cè)谌粘i_發(fā)工作中快速定位問(wèn)題。所以我十分建議大家去讀一下《圖解HTTP》和《HTT...

    CrazyCodes 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<