數(shù)據(jù)庫相關(guān)概念

數(shù)據(jù)庫事務(wù):是指作為單個邏輯工作單元執(zhí)行的一系列操作,要么完全地執(zhí)行,要么完全地不執(zhí)行。 事務(wù)處理可以確保除非事務(wù)性單元內(nèi)的所有操作都成功完成,否則不會永久更新面向數(shù)據(jù)的資源。通過將一組相關(guān)操作組合為一個要么全部成功要么全部失敗的單元,可以簡化錯誤恢復(fù)并使應(yīng)用程序更加可靠。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、中原網(wǎng)站維護、網(wǎng)站推廣。

 1).事務(wù)相關(guān)屬性:

  • 1.原子性

  • 事務(wù)必須是原子工作單元;對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。通常,與某個事務(wù)關(guān)聯(lián)的操作具有共同的目標(biāo),并且是相互依賴的;如果系統(tǒng)只執(zhí)行這些操作的一個子集,則可能會破壞事務(wù)的總體目標(biāo),原子性消除了系統(tǒng)處理操作子集的可能性;

  • 2.一致性

事務(wù)在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。在相關(guān)數(shù)據(jù)庫中,所有規(guī)則都必須應(yīng)用于事務(wù)的修改,以保持所有數(shù)據(jù)的完整性。事務(wù)結(jié)束時,所有的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如 B 樹索引或雙向鏈表)都必須是正確的;

3:隔離性

由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離。事務(wù)查看數(shù)據(jù)時數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不會查看中間狀態(tài)的數(shù)據(jù)。這稱為隔離性,因為它能夠重新裝載起始數(shù)據(jù),并且重播一系列事務(wù),以使數(shù)據(jù)結(jié)束時的狀態(tài)與原始事務(wù)執(zhí)行的狀態(tài)相同。當(dāng)事務(wù)可序列化時將獲得最高的隔離級別。在此級別上,從一組可并行執(zhí)行的事務(wù)獲得的結(jié)果與通過連續(xù)運行每個事務(wù)所獲得的結(jié)果相同。由于高度隔離會限制可并行執(zhí)行的事務(wù)數(shù),所以一些應(yīng)用程序降低隔離級別以換取更大的吞吐量;

4.持久性

事務(wù)完成之后,它對于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持;

2).事務(wù)的三種模型:

  1. 1.隱式事務(wù)是指每一條數(shù)據(jù)操作語句都自動地成為一個事務(wù),事務(wù)的開始是隱式的,事務(wù)的結(jié)束有明確的標(biāo)記;

  2. 2.顯式事務(wù)是指有顯式的開始和結(jié)束標(biāo)記的事務(wù),每個事務(wù)都有顯式的開始和結(jié)束標(biāo)記;

  3. 3.自動事務(wù)是系統(tǒng)自動默認(rèn)的,開始和結(jié)束不用標(biāo)記;

3).使用事務(wù)的語句:

  1. 開始事物:BEGIN  TRANSACTION

  2. 提交事物:COMMIT  TRANSACTION

  3. 回滾事務(wù):ROLLBACK  TRANSACTION

  4. 索引:索引是對數(shù)據(jù)庫表中一個或多個列的值進(jìn)行排序的數(shù)據(jù)結(jié)構(gòu),是用于提高在數(shù)據(jù)庫表中訪問數(shù)據(jù)的速度的數(shù)據(jù)庫對象。索引就比如書的目錄,如果沒有索引,要想在數(shù)據(jù)庫中查找某一特定的值就需要遍歷整個數(shù)據(jù)庫表,但是有了索引之后就可以在索引當(dāng)中查找,有助于更快地獲取信息;

  5. 索引可分為聚集索引和非聚集索引。

聚集索引:是按照數(shù)據(jù)存放的物理位置為順序的;而非聚集索引中,表數(shù)據(jù)存儲順序與索引順序無關(guān);一張表上只能創(chuàng)建一個聚集索引,因為真實數(shù)據(jù)的物理順序只可能是一種;如果一張表沒有聚集索引,那么它被稱為“堆集”,這樣的表中的數(shù)據(jù)行沒有特定的順序,所有的新行將被添加到表的末尾位置。

  1.     一條索引記錄中包含的基本信息有:鍵值(定義索引時指定的所有字段的值)+邏輯指針(指向數(shù)據(jù)頁或另一索引頁);

  2. 根據(jù)數(shù)據(jù)庫的功能,可以在數(shù)據(jù)庫設(shè)計器中創(chuàng)建三種索引:

  3. 唯一索引 :是不允許其中任何兩行具有相同索引值的索引

  4. 當(dāng)現(xiàn)有數(shù)據(jù)中存在重復(fù)的鍵值時,大多數(shù)數(shù)據(jù)庫不允許將新創(chuàng)建的唯一索引與表一起保存。數(shù)據(jù)庫還可能防止添加將在表中創(chuàng)建重復(fù)鍵值的新數(shù)據(jù)。例如,如果在employee表中職員的姓(lname)上創(chuàng)建了唯一索引,則任何兩個員工都不能同姓;

  5. 主鍵索引:該索引要求主鍵中的每個值都唯一。當(dāng)在查詢中使用主鍵索引時,它還允許對數(shù)據(jù)的快速訪問

  6. 主鍵:數(shù)據(jù)庫表經(jīng)常有一列或多列組合,其值唯一標(biāo)識表中的每一行

  7. 聚集索引

  8. 在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同。一個表只能包含一個聚集索引;如果某索引不是聚集索引,則表中行的物理順序與鍵值的邏輯順序不匹配。與非聚集索引相比,聚集索引通常提供更快的數(shù)據(jù)訪問速度。

  9.     雖然說建立索引的目的是加快對表中記錄的查找或排序,但是為表設(shè)置索引要付出代價的:一是增加了數(shù)據(jù)庫的存儲空間,二是在插入和修改數(shù)據(jù)時要花費較多的時間(因為索引也要隨之變動)。數(shù)據(jù)庫索引就是為了提高表的搜索效率而對某些字段中的值建立的目錄 ;其各有優(yōu)缺點:

  10. 優(yōu)點:創(chuàng)建索引可以大大提高系統(tǒng)的性能;

  11. 通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性;

  12. 可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因;

  13. 可以加速表和表之間的連接,特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義;

  14. 在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間;

  15. 第五,通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。

  16. 缺點:增加索引也有許多不利的方面;

  17. 創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數(shù)據(jù)量的增加而增加;

  18. 索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大;

  19. 當(dāng)對表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時候,索引也要動態(tài)的維護,這樣就降低了數(shù)據(jù)的維護速度。

  20. 存儲引擎:

  21.        MySQL中的數(shù)據(jù)用各種不同的技術(shù)存儲在文件(或者內(nèi)存)中,這些技術(shù)中的每一種技術(shù)都使用不同的存儲機制、索引技巧、鎖定水平并且最終提供廣泛的不同的功能和能力,通過選擇不同的技術(shù),能夠獲得額外的速度或者功能,從而改善應(yīng)用的整體功能。這些不同的技術(shù)以及配套的相關(guān)功能在MySQL中被稱作存儲引擎(也稱作表類型);

  22.  MySQL默認(rèn)配置了許多不同的存儲引擎,可以預(yù)先設(shè)置或者在MySQL服務(wù)器中啟用。可以選擇適用于服務(wù)器、數(shù)據(jù)庫和表格的存儲引擎,以便在選擇如何存儲你的信息、如何檢索這些信息以及需要數(shù)據(jù)結(jié)合什么性能和功能的時候能提供最大的靈活性。

  23.  觸發(fā)器:是一種特殊類型的存儲過程,它在指定的表中的數(shù)據(jù)進(jìn)行變化的時候自動生效;觸發(fā)器是一個特殊的事務(wù)單元,可以引用其他表中的列執(zhí)行特殊的業(yè)務(wù)規(guī)則或數(shù)據(jù)邏輯關(guān)系。一旦定義,任何用戶對表的INSERT、UPDATE 或 DELETE均由服務(wù)器自動激活相應(yīng)的觸發(fā)器。觸發(fā)器可以查詢其它表。將觸發(fā)器和觸發(fā)它的語句作為可在觸發(fā)器內(nèi)回滾的單個事務(wù)對待。如果檢測到嚴(yán)重錯誤(例如,磁盤空間不足),則整個事務(wù)即自動回滾,即撤銷。

  24. 觸發(fā)器類型分為兩種(按照所觸發(fā)動作的間隔尺寸):

  25. 行級觸發(fā)器(FOR EACH ROW):觸發(fā)動作根據(jù)某個表的行數(shù)執(zhí)行相應(yīng)次

  26. 語句級觸發(fā)器(FOR EACH STATEMENT):無論該表有多少行,觸發(fā)動作只發(fā)生一次

  27. 在建立觸發(fā)器時,還必須指定觸發(fā)操作:insert、update、delete操作,至少指定一種,也可指定多種;

  28. 創(chuàng)建觸發(fā)器:

    create trigger<觸發(fā)器名>{ before|after} <觸發(fā)事件> ON <表名>

  29. for each{row|statement}

  30. [when <觸發(fā)條件>]

  31. <觸發(fā)動作體>

文章名稱:數(shù)據(jù)庫相關(guān)概念
文章網(wǎng)址:http://bm7419.com/article42/gegohc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、用戶體驗移動網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、網(wǎng)站維護、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)