Mysql查漏补缺笔记
目錄
- 查漏補缺筆記2019/05/19
- 文件格式后綴
- 丟失修改,臟讀,不可重復讀
- 超鍵,候選鍵,主鍵
- 構S(Stmcture)/完整性I(Integrity)/數據操縱M(Malippulation)
- 關系范式
- 系統設計
- 數據庫語言
- 兩段協議
- SQL聯表查詢,函數substr,right
查漏補缺筆記2019/05/19
文件格式后綴
數據庫文件的擴展名為.DBC
數據表文件的擴展名為 .DBF
表單文件的擴展名為 .SCX
項目文件的擴展名為 .PJX
丟失修改,臟讀,不可重復讀
事務之間的對數據的并發操作會帶來三種問題:丟失修改,臟讀,不可重復讀。
丟失修改:一個事務讀取一個數據時,另外一個事務也訪問該同一數據。那么,在第一個事務中修改了這個數據后,第二個事務也修改了這個數據。這樣第一個事務內的修改結果就被丟失,因此稱為丟失修改。
臟讀:當一個事務正在訪問數據并且對數據進行了修改,而這種修改還沒有提交到數據庫中,這時另外一個事務也訪問這個數據,然后使用了這個數據。因為這個數據是還沒有提交的數據,那么另外一個事務讀到的這個數據是臟數據,根據臟數據的操作可能是不正確的。
不可重復讀:一個事務內多次讀同一數據。在這個事務還沒有結束時,另外一個事務也訪問該同一數據。那么,在第一個事務中的兩次讀數據之間,由于第二個事務的修改,這就發生了在一個事務內兩次讀到的數據是不一樣的情況,因此稱為是不可重復讀。
超鍵,候選鍵,主鍵
超鍵:在一個關系表中,能唯一標識一行的屬性或屬性集稱為關系的超鍵。
候選鍵:如果一個屬性集能唯一標識行,且又不含多余的屬性,那么這個屬性集就稱為關系的候選鍵。
主鍵:如果一個關系表中有多個候選鍵,則選擇其中一個鍵作為關系的主鍵,用主鍵可以表示任意兩行記錄不相同。
構S(Stmcture)/完整性I(Integrity)/數據操縱M(Malippulation)
最小關系系統僅支持數據結構s和數據操作I關系范式
關系范式:
1NF:指列的原子性,即列不可再分為其他幾列;
2NF:包含1NF,外加:(1)表必須有主鍵;(2)未包含在主鍵中的列必須完全依賴于主鍵
3NF:包含2NF,外加:非主鍵列必須直接依賴于主鍵,不可存在傳遞依賴
系統設計
1需求分析階段,分析用戶需求
2概念設計階段,設計E-R圖形
3邏輯設計階段,設計表格
5物理設計階段,設計數據庫的存儲方式和存儲路徑
6實現階段
7實施維護階段
數據庫語言
DQL(Data Query Language):數據查詢語言
關鍵字:select
查詢數據
DML(Data Manipulation Language):數據操作語言
關鍵字:insert、delete、update
插入、刪除、更改數據
DDL(Data Denifition Language):數據定義語言
關鍵字:create、drop、alter
創建、刪除、更改表結構
TCL(Trasactional Conrtol Language):事務控制語言
關鍵字:commit、rollback
用來提交和回滾事務
DCL(Data Conrtol Language):數據控制語言
關鍵字:grant、revoke
用來設置或更改數據庫用戶或角色權限
兩段協議
兩段鎖協議是指每個事務的執行可以分為兩個階段:生長階段(加鎖階段)和衰退階段(解鎖階段)
? 加鎖階段:在該階段可以進行加鎖操作。在對任何數據進行讀操作之前要申請并獲得S鎖,在進行寫操作之前要申請并獲得X鎖。加鎖不成功,則事務進入等待狀態,直到加鎖成功才繼續執行。
? 解鎖階段:當事務釋放了一個封鎖以后,事務進入解鎖階段,在該階段只能進行解鎖操作不能再進行加鎖操作
? 兩段鎖協議要求每個事務中,所有的封鎖請求先于所有的解鎖請求,事務T1前面都是加鎖階段階段,后面都是解鎖階段滿足要求。
而事務T2又加鎖又解鎖,不滿足要求。
SQL聯表查詢,函數substr,right
A INNER JOIN B:返回A和B中符合on條件式的記錄
A LEFT JOIN B:返回A中的所有記錄和B中符合on條件式的記錄
A RIGHT JOIN B:返回B中的所有記錄和A中符合on條件式的記錄
SUBSTR用法:
1.SBUSTR(str,pos);
就是從pos開始的位置,一直截取到最后;(A√)
2.1.SBUSTR(str,pos,len);
就是從pos開始的位置,截取len長度;(B√)
RIGHT用法
right(a,b)函數表示的是從字符表達式最右邊一個字符開始返回指定數目的字符.若 b 的值大于 a 的長度,則返回字符表達式的全部字符a.如果 b 為負值或 0,則返回空字符串.
(D√)
轉載于:https://www.cnblogs.com/liguo-wang/p/10888575.html
總結
以上是生活随笔為你收集整理的Mysql查漏补缺笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Windows Server Back
- 下一篇: 测试开发面试准备之python sele