日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”

發布時間:2024/3/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

用 DeleteMark 的出發點:

1:雖然在界面上有刪除提示,但是客戶錯誤的刪除了一筆數據后,想恢復被刪除的數據是特別困難的,有人曾比喻,若輸入數據的工作量,用1來比喻,那恢復被誤刪除的數據的工作量,很可能是100,所以就算界面上有刪除提示,客戶也確認刪除了,但是還能有把數據挽救的余地才是保險的做法。

?

2:程序寫太好了,客戶用了好幾年,程序的速度也飛快,數據庫也很精簡,很難收到維護費,曾經有一個大客戶,軟件用了接近10年都好好的,客戶從來不支付維護費,你也沒辦法上門收維護費,因為程序寫得太精悍了,這10年里,不知道損失了多少錢,本來可以收蠻多維護費的事情,就被搞砸了,若每天都產生日志文件,被刪除的數據都在數據庫里,這10年下來,數據庫也會變得很龐大,軟件運行速度自然就下來了,客戶也愿意支付維護費,數據都保留著,也不是壞事,防止萬一出現問題,都能有恢復過來的保障。

?

?

?

設置了 DeleteMark 標志后,程序的工作量主要體現在:

A: 數據庫結構設計需要調整,所有的類都需要重新生成(用代碼生成器生成還算好點兒,做到設計實際是同步的很困難)。

B: 所有的選擇數據的方法,都需要加上 DeleteMark = 0 的判斷條件。

C: 所有的業務邏輯上,都需要加上 ?DeleteMark = 0 的判斷條件。

D: 所有的刪除方法,都需要修改,以前是直接進行刪除操作,現在是偽刪除,只是打上刪除標志。

?

由于程序的功能點也相對多,平時管理上、工作上也有很多事情需要處理,所以這個增加 ?DeleteMark 標志足足耗費了1周時間,其實很多事情,嘴巴上說說都很簡單,但是真正需要去做,只是那么一點改進,往往是需要耗費很多精力、時間,才能做好,才能上升一個臺階。

?

?

?

將權限管理、工作流管理做到我能力的極致,一個人只能做好那么很少的幾件事情。

posted on 2010-07-19 11:20 吉日嘎拉 不僅權通用權限 閱讀(3620) 評論(123) 編輯 收藏

評論

評論共2頁:? 上一頁? 1? 2?

#24樓  回復 引用 查看 ??

刪除標記,我一般用bit,你用int的話,可能有點兒浪費啦。 2010-07-19 12:35 | Fred_Xu? ?????

#25樓  回復 引用 查看 ??

呵呵,改這么個功能需要耗費一周?!我理解什么叫耦合了 2010-07-19 12:38 | LanceZhang? ?????

#26樓  回復 引用 查看 ??

引用Fred_Xu:刪除標記,我一般用bit,你用int的話,可能有點兒浪費啦。

或者tinyint足夠了
2010-07-19 12:39 | LanceZhang? ?????

#27樓  回復 引用 查看 ??

我認為觸發器不是一個很好的解決方案,把修改帶來的額外開銷全都推脫給了server端。

既然架構已經固定,成本最低的修改方法應該是通過AOP的方式將刪除方法攔截,在執行物理刪除之前先將待刪除的記錄backup到log表中。

若非特別適合某些場景的話,修改物理表結構真的是下下策
2010-07-19 12:43 | LanceZhang? ?????

#28樓  回復 引用 查看 ??

數據標記刪除后,如何方便、正確地恢復被誤刪的數據更是老火。
由于刪除的數據大多是存在級聯標記刪除的,恢復起來十分的痛苦。
1、要提供兩種查詢瀏覽模式,一種是過濾刪除標記后的,一種是全部的記錄。2、對每類記錄都要提供恢復功能。
2010-07-19 12:43 | 書上路苦? ?????

#29樓  回復 引用 查看 ??

一直用tinyint 2010-07-19 12:46 | 要有好的心情? ?????

#30樓[樓主]  回復 引用 查看 ??

若只是修改一個頁面,那還是相對容易的,若修改幾十個頁面,甚至有些關聯關系的,就沒那么容易了,而且,不可能給你1周時間,專心修改這個,還有很多日常工作需要處理的,只能是利用空閑時間去做這個。

若真的花費1周全部的時間去干這個,估計老板早就炸了。

引用LanceZhang:呵呵,改這么個功能需要耗費一周?!我理解什么叫耦合了
2010-07-19 12:48 | 吉日嘎拉 不僅權限管理? ?????

#31樓[樓主]  回復 引用 查看 ??

你這個回復有水平,的確是會遇到“級聯標記刪除”的情況,相對來說,涉及到級聯,問題就更復雜化了。

引用書上路苦:
數據標記刪除后,如何方便、正確地恢復被誤刪的數據更是老火。
由于刪除的數據大多是存在級聯標記刪除的,恢復起來十分的痛苦。
1、要提供兩種查詢瀏覽模式,一種是過濾刪除標記后的,一種是全部的記錄。2、對每類記錄都要提供恢復功能。
2010-07-19 12:49 | 吉日嘎拉 不僅權限管理? ?????

#32樓  回復 引用 查看 ??

支持一下,老吉實務排的,只要對人有所啟發,都可以發到主頁。 2010-07-19 12:52 | Junior Lau? ?????

#33樓  回復 引用 查看 ??

改路線了? 2010-07-19 12:54 | 江南白衣? ?????

#34樓  回復 引用 查看 ??

看了一路,只能說悲劇。 2010-07-19 12:56 | blackcat? ?????

#35樓  回復 引用 ??

就是個歷史信息 還有啥啊 這玩意寫出來丟人 2010-07-19 13:16 | olam123[未注冊用戶]

#36樓  回復 引用 查看 ??

引用olam123:就是個歷史信息 還有啥啊 這玩意寫出來丟人

有想法就可以寫出來,有啥不可。
2010-07-19 13:21 | Tonny Yang? ?????

#37樓  回復 引用 查看 ??

雙庫.

一庫在用(其內包含最近被刪除的數據)
一庫裝一些刪除時間長于XX天的數據.
2010-07-19 13:24 | dotNetDR_? ?????

#38樓  回復 引用 查看 ??

還是鄙視一下吧,這篇文章看來吉日改代碼還是改的很勤快的,全部代碼都改了一遍,全都加上了 where deleteflag = 1,呵呵,真是辛苦啊 2010-07-19 13:30 | Keep Walking? ?????

#39樓  回復 引用 ??

吉爾一寫技術文章就原形畢露了,還以為有多厲害了,和剛畢業的大學生差不多。 2010-07-19 13:33 | 吳曉凡[未注冊用戶]

#40樓  回復 引用 查看 ??

2:程序寫太好了,客戶用了好幾年,程序的速度也飛快,數據庫也很精簡,很難收到維護費,曾經有一個大客戶,軟件用了接近10年都好好的,客戶從來不支付維護費,你也沒辦法上門收維護費,因為程序寫得太精悍了,這10年里,不知道損失了多少錢,本來可以收蠻多維護費的事情,就被搞砸了,若每天都產生日志文件,被刪除的數據都在數據庫里,這10年下來,數據庫也會變得很龐大,軟件運行速度自然就下來了,客戶也愿意支付維護費,數據都保留著,也不是壞事,防止萬一出現問題,都能有恢復過來的保障。

2010-07-19 13:39 | Arthas-Cui? ?????

#41樓  回復 引用 查看 ??

額。。。 2010-07-19 13:39 | Arthas-Cui? ?????

#42樓  回復 引用 查看 ??

程序寫太好了,客戶用了好幾年,程序的速度也飛快,數據庫也很精簡,很難收到維護費,曾經有一個大客戶,軟件用了接近10年都好好的,客戶從來不支付維護費,你也沒辦法上門收維護費,因為程序寫得太精悍了,這10年里,不知道損失了多少錢,本來可以收蠻多維護費的事情,就被搞砸了,若每天都產生日志文件,被刪除的數據都在數據庫里,這10年下來,數據庫也會變得很龐大,軟件運行速度自然就下來了,客戶也愿意支付維護費,數據都保留著,也不是壞事,防止萬一出現問題,都能有恢復過來的保障。

經典~
2010-07-19 13:43 | peace? ?????

#43樓  回復 引用 查看 ??

只能說不是創新,因為這種方式一直就有。 2010-07-19 13:44 | hoodlum1980? ?????

#44樓  回復 引用 查看 ??

另外弱弱的說以下。。。。

3不是出發點的一部分。。。
2010-07-19 13:45 | Arthas-Cui? ?????

#45樓  回復 引用 查看 ??

另外弱弱的說一下。。。。

3不是出發點的一部分。。。
2010-07-19 13:45 | Arthas-Cui? ?????

#46樓[樓主]  回復 引用 查看 ??

大哥,那你寫幾個上來,看看唄,我是普通老百姓,還能寫啥呀?能寫高科技嗎?天天弄的,不就是這些應用類的嗎?

引用吳曉凡:吉爾一寫技術文章就原形畢露了,還以為有多厲害了,和剛畢業的大學生差不多。
2010-07-19 13:45 | 吉日嘎拉 不僅權限管理? ?????

#47樓  回復 引用 查看 ??

@Keep Walking
人家用代碼生成器呢。。。。
2010-07-19 13:46 | Jon.Hong? ?????

#48樓  回復 引用 查看 ??

太easy了,這也可以寫文章? 2010-07-19 13:47 | feijia? ?????

#49樓  回復 引用 查看 ??

辛苦了~呵呵 2010-07-19 13:49 | shootsoft.net? ?????

#50樓[樓主]  回復 引用 查看 ??

不easy的都不會,太easy的又不精。
我就不信,說easy的人,自己的軟件里,是否都處理得想當好?
有勇氣敢說的,不知道有幾個人。

引用feijia:太easy了,這也可以寫文章?
2010-07-19 13:54 | 吉日嘎拉 不僅權限管理? ?????

#51樓[樓主]  回復 引用 查看 ??

好在這個是用代碼生成器生成的,否則會改死人了,主要是重復勞動意義不大。

引用Jon.Hong:
@Keep Walking
人家用代碼生成器呢。。。。
2010-07-19 13:54 | 吉日嘎拉 不僅權限管理? ?????

#52樓  回復 引用 查看 ??

呵呵 2010-07-19 13:55 | 代碼亂了? ?????

#53樓[樓主]  回復 引用 查看 ??

謝謝您的提醒,有錯我就改,能指點錯誤,就是我的恩師。

引用Arthas-Cui:
另外弱弱的說一下。。。。

3不是出發點的一部分。。。
2010-07-19 13:56 | 吉日嘎拉 不僅權限管理? ?????

#54樓[樓主]  回復 引用 查看 ??

記得有一個寫C語言入門書籍的,好像叫 譚浩強? 他寫的書是不是太簡單了?呵呵,非常的easy,把easy的東西真正做好的,也沒幾個人了。

引用feijia:太easy了,這也可以寫文章?
2010-07-19 13:56 | 吉日嘎拉 不僅權限管理? ?????

#55樓  回復 引用 ??

為什么不用一個專門的delete表來存放被刪除數據呢?那樣恢復也一樣容易啊,而且程序基本不用改--做一個delete觸發器就好了。 2010-07-19 14:00 | wxt[未注冊用戶]

#56樓  回復 引用 查看 ??

針對樓上一些評論,
我不多說什么。 因為咱也不是那么厲害, 看著一個個說的很狂妄, 我悄悄面墻角去。
只是一不小心看到個觸發器!!!

我就火大了!

我只能說:每一個沒事就用觸發器的開發人員, 上輩子都是折翼的天使!
2010-07-19 14:03 | Arthas-Cui? ?????

#57樓  回復 引用 查看 ??

全家都是! 2010-07-19 14:05 | Arthas-Cui? ?????

#58樓[樓主]  回復 引用 查看 ??

@Arthas-Cui

不同的數據庫,對出發器的支持也不一樣的,
例如 Access 不知道有沒有出發器?

數據庫的 行級出發器,也不一樣的,可能也會引發一大堆其他問題。
出發器是能不用則不用的原則,會對開發、調試、維護帶來很多麻煩,
一般是沒啥經驗的,或者初學者,喜歡玩存儲過程、出發器、約束啥啥的,
不是把好玩的技術都堆在一起就是 牛B系統了。

越簡單,越好用,越穩定,越容易才是硬道理。
2010-07-19 14:07 | 吉日嘎拉 不僅權限管理? ?????

#59樓  回復 引用 查看 ??

其實我覺得觸發器是這樣的:
本來, 一個外鍵約束, 簡簡單單的就搞定了。

然后, 設計的時候, 想的不周到。
加上客戶后來變了需求。
又不想改設計, 或者設計不靈活, 沒法改,
或者干脆說沒能力改設計!

然后怎么辦?
觸發器吧。
這東西NB。

一下子就沖上去了。

然后維護的人就痛苦死了。

我以前見一系統, 別的公司留下的, 他們被趕走了, 讓我們給他們做維護。(原因不詳)
額, 一天, 問, 一個數據是怎么來的?
我說我追下吧。

然后發現來自一個觸發器。
然后來自另一個觸發器。
然后來自一個存儲過程給表做的insert。。。
然后來自另一個觸發器~




。。
(具體到底誰調誰不記得了, 反正意思就是這么個意思。)

然后我們集體:
囧rz

然后和客戶說:
“這數據哪里來的那么重要么?”
客戶說:
“很重要!!!!”

我們繼續:
囧rz。。。。
(不詳的原因終于詳了)
2010-07-19 14:13 | Arthas-Cui? ?????

#60樓  回復 引用 查看 ??

正常的問題 2010-07-19 14:35 | 遲暮? ?????

#61樓  回復 引用 查看 ??

@Arthas-Cui
從來不要觸發器。。。。
2010-07-19 14:37 | Jon.Hong? ?????

#62樓  回復 引用 查看 ??

引用吉日嘎拉 不僅權限管理:
@Arthas-Cui

不同的數據庫,對出發器的支持也不一樣的,
例如 Access 不知道有沒有出發器?

數據庫的 行級出發器,也不一樣的,可能也會引發一大堆其他問題。
出發器是能不用則不用的原則,會對開發、調試、維護帶來很多麻煩,
一般是沒啥經驗的,或者初學者,喜歡玩存儲過程、出發器、約束啥啥的,
不是把好玩的技術都堆在一起就是 牛B系統了。

越簡單,越好用,越穩定,越容易才是硬道理。

支持樓主.
2010-07-19 14:38 | 小堆爸? ?????

#63樓  回復 引用 查看 ??

引用Arthas-Cui:
其實我覺得觸發器是這樣的:
本來, 一個外鍵約束, 簡簡單單的就搞定了。

然后, 設計的時候, 想的不周到。
加上客戶后來變了需求。
又不想改設計, 或者設計不靈活, 沒法改,
或者干脆說沒能力改設計!

然后怎么辦?
觸發器吧。
這東西NB。

一下子就沖上去了。

然后維護的人就痛苦死了。

我以前見一系統, 別的公司留下的, 他們被趕走了, 讓我們給他們做維護。(原因不詳)
額, 一天, 問, 一個數據是怎么來的?
我說我追下吧。

然后發現來自一個觸發器。
然后來自另一個觸發器。
然后來自一個存儲過程給表做的insert。。。
然后來自另一個觸發器~




。。
(具體到底誰調誰不記得了, 反正意思就是這么個意思。)

然后我們集體:
囧rz

然后和客戶說:
“這數據哪里來的那么重要么?”
客戶說:
“很重要!!!!”

我們繼續:
囧rz。。。。
(不詳的原因終于詳了)
同感...
2010-07-19 14:41 | 小堆爸? ?????

#64樓  回復 引用 查看 ??

用觸發器簡直是自己給自己找事兒,一套程序永遠自己維護?如果不是,邏輯最好都體現在代碼或者存儲過程里,否則別人維護會出大問題。 2010-07-19 14:41 | 超晨? ?????

#65樓  回復 引用 查看 ??

放入回收站 清空回收站 2010-07-19 14:59 | 趙弟棟? ?????

#66樓[樓主]  回復 引用 查看 ??

您的這個回復通俗易懂,絕對能說服客戶,能說服開發人員。

引用趙弟棟:放入回收站 清空回收站
2010-07-19 15:16 | 吉日嘎拉 不僅權限管理? ?????

#67樓  回復 引用 ??

觸發器都不會用。。。有簡單方法不用,非做無用功,服了。做什么之前,最好先上網查查既有的解決方案,不要閉門造車 2010-07-19 15:22 | 觸發器都不會用[未注冊用戶]

#68樓  回復 引用 查看 ??

@吉日嘎拉 不僅權限管理
吉日 冷靜 冷靜.
2010-07-19 15:50 | chenkai? ?????

#69樓[樓主]  回復 引用 查看 ??

浙大網新易盛公司在招聘.NET開發人員,歡迎投簡歷。

2010-07-19 15:53 | 吉日嘎拉 不僅權限管理? ?????

#70樓  回復 引用 ??

引用吉日嘎拉 不僅權限管理:
浙大網新易盛公司在招聘.NET開發人員,歡迎投簡歷。


如果進了你的公司。會不會和你一樣招人BS,:P
2010-07-19 16:05 | ????[未注冊用戶]

#71樓  回復 引用 查看 ??

其實加上刪除標志還有一個好處,在特殊情況的數據庫同步時也有關鍵作用 2010-07-19 16:51 | liy? ?????

#72樓[樓主]  回復 引用 查看 ??

@????

我有那么恐怖嗎?只是有點兒出了名而已, 浙大網新又不是我開的,老板給發工資,為人民服務,拿辛苦錢,有什么好鄙視的?

大家都是靠自己勞動賺錢的嘛,沒啥好鄙視的。

2010-07-19 17:01 | 吉日嘎拉 不僅權限管理? ?????

#73樓  回復 引用 ??

我習慣用IsDeleted 2010-07-19 17:21 | asdio[未注冊用戶]

#74樓  回復 引用 查看 ??

引用Arthas-Cui:
針對樓上一些評論,
我不多說什么。 因為咱也不是那么厲害, 看著一個個說的很狂妄, 我悄悄面墻角去。
只是一不小心看到個觸發器!!!

我就火大了!

我只能說:每一個沒事就用觸發器的開發人員, 上輩子都是折翼的天使!


對頭,把表鎖死了就玩完了,尤其是Internet應用;不過在大企業內部應用中,觸發器的使用是非常普遍的,沒辦法,業務邏輯太復雜,幾百行的存儲過程是常見的
2010-07-19 17:23 | LanceZhang? ?????

#75樓[樓主]  回復 引用 查看 ??

這個命名也不錯,支持。

引用asdio:我習慣用IsDeleted
2010-07-19 17:24 | 吉日嘎拉 不僅權限管理? ?????

#76樓  回復 引用 查看 ??

看了吉日兄的這篇文章,感覺現實中對于誤刪除的理解不是這樣!

因為,只要客戶有刪除數據的權限,即使是所謂的“偽刪除”也是一種合理的操作,只不過是他的刪除操作與現實中的邏輯發生了沖突。

在現實中,很多的數據都有時效性,一旦刪除后,數據就變成“過期數據”了,其它相關表的數據也可能會發生變化;同時系統中又不是你一個人在使用,也未見得是“當時”就發現了誤刪除,所以要想完全避免誤刪除是不可能的。

2010-07-19 17:30 | 卡通一下? ?????

#77樓  回復 引用 查看 ??

我用的命名直接是:
Recycle

然后大概這樣:
if(Recycle)
{
Recycle();
}
else
{
Delete();
}
2010-07-19 17:30 | Arthas-Cui? ?????

#78樓  回復 引用 查看 ??

不知為什么大家對觸發器有這么大的意見,有很多“強相關”的操作用觸發器也沒有什么不好,就算不用它,不也得在一個事務中完成操作嗎?
2010-07-19 17:49 | 卡通一下? ?????

#79樓  回復 引用 查看 ??

標識位用int類型,空間浪費啊 2010-07-19 18:07 | 寂寞的肥肉? ?????

#80樓  回復 引用 查看 ??

吉日哥,雖然我不看你的技術文章。但是我還是頂你。 2010-07-19 18:14 | kb小強? ?????

#81樓[樓主]  回復 引用 查看 ??

總共也沒幾千條數據,無所謂了。
引用寂寞的肥肉:標識位用int類型,空間浪費啊
2010-07-19 19:19 | 吉日嘎拉 不僅權限管理? ?????

#82樓  回復 引用 查看 ??

刪除 ---> 修改 2010-07-19 19:47 | IT鳥? ?????

#83樓  回復 引用 查看 ??

其實我挺為lz擔心的,那幫人又有借口黑你了.... 2010-07-19 19:53 | 炭炭? ?????

#84樓  回復 引用 查看 ??

我覺得可以用一個表來保存被刪掉記錄的索引,select語句對兩個表操作也蠻簡單的,這個類似于你flag標記的方式,但是對已有程序的修改幅度應該要小。

我在華為做的項目都是不用觸發器的,因為在表很多的情況下(200多個表,另外還有100多個視圖),用觸發器會大大增加邏輯的復雜性,維護這些邏輯的開銷還不如增加硬盤的開銷來的實在,現在硬盤很便宜的。

當然,如果在銀行系統這種數據量超大的項目中,觸發器應該是必備的。

2010-07-19 20:31 | 瀟湘雨歇? ?????

#85樓  回復 引用 查看 ??

我只有一個觀點,就是作為一個data-centric程序開發來說,lz數據庫設計能力以及功底有待考量。這是設計數據庫的常識,多column沒關系,少了后面就會增加無數麻煩。還有,我覺得用生成器的朋友十有八九都是table<->object mapping的這類。與其這樣為什么放著datatable不用呢。。。事務總是顛倒了來搞,不覺得別扭么? 2010-07-19 20:57 | Vincent Yang? ?????

#86樓[樓主]  回復 引用 查看 ??

@Vincent Yang

沒看明白高手的留言,不好意思啊,可能是我水平不夠。
2010-07-19 21:06 | 吉日嘎拉 不僅權限管理? ?????

#87樓[樓主]  回復 引用 查看 ??

@瀟湘雨歇

以我的理解,出發器是在沒有辦法修改源碼的前提下,迫不得已采取的方法,特別是集成沒有源碼的管理系統。
2010-07-19 21:08 | 吉日嘎拉 不僅權限管理? ?????

#88樓  回復 引用 查看 ??

支持下! 2010-07-19 21:48 | Dacey? ?????

#89樓  回復 引用 查看 ??

很想訓人,看你寫Blog這么辛苦還是支持你一下
以后別再以為客戶授權了你DELETE
數據完整性。。。
2010-07-19 22:21 | 鈴蘭草? ?????

#90樓  回復 引用 查看 ??

還好我們一開始就是假刪除~ 2010-07-19 22:25 | 真名士? ?????

#91樓[樓主]  回復 引用 查看 ??

還好,你沒寫類似的博文,否則又要被罵死了,哈哈

引用真名士:還好我們一開始就是假刪除~
2010-07-19 22:27 | 吉日嘎拉 不僅權限管理? ?????

#92樓  回復 引用 ??

看著都覺得無聊。10年前就應該設計好的東西,現在居然能放到首頁上大肆渲染,不是你該罵,而是你在找罵。 2010-07-19 22:42 | 無suo事事[未注冊用戶]

#93樓[樓主]  回復 引用 查看 ??

@無suo事事

TMD, 10年前就應該留言的現在才留言,呵呵,腦子有問題。
2010-07-19 22:45 | 吉日嘎拉 不僅權限管理? ?????

#94樓[樓主]  回復 引用 查看 ??

@無suo事事
幾千年前發明的漢字,現在也在天天用,按照你這么說,漢字都不能用了?
不能寫了?

幾百年前的詩句,現在也不是照樣在寫? 照樣在說?
2010-07-19 22:46 | 吉日嘎拉 不僅權限管理? ?????

#95樓  回復 引用 ??

你還真是夠卡的,這樣去意義不是太大嗎?或者說你這樣的設計并不專業,一個軟件客戶用上十年不用維護費,那么本身說明這個軟件是成功的,難道收點維護費就可以賺大錢了?這個十年當中我相信以這個技術員的能力完全可以開發N套成熟的產品了,或者把現有的這套軟件包裝起來當做產品去賣,一套成熟的產品問題出的越少越好,最好都可以不用維護哦。 2010-07-19 22:52 | 藏金閣[未注冊用戶]

#96樓  回復 引用 ??

誤刪就是沒事找事做,客戶不要求的話最好別管他 2010-07-20 00:14 | nannanaan[未注冊用戶]

#97樓  回復 引用 查看 ??

堅持真刪除并且到現在還不改變的人 90%是學生或者小系統。

一般所有數據都有status標記,表示數據狀態。如果真的需要刪除,會數據庫進行統一維護。
2010-07-20 01:00 | ? ?????

#98樓[樓主]  回復 引用 查看 ??

開拓一個大客戶有那么容易嗎?天下難道有做不完的管理系統?而且是有一定的油水的?好像沒那么容易吧?尋找客戶并不是那么容易的事情,若那么容易可以找到大客戶,我早就自己開公司去了。

引用藏金閣:你還真是夠卡的,這樣去意義不是太大嗎?或者說你這樣的設計并不專業,一個軟件客戶用上十年不用維護費,那么本身說明這個軟件是成功的,難道收點維護費就可以賺大錢了?這個十年當中我相信以這個技術員的能力完全可以開發N套成熟的產品了,或者把現有的這套軟件包裝起來當做產品去賣,一套成熟的產品問題出的越少越好,最好都可以不用維護哦。
2010-07-20 08:40 | 吉日嘎拉 不僅權限管理? ?????

#99樓[樓主]  回復 引用 查看 ??

總算有人有共同語言了,哈哈,謝謝你的支持啊

引用辰:
堅持真刪除并且到現在還不改變的人 90%是學生或者小系統。

一般所有數據都有status標記,表示數據狀態。如果真的需要刪除,會數據庫進行統一維護。
2010-07-20 08:40 | 吉日嘎拉 不僅權限管理? ?????

#100樓  回復 引用 查看 ??

呵呵,頂吉日兄一下,每次發貼都有這么多人光顧 2010-07-20 08:48 | 總想擁有自己的天空? ?????

#101樓[樓主]  回復 引用 查看 ??

@總想擁有自己的天空

稍微有點兒名人效益,呵呵。
2010-07-20 08:53 | 吉日嘎拉 不僅權限管理? ?????

#102樓  回復 引用 查看 ??

囧?你們啥玩意的系統啊?居然是直接刪除?還精悍?在學校的時候,老濕就教了數據不要用刪除,要保留每一個操作。這幾年做的系統,包括醫療的財務的倉儲的,CMS,oa,我都沒看過一個是刪除數據的。我很難想想,這樣的系統,居然能讓人用10年,不用維護,該不會是買去擺設吧 2010-07-20 08:54 | 貓崽? ?????

#103樓  回復 引用 查看 ??

至于采用怎樣的刪除方式和數據類型,不能走極端。
我們將兩種刪除稱為邏輯刪除和物理刪除,敏感數據采用邏輯刪除,非敏感數據則按照客戶的要求(客戶都有IT部門,甚至具有專家,我說的是真正的專家)
至于這個Flag是采用BIT還是其他數據類型,也要分場景,比如下面種情況就不能用BIT:
Membership表(PK:UserName + IsDeleted)
UserName
Password
IsDeleted
由于一個表里可能具有多個具有相同UserName的被刪除的記錄,所以不能使用具有兩態的BIT。我們都用代表當前事務(邏輯上的事務)的GUID表示(雖然可能在性能和存貯上就一些負面的影響,不過影響不大)
2010-07-20 08:54 | Artech? ?????

#104樓[樓主]  回復 引用 查看 ??

@Artech

有水平的人,留言的水平都讓人佩服,說出來的話,聽著也舒服啊。
2010-07-20 09:29 | 吉日嘎拉 不僅權限管理? ?????

#105樓[樓主]  回復 引用 查看 ??

@Artech

通過寫博客,與大家交流中提高了不少,這就是所謂的寫博客的好處,交流的好處吧。
2010-07-20 09:30 | 吉日嘎拉 不僅權限管理? ?????

#106樓  回復 引用 查看 ??

簡單實用 2010-07-20 09:35 | 東華一只球? ?????

#107樓  回復 引用 查看 ??

如果表的數量大,這種方法就不適用。小數據量還是可以的。 2010-07-20 09:43 | 當耐特磚家? ?????

#108樓  回復 引用 查看 ??

@當耐特磚家
大表有大表的做法,可以根據Status建索引,然后根據索引建立表分區
又不是Access,只要沒有大的設計失誤,你放幾千萬條數據也是隨便跑
對于真正應該刪除的數據,在業務上應該建立定期整理、備份、核查、銷毀制度(可以參看檔案管理的做法)
2010-07-20 09:48 | 鈴蘭草? ?????

#109樓  回復 引用 ??

這個也放首頁。。。。吉日在沒什么好寫時可以休息一下嘛 2010-07-20 09:58 | selfer[未注冊用戶]

#110樓[樓主]  回復 引用 查看 ??

@selfer

那你來寫文章吧。
2010-07-20 10:00 | 吉日嘎拉 不僅權限管理? ?????

#111樓  回復 引用 ??

這個也改了一周,太高效的管理了吧,早就叫你不要只忽悠來忽悠去,不聽爸爸的話. 2010-07-20 13:02 | 吉日它爹[未注冊用戶]

#112樓  回復 引用 查看 ??

樓主,好好學習一下面向對象的開發吧,你這個水平,把中國的軟件水平拉低了 2010-07-20 13:54 | 張忠偉? ?????

#113樓  回復 引用 查看 ??

寫這樣的文章等于找罵!
鳳姐型的人物,罵的多了,自然就上頭版了
2010-07-20 13:55 | 張忠偉? ?????

#114樓[樓主]  回復 引用 查看 ??

你這家伙,啥嘴巴?這個跟面向對象的開發都能扯上關系?我真想罵你,“你是豬啊?”啥都能跟面向對象的開發扯上關系,面向對象就不用刪除標志了?水平沒到家,別亂給人家扣帽子。

引用張忠偉:樓主,好好學習一下面向對象的開發吧,你這個水平,把中國的軟件水平拉低了
2010-07-20 13:56 | 吉日嘎拉 不僅權限管理? ?????

#115樓  回復 引用 查看 ??

@小堆爸
那確實啊,都通宵好幾天了,就調試觸發器了,而且數據量大的時候還丟數據。
2010-07-20 13:57 | 小小樂? ?????

#116樓[樓主]  回復 引用 查看 ??

TMD, 自己不好好寫文章,還跑到這樣的文章來來搗亂,你良心上有沒有考慮一下?你給博客園寫了幾篇文章分享了經驗?別人從你身上學到過什么?反過來還批評我這樣樂于分享,樂于交流的人,你的良心、良知都到哪里去了?怎么這么黑心腸啊?

引用張忠偉:
寫這樣的文章等于找罵!
鳳姐型的人物,罵的多了,自然就上頭版了
2010-07-20 14:29 | 吉日嘎拉 不僅權限管理? ?????

#117樓[樓主]  回復 引用 查看 ??

程序在調試時,出發器也不好調試,而且有一定的未知性,莫名其妙性。
出發器互相調用來調用去更讓人容易頭大,系統運行的時間長了,改動多了,接入的系統,功能也多了,更容易亂套了。

引用小小樂:
@小堆爸
那確實啊,都通宵好幾天了,就調試觸發器了,而且數據量大的時候還丟數據。
2010-07-20 14:30 | 吉日嘎拉 不僅權限管理? ?????

#118樓  回復 引用 查看 ??

@吉日嘎拉 不僅權限管理
人懶得很,還沒寫過東西呢。
最近工作不順利,有點感慨,抽空總結一下 /(^o^)/~
2010-07-20 14:45 | 真名士? ?????

#119樓  回復 引用 查看 ??

引用吉日嘎拉 不僅權限管理:
不easy的都不會,太easy的又不精。
我就不信,說easy的人,自己的軟件里,是否都處理得想當好?
有勇氣敢說的,不知道有幾個人。

引用feijia:太easy了,這也可以寫文章?


這個xxx邏輯就是,你要說xx不好,你先做個超過xx給我看看!
這樣還不如關了評論了事!
2010-07-20 15:44 | 風中獨火? ?????

#120樓  回復 引用 查看 ??

引用吉日嘎拉 不僅權限管理:
程序在調試時,出發器也不好調試,而且有一定的未知性,莫名其妙性。
出發器互相調用來調用去更讓人容易頭大,系統運行的時間長了,改動多了,接入的系統,功能也多了,更容易亂套了。

引用小小樂:
@小堆爸
那確實啊,都通宵好幾天了,就調試觸發器了,而且數據量大的時候還丟數據。

駕馭不了,不代表不好.
不會調試,不代表不能調試.
自己未知就老老實實承認,不是莫名其妙的.
你10年都不動的系統,運行50年來改動,加入功能么?
2010-07-20 15:47 | 風中獨火? ?????

#121樓  回復 引用 查看 ??

樓主無論怎么樓主的奉獻精神我還是很贊賞的

無論任何事情努力去做了就好
2010-07-30 14:33 | 馬克華菲? ?????

#122樓  回復 引用 查看 ??

頂樓主,我覺得寫的蠻好的,受益匪淺 2010-07-30 15:36 | 夏末的美? ?????

#123樓  回復 引用 查看 ??

呵呵. 這個標志是一定要的. 像你寫的系統, 支持oralce,access,mssql, mysql這些. 用刪除標志比較好. 然后把刪除的log寫到另一外表.
如果單一系統定義為特定的MSSQL, 用觸發器也是可以.

總結

以上是生活随笔為你收集整理的防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。