




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.數(shù)據(jù)庫安全性和完整性的區(qū)別?數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法使用所造成的數(shù)據(jù)泄漏/更改和破壞。而數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)的正確性是指數(shù)據(jù)是符合世界語義,反映當(dāng)前實際情況的;數(shù)據(jù)的相容性是指數(shù)據(jù)庫同一對象在不同關(guān)系表中的數(shù)據(jù)是符合邏輯的。2.存儲過程與函數(shù)的區(qū)別?背景:過程化SQL化主要有兩種類型,即命名塊和匿名塊。匿名塊每次執(zhí)行時都要進行編譯,它不能被存儲到數(shù)據(jù)庫中,也不能在其他過程化SQL化塊中調(diào)用。聯(lián)系:存儲過程和函數(shù)都是命名塊,它們編譯后被存儲在數(shù)據(jù)庫中,稱為持久性存儲模塊,可以被反復(fù)調(diào)用,運行速度較快。:區(qū)別:函數(shù)必須指定返回的類型3.數(shù)據(jù)庫與文件系統(tǒng)的
2、區(qū)別:處理方式:數(shù)據(jù)的管理者:數(shù)據(jù)面向的對象數(shù)據(jù)的共享程度數(shù)據(jù)的獨立性聯(lián)機實時處理、批處理文件系統(tǒng)某一應(yīng)用共享性差,冗余度大獨立性差聯(lián)機實時處理、分布處理、批處理數(shù)據(jù)庫管理系統(tǒng)現(xiàn)實世界處理方式:數(shù)據(jù)的管理者:數(shù)據(jù)面向的對象數(shù)據(jù)的共享程度數(shù)據(jù)的獨立性聯(lián)機實時處理、批處理文件系統(tǒng)某一應(yīng)用共享性差,冗余度大獨立性差聯(lián)機實時處理、分布處理、批處理數(shù)據(jù)庫管理系統(tǒng)現(xiàn)實世界(一個部門、企業(yè))共享性高,冗余度小高度的物理獨立性和一定的邏輯獨立性數(shù)據(jù)的結(jié)構(gòu)化(本質(zhì)區(qū)別)記錄內(nèi)有結(jié)構(gòu),數(shù)據(jù)控制能力應(yīng)用程序自己控制聯(lián)系:(1)均為數(shù)據(jù)組織的管理技術(shù);(2)整體無結(jié)構(gòu)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)
3、安全性、完整性、并發(fā)控制和恢復(fù)能力均由數(shù)據(jù)管理軟件管理數(shù)據(jù),程序與數(shù)據(jù)之間用存取方法進行轉(zhuǎn)換;(3)數(shù)據(jù)庫系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展而來的。.事務(wù)隔離性背景:事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。一個事務(wù)可以是一條SQL語句、一組SQL語句或整個程序。事務(wù)和程序是兩個概念,一般來講,一個程序中包含多個事務(wù)。ACID特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續(xù)性(Durablity)1)原子性:事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。2)一致性:事務(wù)執(zhí)行
4、的結(jié)果必須使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。3)隔離性:一個事務(wù)的執(zhí)行不能被其他事務(wù)打擾。即一個事務(wù)的內(nèi)部操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。4)持續(xù)性:也稱永久性。是指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果由任何影響。.不可重復(fù)讀現(xiàn)象背景:事務(wù)是并發(fā)控制的基本單位。數(shù)據(jù)庫管理系統(tǒng)為保證事務(wù)的隔離性和一致性需要對并發(fā)操作進行正確調(diào)度。并發(fā)操作帶來的數(shù)據(jù)不一致性包括丟失修改、不可重復(fù)度和讀“臟”數(shù)據(jù)1)丟失修改:兩個事務(wù)T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了T1提交的結(jié)果,
5、導(dǎo)致T1的修改被丟失。2)不可重復(fù)讀:指事務(wù)T1讀取數(shù)據(jù)后,事務(wù)T2執(zhí)行更新(修改或刪除或插入)操作,使T1無法再現(xiàn)前一次讀取結(jié)果。3)讀“臟”數(shù)據(jù):事務(wù)T1修改某一數(shù)據(jù)并講其寫回磁盤,事務(wù)T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時被T1修改過的數(shù)據(jù)恢復(fù)原值。T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù)。增加:解決方法:并發(fā)控制的技術(shù):封鎖、時間戳、樂觀控制法和多版本并發(fā)控制。1)封鎖:事務(wù)T對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。再釋放它的鎖之前,其他事務(wù)不能更新此數(shù)據(jù)對象。時間戳:給每一個事務(wù)蓋上一個時標(biāo),即事務(wù)開始執(zhí)行的時間。每個
6、事務(wù)具有唯一的時間戳,并按照這個時間戳來解決事務(wù)的沖突操作。如果發(fā)生沖突操作,就回滾具有較早時間戳的事務(wù),以保證其他事務(wù)的正常執(zhí)行,被回滾的事務(wù)被賦予新的時間戳并從頭開始執(zhí)行。樂觀控制法:認(rèn)為事務(wù)執(zhí)行時很少發(fā)生沖突,因此不對事務(wù)進行特殊的管制,而是讓它自由執(zhí)行,事務(wù)提交前再進行正確性檢查。如果檢查后發(fā)現(xiàn)該事務(wù)執(zhí)行中出現(xiàn)過沖突并影響了可串行性,則拒絕提交并回滾該事務(wù)。又被稱為驗證方法。多版本并發(fā)控制:指在數(shù)據(jù)庫中通過維護數(shù)據(jù)對象的多個版本信息來實現(xiàn)高效并發(fā)控制的一種策略。.兩類數(shù)據(jù)模型:數(shù)據(jù)模型(口818Model)是現(xiàn)實世界數(shù)據(jù)特征的抽象,或者說是現(xiàn)實世界的數(shù)據(jù)模擬。是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。
7、數(shù)據(jù)庫中,用數(shù)據(jù)模型來抽象地表示現(xiàn)實世界的數(shù)據(jù)和信息。數(shù)據(jù)模型的三要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及完整性約束條件。第一類是概念模型,第二類是邏輯模型和物理模型。第一類概念模型,也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計。概念模型的表示方法:實體一聯(lián)系方法(E-R圖)第二類中的邏輯模型主要包括層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο髷?shù)據(jù)模型和對象關(guān)系數(shù)據(jù)模型、半結(jié)構(gòu)化數(shù)據(jù)模型等。第二類中的物理模型是對數(shù)據(jù)最底層的抽象,它描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,或在磁盤或磁帶上存儲方式和存取方法,是面向計算機系統(tǒng)的。物理模型的具體實現(xiàn)是數(shù)據(jù)庫管理系統(tǒng)的任務(wù),數(shù)據(jù)庫的設(shè)計人員要了解
8、和選擇物理模型,最終用戶則不必考慮物理級的細(xì)節(jié)。數(shù)據(jù)模型的組成要素:數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的完整性約束條件組成。數(shù)據(jù)結(jié)構(gòu):描述數(shù)據(jù)庫的組成對象以及對象之間的聯(lián)系。數(shù)據(jù)操作:指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)的完整性約束條件是一組完整性規(guī)則。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。.并發(fā)控制的相關(guān)概念一級封鎖協(xié)議,二級封鎖協(xié)議,三級封鎖協(xié)議?;铈i(先來先服務(wù)解決),死鎖。死鎖判斷:超時法,等待圖法(判斷圖中是否存在回路)。.
9、并發(fā)調(diào)度的可串行性:可串行化調(diào)度:多個事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行這些事務(wù)時的結(jié)果相同??纱行允遣l(fā)事務(wù)正確調(diào)度的準(zhǔn)則。沖突操作是指不同的事務(wù)對同一數(shù)據(jù)的讀寫操作和寫寫操作。一個調(diào)度在保證沖突操作的次序不變的情況下,通過交換兩個事務(wù)不沖突操作的次序得到另一個調(diào)度,如果這個調(diào)度是串行的,稱調(diào)度為沖突可串行化的調(diào)度。沖突可串行化調(diào)度是可串行化調(diào)度的充分條件。兩段鎖協(xié)議:目前數(shù)據(jù)庫管理系統(tǒng)普遍采用兩段鎖協(xié)議的方法實現(xiàn)并發(fā)調(diào)度的可串行性,從而保證調(diào)度的正確性。所謂兩段鎖協(xié)議是指所有事務(wù)必須分兩個階段對數(shù)據(jù)項加鎖和解鎖。在對任何數(shù)據(jù)進行讀、寫操作之前,首先要申請并獲得對
10、該數(shù)據(jù)的封鎖;在釋放一個封鎖后,事務(wù)不再申請和獲得任何其他封鎖。封鎖的粒度:封鎖對象的大小稱為封鎖粒度。封鎖粒度和系統(tǒng)額并發(fā)度和并發(fā)控制的開銷密切相關(guān)。多粒度封鎖:如果在一個系統(tǒng)中同時支持多種封鎖粒度供不同的事務(wù)選擇是比較理想的。選擇封鎖粒度應(yīng)該同時考慮封鎖開銷和并發(fā)度兩個因素。多粒度封鎖協(xié)議允許多粒度樹中的每個節(jié)點被獨立地加鎖。對一個節(jié)點加鎖意味著這個結(jié)點的所有后裔結(jié)點也被加以同樣類型的鎖。在多粒度封鎖中一個數(shù)據(jù)對象可能以兩種方式封鎖:顯示封鎖和隱式封鎖。顯示封鎖:應(yīng)事務(wù)要求直接加到數(shù)據(jù)對象上的鎖;隱式封鎖是該數(shù)據(jù)對象沒有被獨立加鎖,是由于其上級結(jié)點加鎖而使該數(shù)據(jù)對象加上了鎖。意向鎖:如果對
11、一個結(jié)點加意向鎖,則說明該結(jié)點的下層結(jié)點正在被加鎖;對人;對任一結(jié)點加鎖時,必須對它的上層結(jié)點加意向鎖。.數(shù)據(jù)庫的四個基本概念數(shù)據(jù):數(shù)據(jù)庫中存儲的基本對象。描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)庫:長期儲存在計算機內(nèi),由組織的、可共享的大量數(shù)據(jù)地集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小額冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。數(shù)據(jù)庫管理系統(tǒng):位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。主要功能有數(shù)據(jù)定義功能,數(shù)據(jù)組織、存儲和管理,數(shù)據(jù)操縱,數(shù)據(jù)庫的事務(wù)管理和運行管理,數(shù)據(jù)庫的建立和維護功能。數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其應(yīng)用開發(fā)工具)、應(yīng)用
12、程序和數(shù)據(jù)庫管理員組成的存儲、管理、處理和維護數(shù)據(jù)的系統(tǒng)。.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)指數(shù)據(jù)庫系統(tǒng)是由外模式、模式和內(nèi)模式三級構(gòu)成。模式:也稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。外模式:稱子模式或用戶模式,是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯模式。內(nèi)模式:也稱存儲模式。一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的組織方式。.數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性。外模式/模式映像:模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)。對應(yīng)
13、于同一個模式可以有任意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系。這些映像定義通常包含在各自外模式的描述中。當(dāng)模式改變時(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)結(jié)構(gòu)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式映像作相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。2)模式/內(nèi)模式映像:數(shù)據(jù)庫只有一個模式,也只有一個內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的。
14、該映像定義通常包含在模式描述中。當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變時,(例如選用了另一中存儲結(jié)構(gòu)),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。數(shù)據(jù)與程序之間的獨立性使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。另外,由于數(shù)據(jù)的存取由數(shù)據(jù)庫管理系統(tǒng)管理,從而簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維和和修改。.關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義1)域:一組具有相同數(shù)據(jù)類型的值的集合2)候選碼:若關(guān)系中的某一屬性組的值能唯一的標(biāo)識一個元祖,而其子集不能,則稱該屬性組為候選碼3)主碼(主鍵):若一個關(guān)系中有多個候選碼,則選
15、定其中一個作為主碼4)外碼:.關(guān)系有三種類型:基本關(guān)系(通常稱為基本表或基表)、查詢表和視圖表?;颈硎菍嶋H存在的表,是實際存儲數(shù)據(jù)的邏輯表示;查詢表是查詢結(jié)果對應(yīng)的表;視圖表是由基本表或其它表或其它視圖導(dǎo)出的表,是虛表,不對應(yīng)實際存儲的數(shù)據(jù)。外碼:.關(guān)系的完整性關(guān)系模型中有三類完整性約束:實體完整性、參照完整性和用戶自定義完整性。其中實體完整性和參照完整性是關(guān)系模型必須滿足的完整性樂素條件,被稱作是關(guān)系當(dāng)?shù)貎蓚€不變性。實體完整性規(guī)則:若屬性(指一個或一組屬性)A是基本關(guān)系R的主屬性,則A不能取空值。參照完整性定義:設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼,Ks是基本關(guān)系S的主碼。如
16、果F與Ks相對應(yīng),則稱F是R的外碼,并稱基本關(guān)系R為參照關(guān)系,基本關(guān)系S為被參照關(guān)系或目標(biāo)關(guān)系。用戶自定義完整性.專門的關(guān)系運算:選擇、投影、連接、除運算、笛卡爾積1)投影:關(guān)系R上的投影是從R中選擇除若干屬性列組成新的關(guān)系。2)連接:從兩個關(guān)系的笛卡爾積中選取選取屬性間滿足一定條件的元祖。常用的連接:等值連接和自然連接。等值連接:從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元祖,即等值連接。自然連接是一種特殊的等值連接。在等值連接的基礎(chǔ)上取消重復(fù)列,一般的連接操作是從行的角度進行運算,但自然連接還需要取消重復(fù)列,所以是同時從行和列的角度進行運算。懸浮元祖:兩個關(guān)系R和S在做自然連接
17、時,選擇兩個關(guān)系在公共屬性上值相等的元祖構(gòu)成新的關(guān)系。此時,關(guān)系R中某些元祖有可能在S中不存在公共屬性上值相等的元祖,從而造成R中這些元祖在操作時被舍棄了。這些被舍棄的元祖稱懸浮元祖。外連接:如果把懸浮元祖也保存在結(jié)果關(guān)系中,而在其它屬性上填空值(NULL),那么這種連接就叫做外連接。左外連接:如果只保留左邊關(guān)系R中的懸浮元祖就叫做左外連接右外連接:3)除運算:設(shè)關(guān)系R除以關(guān)系S的結(jié)果為關(guān)系T,則T包含所有在R但不在S中的屬性及其值,且T的元祖與S的元祖的所有組合都在R中。16.SQL的特點:1)綜合統(tǒng)一.SQL集數(shù)據(jù)查詢語言、數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言于一體2)高度非過程化。只
18、要提出“做什么”,而無需指明“怎么做”,因此無需了解存取路徑。存取路徑的選擇以及SQL的操作過程由系統(tǒng)自動完成。3)面向集合的操作方式。SQL采用集合操作方式,不僅操作對象、查找結(jié)果可以是元祖的集合,而且一次插入、刪除、更新操作的對象也可以是元祖的集合。4)以同一種語法結(jié)構(gòu)提供多種使用方式。5)語言簡潔,易學(xué)易用。SQL功能動詞數(shù)據(jù)查詢SELECT數(shù)據(jù)定義CREATE,DROP,ALTER數(shù)據(jù)操縱INSERT,UPDATE,DELETE數(shù)據(jù)控制GRANT,REVOKE17索引的建立和刪除背景:當(dāng)表的數(shù)據(jù)量比較大時,查詢操作會比較耗時。建立索引是加快查詢速度的有效手段。數(shù)據(jù)庫索引類似于圖書后面的
19、索引,能快速定位到需要查詢的內(nèi)容。用戶可以根據(jù)應(yīng)用環(huán)境的需要在基本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。常見索引方式:順序文件上的索引,B+樹索引、散列索引,位圖索引。順序文件上的索引:針對按指定屬性值升序或降序存儲的關(guān)系,在該屬性上建立一個順序索引文件,索引文件由屬性值和相應(yīng)的元祖指針組成。B+樹索引是將索引屬性組織成B+樹形式,B+樹的葉結(jié)點為屬性值和相應(yīng)的元祖指針。具有動態(tài)平衡的優(yōu)點。散列索引:建立若干個桶,將索引屬性按照其散列函數(shù)值映射到相應(yīng)桶中,桶中存放索引屬性值和相應(yīng)的元祖指針。具有查找速度快的優(yōu)點。位圖索引:用位向量記錄索引屬性中可能出現(xiàn)的值,每個位向量對應(yīng)一
20、個可能值。建立索引:CREATEUNIQUECLUSTERINDEX索引名ON表名(歹IJ名歹IJ名.)索引可以建立在該表的一列或多列上,各列名之間用逗號分割。UNIQUE表明此索引的每一個索引值只對應(yīng)唯一的數(shù)據(jù)記錄。CLUSTER表示要建立的索引是聚簇索引。18.數(shù)據(jù)庫設(shè)計幾大步驟:定義:數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶需求,包括信息管理要求和數(shù)據(jù)操作要求。需求分析階段概念結(jié)構(gòu)設(shè)計階段主要內(nèi)容:1)建立E-R模型2)標(biāo)識實體、標(biāo)識關(guān)系、標(biāo)識實體、關(guān)系的屬性3)確定屬性域
21、確定可用于標(biāo)識實體的屬性,有:主鍵、唯一鍵、外鍵。4)檢查冗余A.首先檢查實體:1對1關(guān)系的實體中有沒有非外鍵的重復(fù)屬性,或者就是同一個實體;B.其次檢查關(guān)系:有沒有通過其他關(guān)系也可以得到的重復(fù)屬性;5)檢查業(yè)務(wù)檢查當(dāng)前的E-R模型是否滿足當(dāng)前業(yè)務(wù)的場景??梢詮哪硞€實體開始,沿著當(dāng)前E-R模型的各個節(jié)點去模擬業(yè)務(wù)場景。尤其需要和需求規(guī)格說明書去做校驗。邏輯結(jié)構(gòu)設(shè)計階段物理結(jié)構(gòu)設(shè)計階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫運行和維護階段19.游標(biāo),以及游標(biāo)的使用方法必須使用游標(biāo)的SQL語句由查詢結(jié)果為多條記錄的SELECT語句、CURRENT形式的UPDATE和DELETE語句。.查詢結(jié)果為多條記錄的SELECT
22、語句一般情況下,SELECT語句查詢結(jié)果是多條記錄,因此需要用游標(biāo)機制將多條記錄一次一條地送主程序處理,從而把對集合的操作轉(zhuǎn)換為單個記錄的處理。1)說明游標(biāo):用DECLARE語句為一條SELECT語句定義游標(biāo)EXECSQLDECLARE游標(biāo)名CURSORFORSELECT語句打開游標(biāo)用open語句將定義的游標(biāo)打開。EXECSQLOPEN;打開游標(biāo)實際上是執(zhí)行相應(yīng)的SELECT語句,把查詢結(jié)果取到緩沖區(qū)中。這時游標(biāo)處于活動狀態(tài),指針指向查詢結(jié)果集中的第一條記錄。推進游標(biāo)指針并取當(dāng)前記錄EXECSQLFETCH游標(biāo)名INTO主變量指示變量習(xí)卜主變量指示變量其中主變量必須與SELECT語句中的目標(biāo)列
23、表達式具有一一對應(yīng)關(guān)系。用FETCH語句把游標(biāo)指針向前推進一條記錄,同時將緩沖區(qū)中的當(dāng)前記錄取出來送至主變量供主語言進一步處理。通過循環(huán)執(zhí)行FETCH語句逐條取出結(jié)果集中的行進行處理。)關(guān)閉游標(biāo)用CLOSE語句關(guān)閉游標(biāo),釋放結(jié)果集占用的緩沖區(qū)及其他資源。EXECSQLCLOSE游標(biāo)名游標(biāo)被關(guān)閉后就不再和原來的查詢結(jié)果集相聯(lián)系。但被關(guān)閉的游標(biāo)可以再次被打開,與新的查詢結(jié)果相聯(lián)系。20.數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法使用所造成的數(shù)據(jù)泄漏、更改或破壞。數(shù)據(jù)庫的不安全因素:非授權(quán)用戶對數(shù)據(jù)庫的惡意存取和破壞數(shù)據(jù)庫中重要或敏感的數(shù)據(jù)被泄漏安全環(huán)境的脆弱性數(shù)據(jù)庫安全性控制用戶身份鑒
24、別:靜態(tài)口令鑒別、動態(tài)口令鑒別、生物特征鑒別、智能卡鑒別存取控制:定義用戶權(quán)限和合法權(quán)限檢查TCSEC/TDI將系統(tǒng)劃分為四組:D、C(C1,C2)、B(B1,B2,B3)、A(A1)C2級是安全產(chǎn)品的最低檔自主存取控制方法:用戶對于不同的數(shù)據(jù)庫對象有不同的存取權(quán)限,不同的用戶對同一對象也有不同的權(quán)限,而且用戶還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。B1級支持強制存取控制。:每一個數(shù)據(jù)庫對象被標(biāo)以一定的密級,每一個用戶也被授予某一個級別的許可證。對于任意一個對象,只有具有合法許可證的用戶才可以存取。授權(quán):授予與收回GRANTSELECTREVOKESELECTONTABLEStudentONTA
25、BLEStudentTOUIFROMUICASCADE/RESTRICT;WITHGRANTOPTION21.請寫出你知道的三種數(shù)據(jù)庫管理系統(tǒng):IBMDB2,oracal數(shù)據(jù)庫,MYSQL,SQLSERVER22數(shù)據(jù)庫恢復(fù)技術(shù)事務(wù)是一系列的數(shù)據(jù)庫操作,是數(shù)據(jù)庫應(yīng)用程序的基本邏輯單元。事務(wù)處理技術(shù)主要包括數(shù)據(jù)庫恢復(fù)計術(shù)和并發(fā)控制技術(shù)。事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。BEGINTRANSACTION;COMMI表示提交,即提交事務(wù)的所有操作。就是將事務(wù)中所有對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中。ROLLBACK;/在事務(wù)運行過程中發(fā)生
26、了某種故障,事務(wù)不能繼續(xù)執(zhí)行,系統(tǒng)將事務(wù)中對數(shù)據(jù)庫的所有已完成的更新操作全部撤銷,回滾到事務(wù)開始時的狀態(tài)。故障的種類和恢復(fù)1)事務(wù)內(nèi)部的故障。2)系統(tǒng)故障(造成系統(tǒng)停止運行的任何事件,使得系統(tǒng)要重新啟動)3)介質(zhì)故障指外存故障,如磁盤損壞、磁頭碰撞,瞬時強磁場干擾等。數(shù)據(jù)庫鏡像4)計算機病毒恢復(fù)的原理:冗余。用冗余數(shù)據(jù)重建建立冗余數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲和登記日志文件。轉(zhuǎn)儲分為動態(tài)轉(zhuǎn)儲和靜態(tài)轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲是在系統(tǒng)中無運行事務(wù)時進行的轉(zhuǎn)儲操作。即轉(zhuǎn)儲操作開始的時刻數(shù)據(jù)庫處于一致性狀態(tài),而轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、修改活動。動態(tài)存儲是指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進行存取或修改。即轉(zhuǎn)儲和用戶事務(wù)
27、可以并發(fā)執(zhí)行。轉(zhuǎn)儲方式轉(zhuǎn)儲狀態(tài)動態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲海量轉(zhuǎn)儲動態(tài)海量轉(zhuǎn)儲靜態(tài)海量轉(zhuǎn)儲增量轉(zhuǎn)儲動態(tài)增量轉(zhuǎn)儲靜態(tài)增量轉(zhuǎn)儲登錄日志文件:是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件恢復(fù)策略:事務(wù)故障的恢復(fù):反向掃描日志文件,查找該事務(wù)的更新操作。對該事務(wù)的更新操作執(zhí)行逆操作。系統(tǒng)故障的恢復(fù):正向掃描日志文件,找出在故障發(fā)生前已經(jīng)提交的事務(wù),將其事務(wù)標(biāo)識記入重做隊列。同時找出故障發(fā)生時尚未完成的事務(wù),將其事務(wù)標(biāo)識記入撤銷隊列。對撤銷隊列中的各個事務(wù)進行撤銷處理。對重做隊列中的各個事務(wù)進行重做處理。介質(zhì)故障的恢復(fù):重裝數(shù)據(jù)庫,重做已完成的事務(wù)。具有檢查點的恢復(fù)技術(shù):增加一個重新開始文件,并讓恢復(fù)子系統(tǒng)在登錄日志文件
28、期間動態(tài)的維護日志。.觸發(fā)器用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程。一旦定義,觸發(fā)器將被保存在數(shù)據(jù)庫服務(wù)器中。任何用戶對表的增刪改操作均由服務(wù)器自動激活相應(yīng)的觸發(fā)器,在關(guān)系數(shù)據(jù)庫管理系統(tǒng)核心層進行集中的完整性控制。定義觸發(fā)器:觸發(fā)器又叫事件-條件-驅(qū)動規(guī)則。當(dāng)特定的系統(tǒng)事件(如對一個表的增、刪、改操作,事務(wù)的結(jié)束等)發(fā)生時,對規(guī)則的條件進行檢查,如果條件成立則執(zhí)行規(guī)則中的動作,否則不執(zhí)行該動作。格式:CREATETRIGGERSC_TAFTER/BEFOREUPDATEOFGradeONSCREFERENCINGNEW/OLDTABLEASDELTAFOREACHSTATEMENT/ROWINSERTINTOStudentInsertLog(Numbers)SELECTCOUNT(*)FROMDELTA激活觸發(fā)器:激活順序:1)執(zhí)行該表上的BEFORE觸發(fā)器2)激活觸發(fā)器的SQL語句3)執(zhí)行該表上的AFTER觸發(fā)器。刪除觸發(fā)器:DROPTRIGGERON表名.規(guī)范化范式:關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定要求的,滿足不同程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新建清淤溝施工方案
- 魚池裝飾改造方案范本
- 6年級上冊方程
- 5年級下冊語英語書
- 等邊角鋼的規(guī)格型號
- 地下碳儲發(fā)展文章
- 2024年海南省海東市樂都區(qū)部分學(xué)校中考語文一模試卷
- 2025年重慶化工職業(yè)學(xué)院單招職業(yè)傾向性考試題庫附答案
- 2025年延安職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 2025年關(guān)于憲法知識競賽培訓(xùn)試題及答案
- 頂管專項施工方案
- 農(nóng)田土壤改良項目實施方案
- 2024年湖北省公務(wù)員錄用考試《行測》試題及答案解析
- 2024中國兒童大腦發(fā)育白皮書
- 某幼兒園食物中毒事故應(yīng)急預(yù)案
- DB61T 5097-2024 強夯法處理濕陷性黃土地基技術(shù)規(guī)程
- 南瓜小房子故事課件
- 2024-2030年中國地鐵廣告行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 高等職業(yè)學(xué)校人工智能技術(shù)應(yīng)用專業(yè)實訓(xùn)教學(xué)條件建設(shè)標(biāo)準(zhǔn)
- 2025年高考生物總復(fù)習(xí):減數(shù)分裂和受精作用
- 運動損傷預(yù)測與預(yù)防技術(shù)
評論
0/150
提交評論