資料庫設計之排他限制

2021-05-23 17:10:49 字數 473 閱讀 2447

為了防止多人同時運算元據庫中的同一條記錄,需要在設計時考慮到表的排他操作。

下面是我用到的兩種方式。

一、使用排他表

1.建立乙個排他表,用來儲存要操作表的表名和資料的主鍵。

2.運算元據前,先查詢排他表,看是否有資料。如果存在,則表示有程式正在操作這條資料。如果不存在,則向排他表插入資料。

3.操作完成後要在排他表中刪除這條資料。

4.排他表中最好增加乙個userid欄位,用來判斷排他資料的建立者,同乙個使用者可以操作被鎖的資料。這樣防止資料庫操作發生異常,任何人無法操作這條被鎖的資料。

二、使用updatetime欄位

1.在所有表中增加updatetime欄位

2.運算元據前查詢該欄位,操作時再查詢該欄位。

3.如果2次的updatetime相同,則表示這條資料沒有被修改過。如果不一致,表示已經被修改了,不能再操作。

4.運算元據後,修改updatetime欄位。

資料庫設計 資料庫設計之欄位冗餘

學過資料庫設計的同學都知道,資料庫設計有三大正規化,但是在實際工作中,三大正規化很難被嚴格的執行。本文將給大家介紹一種常見的 違反正規化的資料庫設計方案 字段冗餘1 經典示例先來看乙個經典的例子,在一些 系統裡,要顯示已購買的訂單,一般會顯示訂單號 下單時間 訂單金額 商品名稱等,如下圖。正常我們如...

資料庫設計之正規化

資料庫設計,乙個軟體專案成功的基石。乙個好的資料庫設計能讓開發人員在後續的開發中如魚得水,反之,乙個差的資料庫設計簡直就是四面漏風的牆。資料庫設計的規範化即正規化。1.第1正規化 1nf 定義 如果關係模式r,其所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱r屬於第一正規化,簡稱1nf。說明...

MySQL資料庫系列之資料庫設計原則

mysql中資料庫設計原則 1.一般情況下,應該盡量使用可以正確儲存資料的最小資料型別。資料型別不一樣,儲存的執行效率也不一樣。最好使用適度的整型資料型別,例如int之類的資料,這樣在做查詢或者字段排序的時候速度是最快的。2.盡量避免null值的時候,因為這樣會增加資料庫處理的開銷。但是也要考慮實際...