17-MySQL數(shù)據(jù)完整性

在使用一個功能時,我們會接觸到不懂的概念,概念之所以被定義是為了將小的問題封裝,專注更復(fù)雜的問題,數(shù)據(jù)完整性就是數(shù)據(jù)庫中的一個概念,了解了它,有利于我們繼續(xù)學(xué)習(xí),去解決更復(fù)雜的問題

一.實體完整性

image.png

1.1.實體完整性(行的完整性)
- 一行數(shù)據(jù)是否完整, 如果多條數(shù)據(jù)相同, 無法區(qū)分, 我們稱之為實體不完整
name score
lnj 100
lnj 100
- 添加主鍵約束
id name score
1 lnj 100
2 lnj 100
- 添加唯一鍵約束
name score
lnj 100
zq 100
- 自動增長列
id name score
1 lnj 100
2 lnj 100
By 極客江南

二.域完整性

image.png

1.2.域完整性(列完整性)
某一列數(shù)據(jù)是否完整, 如果出現(xiàn)null, 不匹配的數(shù)據(jù) 都表示不完整
id name score
1 lnj 100
2 zq null
2 zq tyt
- 數(shù)據(jù)類型約束
id name score
1 lnj 100
2 zq null
2 zq 0
- 非空約束
id name score
1 lnj 100
2 zq 0
2 zq 0
- 默認值約束
id name score
1 lnj 100
2 zq 59.5
2 zq 0
By 極客江南

三.引用完整性

image.png

1.3.引用完整性
- 默認情況下多張表之間是沒有任何關(guān)系的, 所以給A表可以隨意插入數(shù)據(jù), 給B表也可以隨意插入數(shù)據(jù)
- 例如有一張學(xué)生表和一張成績表, 要求成績表中保存的必須是學(xué)生表中每個學(xué)生的成績
+ 學(xué)生表
+ id name
+ 1 lnj
+ 2 zq
+ 成績表
+ id stuid score
+ 1 1 100
+ 2 3 99
+ 3 2 86
- 可以通過外鍵約束添加表與表之間的關(guān)系,告訴MySQL在插入數(shù)據(jù)的時候, 檢查是否存在依賴的數(shù)據(jù), 存在才可以插入...
By 極客江南

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、上堂回顧 1.概念? 數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫,表? SQL的分類:DDL、DML、DQL、DCL2.數(shù)據(jù)庫的使...
    WenErone閱讀 469評論 0 0
  • 一、數(shù)據(jù)庫操作 3.DQL 3.7分組查詢 group by:分組查詢 將字段中相同值歸為一組having:...
    鄭元吉閱讀 332評論 0 0
  • 一、數(shù)據(jù)的完整性之實體完整性 數(shù)據(jù)的完整性作用:保證用戶輸入的數(shù)據(jù)保存到數(shù)據(jù)庫中是正確的。實質(zhì):創(chuàng)建表的時候給表中...
    慕楊_閱讀 236評論 0 1
  • 這世界是看表現(xiàn)好壞,不是看努力多寡的。 穆熙妍,微信號(muxiyanwixin),英文名Crystal,1979...
    圖癢閱讀 703評論 2 5
  • 第一步:html寫UI 加入提示信息 第二步:qmviews.py文件編寫視圖函數(shù) 第三步:urls.文件添加路由
    LittleJessy閱讀 676評論 0 0

友情鏈接更多精彩內(nèi)容