資料庫綜合總結

2021-10-01 21:10:03 字數 2070 閱讀 2821

主鍵自增並不適用於高併發的情況下,應該自己設定id的生成演算法
事務亟待解決的問題有:髒讀,不可重複度,幻讀

讀未提交 read uncommitted 事務最低的隔離級別(會引起髒讀,不可重複度,幻讀)

乙個事物可以讀取到另乙個事物未提交的資料

讀已提交 read committed (避免了髒讀,但是會引起不可重複度,幻讀)

概念: 乙個事務要等待乙個事物完成提交後,才能進行讀取操作,故解決了髒讀的問題

表示當兩次同樣的查詢操作,查詢出的兩次結果是不同的,因為當中允許修改操作,故會引起不可重複讀

可重複度 repeatable read (避免了髒讀,不可重複讀)

概念:表示當兩次同樣的查詢操作,中間不在允許修改資料操作,故可以避免了不可重複讀

序列化 serializable 最可靠的事務隔離級別(還可以解決幻讀的問題【幻讀的問題也就是兩個事物之間發生的insert操作)】

資料定義語言 ddl(data define language)

資料操縱語言 dml(data manipulation language)

資料查詢語言 dql(data query language)

資料控制語言 dcl(data control language)

事務控制語言 tcl(transaction control language)

索引的乙個主要目的就是加快檢索表中資料的方法,亦即能協助資訊搜尋者盡快的找到符合限制條件的記錄id的輔助資料結構.
防止sql注入.當傳入的語句部分含有sql語句的關鍵字的時候,就會破壞sql語句的結構
最大值是500-1000左右.

故因此提出了快取的概念.

需要查詢兩張表同時存在的資料,使用內連線

需要查詢兩張表中一張表存在,另一張表不存在的時候使用左外連線或右外連線,例如老師和沒有老師的學生

sql:

(1)外連線查詢:左右外連線查詢:左

select * from table1 t1 left join table2 t2 on where t1.id=t2._id;

(2)排序查詢

公升序排序

select * from table order by id asc

降序排序

select * from table order by id desc

什麼是顯式提交,什麼是隱式提交?

顯式提交也就是commit

隱式提交是:sql命令間接完成的提交為隱式提交,隱式提交不能回滾

自動提交:autocommit設定為on

慎用全模糊查詢(%...%),左模糊查詢(%...),都會導致全表掃瞄,但是右模糊查詢(...%)則不會全表查詢.    like %aa%  --> aa%

應盡量避免在where字句中對字段進行表示式操作, select a from table where a/2 >10

--> select a from table where a>20;

第一正規化:原子性 字段不可再分,否則就不是關聯式資料庫;(列表字段不可分)

第二正規化:唯一性 要求資料庫表中的每個記錄必須可以被惟一地區分

第三正規化:每列都與主鍵有直接關係,而不是間接相關

三大正規化的優點和缺點:

優點:結構合理,可以避免插入刪除修改資料錯誤

缺點:效能降低,多表查詢比單標查詢速度慢

開始:開始執行dml資料操縱語言

結束:執行提交commit或回滾語句rollback;

定義:索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄.

索引的缺點:

索引需要占用磁碟空間,且建立索引的時候需要對錶進行加鎖,且占用磁碟空間為普通表的1.5倍

分類:

當查詢的內容不和任何表中的資料有關係的時候,可以使用偽表,偽錶能會查詢出一條記錄

pl sql資料庫開發綜合例項

1.功能設計 某高校開發的研究生招生系統,要求設計pl sql程式對考生的成績資料進行處理,處理的邏輯是根據每門專業課的最低分數線和總分的最低分數線自動將考生歸類為錄取考生,調劑考生和落選考生。為此設計兩個資料表,graduate資料表存放考生成績,resut資料表存放處理結果,pl sql程式完成...

msyql理論4 資料庫綜合

資料庫綜合彙總知識 一 資料型別 mysql常見資料型別 1 數字型別 tinyint smallint mediumint int bigint 2 浮點型別 double float 3 日期型別 date time datetime 2020 12 22 10 40 46 timestamp ...

c 資料庫訪問服務(綜合資料庫操作)

還是重複的說下資料庫操作封裝。berkeley db資料庫,redis資料庫,sqlite資料庫。每個資料庫操作封裝各乙個專案。可以單獨使用。可以複製 使用。這裡說明下這個服務的內容。net core實現 服務端提供多種資料庫,將常用資料庫封裝。netcsdb.dll是控制台服務。啟動即可。客戶端有...