Mysql資料庫基礎知識整理
參考資料:
MySQL分區:https://www.bilibili.com/video/BV1E7411q7Nx
MySQL_基礎+進階篇- 資料庫 -sql -mysql教程_mysql視訊_mysql入門_尚矽谷:https://www.bilibili.com/video/BV12b411K7Zu
實體書籍:資料庫事務并發處理的藝術 事務管理與并發控制 李海翔 等著
博文中部分圖檔和文字源自網絡。部分文字,因學習時記錄的筆記時間已久遠,無法找到出處,侵删。
資料庫并發問題
Mysql資料庫事務的實作方式及并發相關: https://blog.csdn.net/qq_41605114/article/details/108716218
Mysql資料庫調優
Mysql資料庫調優——分區: https://blog.csdn.net/qq_41605114/article/details/108693426
Mysql資料庫調優——索引:https://blog.csdn.net/qq_41605114/article/details/108693457
1,範式問題
1.1 函數依賴
函數依賴:A------->B,如果通過A屬性(屬性組)的值,可以确定唯一B屬性的值。則稱B依賴于A
學号-------->姓名,(學号,課程)--------->分數
完全函數依賴:A------->B,如果A是一個屬性(屬性組),則B屬性值得确定需要依賴于A屬性組中所有的屬性值
(學号,課程)---------> 分數
部分函數依賴:A------->B,如果A是一個屬性(屬性組),則B屬性值得确定隻需要依賴于A屬性組中一項的屬性值
(學号,課程)--------->姓名
傳遞函數依賴:A------->B,B------->C,如果A屬性(屬性組)的值,可以确定唯一的B屬性的值,再通過B屬性(屬性組)的值可以确定唯一屬性的值,則稱C傳遞函數依賴于A
學号------->系名,系名------->系主任
1.2 第一/二/三範式
了解了函數依賴,就可以了解第一/第二/第三範式了。
第一範式:如果資料庫表中的所有字段值都是不可分解的原子值,就說明該資料庫表滿足了第一範式
第二範式:第二範式需要確定資料庫表中的每一列都和主鍵相關,消除部分函數依賴
第三範式:確定資料表中的每一列資料都和主鍵直接相關,而不能間接相關,消除傳遞函數依賴
2,sql語言分類
1,資料定義語言DDL(Data Definition Language)
create,drop,alter
主要為以上操作,即對邏輯結構等有操作的,其中包含表結構,視圖和索引。
2,資料查詢語言DQL(Data Query Language)
以select為關鍵字,各種簡單查詢,連接配接查詢等,都屬于DQL
3,資料操縱語言DML(Data Manipulation Language)
Insert,update,delete
主要為以上操作,即對資料進行操作的,對應上面所說的查詢操作DQL和DML共同建構了多數初級程式員常用的增删改查操作。
查詢被劃分到了DQL中。
4,資料控制功能DCL(Data Control Language)
commit,rollback等