MOOC戰德臣資料庫課程自用筆記 6 資料庫完整性

2021-10-25 16:53:17 字數 970 閱讀 9630

資料庫完整性是指 dbms 應保證的 db 的一種特性,即在任何情況下的正確性,有效性,一致性。

實體完整性

參照完整性

使用者自定義完整性

防止和避免資料庫中不合理資料的出現

dbms 應盡可能地防止 db 中語義不合理現象

dbms 允許使用者定義一些完整性約束規則(用 sql-ddl 來定義)

當有 db 更新操作時,dbms 自動按照完整性約束條件進行檢查,以確保更新操作符合語義完整性

a. 域完整性約束條件

施加於某一列上,對給定列上所要更新的某一候選值是否可以接受進行約束條件判斷,這是孤立進行的

b. 關係完整性約束條件

施加於關係/table 上,對給定 table 上所要更新的某一候選元組是否可以接受進行約束條件判斷,或是對乙個關係中的若干元組和另乙個關係中的若干元組間的聯絡是否可以接受進行約束條件判斷

a. 結構約束

來自於模型的約束,例如函式依賴約束,主鍵約束(實體完整性),外來鍵約束(參照完整性),只關心數值相等與否,是否允許空值等

b. 內容約束

來自使用者的約束,如使用者自定義完整性,關心元組或屬性的取值範圍。

例如 student 表的 sage 屬性值在 15 歲至 40 歲之間等

a. 靜態約束

要求 db 在任一時候均應滿足的約束

例如 sage 在任何時候都應該大於 0

b. 動態約束

要求 db 從一狀態變為另一狀態時應滿足的約束

例如工資只能提公升不能降:工資可以是 800,也可以是 1000,可以從 800 更改為 1000,但不能從 1000 更改為 800

靜態約束

動態約束

資料庫操作自用筆記

1.主表資訊拆分到子表insert into older ext info older id,provider payments,economic sources,id card photo url,photo url,id certification last date,note select i...

sybase 資料庫使用筆記

最近乙個專案用的是sybase的資料庫。那叫乙個蛋疼。搞傷的了。先是亂碼問題 這是個老生常談的問題。網上說連線字串後面加個charset cp850就行了。我試了下不行。然後又說什麼cp936。然後我一查我們的sybase伺服器還沒cp936.然後又是安裝。安裝倒是挺容易的。在命令列裡面進行syba...

資料庫課堂筆記6 資料庫恢復技術

概念 事務是使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全不做,是乙個不可分割的工作單位 在關聯式資料庫中,乙個事務可以是一條sql語句 一組sql語句或整個程式乙個應用程式可以包含多個事務。原子性 一致性 隔離性 永續性事務的執行時,後像 ai 在事務提交後才寫入資料庫 不同時刻的處理 恢...