




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、 數(shù)據(jù)庫(kù)一、數(shù)據(jù)庫(kù)概念數(shù)據(jù)庫(kù)經(jīng)歷了人工管理、文件系統(tǒng)到數(shù)據(jù)庫(kù)系統(tǒng)3個(gè)階段。數(shù)據(jù)庫(kù)是具有邏輯關(guān)系和確定意義的數(shù)據(jù)結(jié)合,它能克服文件組織中所產(chǎn)生的一系列問(wèn)題,數(shù)據(jù)冗余小,由于關(guān)系模型數(shù)據(jù)管理系統(tǒng)對(duì)于信息查詢具有很大的靈活性,并且設(shè)計(jì)簡(jiǎn)單,所以已經(jīng)被廣泛使用在了十幾的系統(tǒng)開(kāi)發(fā)中。二、關(guān)系數(shù)據(jù)庫(kù)與文件數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別關(guān)系數(shù)據(jù)庫(kù)是一個(gè)被組織成一組正式描述的表格的數(shù)據(jù)項(xiàng)的集合,這些表格中的數(shù)據(jù)能以不同的方式被存取或重新召集而不需要重新組織數(shù)據(jù)庫(kù)表格,它對(duì)應(yīng)于一個(gè)關(guān)系模型中的所有關(guān)系的集合。例如,教師、學(xué)生、課程這些關(guān)系以及關(guān)系間的聯(lián)系就組成了一個(gè)教務(wù)系統(tǒng)。文件數(shù)據(jù)庫(kù)系統(tǒng)是對(duì)文件的操作,包存儲(chǔ)、查詢等。
2、關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)和文件數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別如下:(1) 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)是數(shù)據(jù)的結(jié)構(gòu)化,而文件數(shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)的非結(jié)構(gòu)化。(2) 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,用戶看到的邏輯結(jié)構(gòu)是二維表,而文件數(shù)據(jù)庫(kù)系統(tǒng)中,基本元素是文件。(3) 文件數(shù)據(jù)庫(kù)系統(tǒng)可以實(shí)現(xiàn)多媒體文件管理,支持c/s工作模式。三、SQL語(yǔ)言的功能SQL是結(jié)構(gòu)化查詢語(yǔ)言的縮寫,其功能包括數(shù)據(jù)查詢、數(shù)據(jù)操作、數(shù)據(jù)定義和數(shù)據(jù)控制4個(gè)部分。數(shù)據(jù)查詢是數(shù)據(jù)庫(kù)中最常見(jiàn)的操作,通過(guò)select語(yǔ)句可以得到所需的信息。SQL語(yǔ)言的數(shù)據(jù)操作語(yǔ)句(DML)主要包括數(shù)據(jù)插入、數(shù)據(jù)修改和刪除數(shù)據(jù)3中語(yǔ)句。SQL語(yǔ)言使用數(shù)據(jù)定義語(yǔ)言(DDL)實(shí)現(xiàn)數(shù)據(jù)定義功能,可對(duì)數(shù)
3、據(jù)庫(kù)用戶、基本表、視圖、索引進(jìn)行定義和撤銷。數(shù)據(jù)控制語(yǔ)句(DCL)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的控制管理,保證數(shù)據(jù)在多用戶共享的情況下能夠安全。基本的SQL語(yǔ)句有select、insert、update、delete、create、drop、grant、revoke等。四、內(nèi)連接和外鏈接有什么區(qū)別內(nèi)連接也稱為自然連接,只有二個(gè)表相匹配的行才能在結(jié)果集中出現(xiàn)。返回的結(jié)果集是二個(gè)表中所有相匹配的數(shù)據(jù),而舍棄不匹配的數(shù)據(jù)。由于內(nèi)連接是從結(jié)果表中刪除與其他連接表中沒(méi)有匹配行的所有行,所以內(nèi)連接可能會(huì)造成信息的丟失。五、什么是事物事物是數(shù)據(jù)庫(kù)中一個(gè)單獨(dú)的執(zhí)行單元(unit),它通常由高級(jí)數(shù)據(jù)庫(kù)操作語(yǔ)言(如SQL
4、)或編程語(yǔ)言(如C+)書寫的用戶程序的執(zhí)行所引起的。當(dāng)在數(shù)據(jù)庫(kù)中更改數(shù)據(jù)成功時(shí),在事物中更改的數(shù)據(jù)變回提交,不再改變。否則,事物就取消或者回滾,更改無(wú)效。例如:網(wǎng)上購(gòu)物的交易過(guò)程至少包括以下幾個(gè)步驟的操作:(1) 更新客戶端所購(gòu)物商品的庫(kù)存信息。(2) 保存客戶付款信息(3) 生成訂單并且保存到數(shù)據(jù)庫(kù)中(4) 更新用戶相關(guān)信息,如購(gòu)物數(shù)量等。 在正常的情況下,這些操作都將順利進(jìn)行,最終交易成功,與交易相關(guān)的所有數(shù)據(jù)信息也成功更新。但是,如果遇到突然掉電或是其他意外情況,導(dǎo)致這一系列過(guò)程任何一個(gè)環(huán)節(jié)出現(xiàn)錯(cuò)誤,如在更新商品庫(kù)存信息時(shí)發(fā)生異常、顧客銀行賬戶余額不足等,都將導(dǎo)致整個(gè)交易過(guò)程失敗。而一旦
5、交易失敗,數(shù)據(jù)庫(kù)中所有信息都必須保持交易前的狀態(tài)不變,比如最后一步更新用戶信息時(shí)失敗而導(dǎo)致交易失敗,那么必須保證這筆失敗的交易不影響數(shù)據(jù)庫(kù)的狀態(tài)。即原有的庫(kù)存信息沒(méi)有被更新、用戶也沒(méi)有付款、訂單也沒(méi)有生成。否則,數(shù)據(jù)庫(kù)的信息將會(huì)不一致,或者出現(xiàn)更為嚴(yán)重的不可預(yù)測(cè)的后果,數(shù)據(jù)庫(kù)事務(wù)正是用來(lái)保證這種情況下交易的平穩(wěn)性和可預(yù)測(cè)性的技術(shù)。事務(wù)必須滿足4個(gè)屬性,即原子性、一致性、隔離性、持久性。(1) 原子性。事務(wù)是一個(gè)不可分割的整體,為了保證事務(wù)的總體目標(biāo),事務(wù)必須具有原子性,即當(dāng)數(shù)據(jù)修改時(shí),要么全執(zhí)行,要么全都不執(zhí)行。即不允許事務(wù)部分地完成,避免了只執(zhí)行這些操作的一部分而帶來(lái)的錯(cuò)誤。原子性要求事務(wù)必
6、須被完整的執(zhí)行。(2) 一致性。一個(gè)事務(wù)執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫(kù)數(shù)據(jù)必須保持一致性狀態(tài)。數(shù)據(jù)庫(kù)的一致性狀態(tài)應(yīng)該滿足模式所指定的約束,那么在完整執(zhí)行事務(wù)后數(shù)據(jù)庫(kù)仍然處于一致性狀態(tài)。為了維護(hù)所有數(shù)據(jù)的完整性,在關(guān)系數(shù)據(jù)庫(kù)中,所有的規(guī)則必須應(yīng)用到事務(wù)的修改上。數(shù)據(jù)庫(kù)的一致性狀態(tài)由用戶來(lái)負(fù)責(zé),由并發(fā)控制機(jī)制來(lái)實(shí)現(xiàn)。例如,銀行轉(zhuǎn)賬,轉(zhuǎn)賬前后二個(gè)賬戶余額之和應(yīng)該保持不變。由并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性包括丟失數(shù)據(jù)修改、讀臟數(shù)據(jù)、不可重復(fù)讀和產(chǎn)生幽靈數(shù)據(jù)。(3) 隔離性。隔離性也被稱為獨(dú)立性,是指并行事務(wù)的修改必須與其它事務(wù)的修改相互獨(dú)立。當(dāng)一個(gè)事務(wù)處理數(shù)據(jù)時(shí),要么是其它事務(wù)執(zhí)行之前的狀態(tài),要么是其它事務(wù)執(zhí)行
7、之后的狀態(tài)。例如,對(duì)任何一對(duì)事務(wù)T1,T2,對(duì)T1而言,T2要么在T1之前已經(jīng)結(jié)束,要么在T1完成之后開(kāi)始執(zhí)行。數(shù)據(jù)庫(kù)有4種類型的事務(wù)隔離級(jí)別:不提交的讀、提交的讀、可重復(fù)的讀和串行化。因?yàn)楦綦x性使得每個(gè)事務(wù)的更新在它被提交之前,對(duì)其它事務(wù)都是不可見(jiàn)的,所以實(shí)施隔離性是解決臨時(shí)更新與消除級(jí)聯(lián)回滾問(wèn)題的一種方式。(4) 持久性。持久性也被稱為永久性,事務(wù)完成以后,DBMS保證他對(duì)數(shù)據(jù)的修改是永久的,當(dāng)系統(tǒng)或介質(zhì)發(fā)生變化時(shí),該修改也永久保持。持久性一般通過(guò)數(shù)據(jù)庫(kù)備份與恢復(fù)來(lái)保證。嚴(yán)格來(lái)說(shuō),數(shù)據(jù)庫(kù)事務(wù)屬性都是由數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)進(jìn)行保證的,在整個(gè)應(yīng)用程序運(yùn)行過(guò)程中應(yīng)用無(wú)需去考慮數(shù)據(jù)的ACID實(shí)現(xiàn)。一般
8、情況下,通過(guò)執(zhí)行COMMIT或ROLLBACK語(yǔ)句終止事務(wù),當(dāng)執(zhí)行語(yǔ)句時(shí),自從事務(wù)啟動(dòng)以來(lái)對(duì)數(shù)據(jù)庫(kù)所做的一切更改以稱為永久性的了,即被寫入到磁盤;而當(dāng)執(zhí)行語(yǔ)句時(shí),自動(dòng)事務(wù)啟動(dòng)以來(lái)對(duì)數(shù)據(jù)庫(kù)所做的一切更改都會(huì)被撤銷,并且數(shù)據(jù)庫(kù)的內(nèi)容返回到事務(wù)開(kāi)始之前所處的狀態(tài),無(wú)論什么情況,在事務(wù)完成時(shí),都能保證回到一直狀態(tài)。六什么是存儲(chǔ)過(guò)程,它與函數(shù)由什么區(qū)別和聯(lián)系語(yǔ)句執(zhí)行的時(shí)候需要先編譯,然后再被執(zhí)行。在大型數(shù)據(jù)庫(kù)系統(tǒng)中,為了提高效率,將為了完成特定功能的語(yǔ)句集進(jìn)行編譯優(yōu)化后,存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字來(lái)調(diào)用執(zhí)行。創(chuàng)建存儲(chǔ)過(guò)程的常用語(yǔ)法如下:參七什么事主鍵?什么是外鍵主鍵也稱為主碼,是數(shù)
9、據(jù)庫(kù)中一個(gè)或多個(gè)字段,是表中記錄的唯一標(biāo)識(shí)符。主鍵不能為空。一個(gè)表中只能有一個(gè)主鍵,主鍵列不一定只有一列,可以有多列。由概念克制,主鍵可唯一地標(biāo)識(shí)一行。另外。主鍵可作為一個(gè)可以被外鍵有效使用的對(duì)象,因此主鍵需遵循以下原則:() 主鍵對(duì)用戶而言沒(méi)有意義。() 主鍵不能為空() 主鍵保持不變。因?yàn)橹麈I的用途是唯一地標(biāo)示一行數(shù)據(jù)。() 主鍵不應(yīng)包含動(dòng)態(tài)變化的時(shí)間戳() 主鍵原則上應(yīng)當(dāng)由計(jì)算機(jī)自動(dòng)生成,而非用戶指定。外鍵也稱為外碼,標(biāo)示的是二個(gè)關(guān)系之間的聯(lián)系。當(dāng)共有關(guān)鍵字在一個(gè)關(guān)系中為主鍵時(shí),這個(gè)公告關(guān)鍵字被稱為另外一個(gè)關(guān)系的外鍵。假設(shè)有二個(gè)表,是的主鍵,同時(shí)也是的字段,那么稱為的外鍵。學(xué)號(hào)為學(xué)生表中
10、的主鍵,同時(shí)也是成績(jī)表中的字段,所以學(xué)號(hào)為成績(jī)表的外鍵。外鍵用來(lái)和其它變建立聯(lián)系,實(shí)現(xiàn)表之間的關(guān)聯(lián)。保持?jǐn)?shù)據(jù)的一致性,實(shí)現(xiàn)參照完整性等約束。一個(gè)表可以有多個(gè)外鍵,也可以為空??傊?,主鍵時(shí)表中的唯一標(biāo)識(shí)符。外鍵,是二個(gè)關(guān)系之間的聯(lián)系。八什么是死鎖在操作系統(tǒng)中有若干程序并發(fā)執(zhí)行,他們不斷的申請(qǐng),釋放資源,在此過(guò)程中,由于爭(zhēng)奪資源而處于無(wú)限期的等待狀態(tài),造成程序無(wú)法繼續(xù)執(zhí)行,若無(wú)外力作用,他們將無(wú)法推進(jìn)下去,這時(shí)成系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死鎖。此時(shí)便只能通過(guò)外力來(lái)打破這種狀態(tài)。產(chǎn)生死鎖的原意有以下點(diǎn)。首先,系統(tǒng)資源不足,在系統(tǒng)中常常有多個(gè)進(jìn)程共享資源的情況,如打印機(jī),這些資源在同一時(shí)刻只能被一個(gè)
11、進(jìn)程調(diào)用,當(dāng)資源數(shù)目不能滿足進(jìn)程時(shí),便可能因?yàn)閾屨假Y源產(chǎn)生死鎖。其次,進(jìn)程運(yùn)行推進(jìn)順序不對(duì),進(jìn)程在運(yùn)行中具有異步性,當(dāng)進(jìn)程推進(jìn)不當(dāng)時(shí),便發(fā)生死鎖。進(jìn)程產(chǎn)生死鎖的個(gè)必要條件:) 互斥,每個(gè)資源每次只能被一個(gè)進(jìn)程使用) 請(qǐng)求與保持等待,一個(gè)進(jìn)程因請(qǐng)求資源被阻塞時(shí),對(duì)已獲得的資源保持不放) 不可剝奪,進(jìn)程已獲得的資源,在未使用完之前,不能被強(qiáng)制剝奪。) 環(huán)路等待,若干進(jìn)程之間形成首位相連的等待資源關(guān)系。所以,為了預(yù)防死鎖,就要打破產(chǎn)生死鎖的個(gè)條件中的一個(gè)或多個(gè),因此需要最大限度的增加系統(tǒng)資源,合理安排進(jìn)程的順序并確定合理的分配資源的算法。避免死鎖在資源的動(dòng)態(tài)分配過(guò)程中,采取有效的方法防止系統(tǒng)進(jìn)入不安
12、全狀態(tài),達(dá)到預(yù)防死鎖的目的,其中最具代表性的方法就是銀行家算法。九什么是共享鎖?什么是互斥鎖在數(shù)據(jù)庫(kù)中,鎖主要是對(duì)數(shù)據(jù)進(jìn)行讀寫的一種保護(hù)機(jī)制,從數(shù)據(jù)庫(kù)系統(tǒng)的角度來(lái)看,一般可以將鎖分為共享鎖和互斥鎖。共享鎖簡(jiǎn)稱鎖,也叫讀鎖用于不更改或不更新數(shù)據(jù)的操作(只讀操作),如語(yǔ)句。如果事務(wù)對(duì)數(shù)據(jù)加上共享鎖后,則其他事務(wù)只能對(duì)再加共享鎖,不能加排它鎖。共享鎖可以阻止其他并發(fā)運(yùn)行的程序獲取重疊的獨(dú)占鎖定,但是允許改程序獲取重疊的共享鎖定。其他用戶可以獲取共享鎖鎖定的資源,但是不能進(jìn)行修改共享鎖。在執(zhí)行命令時(shí)。通常會(huì)對(duì)對(duì)象進(jìn)行共享鎖鎖定。若事務(wù)對(duì)數(shù)據(jù)加鎖,則其他事務(wù)只能對(duì)加鎖,而不能加鎖,知道釋放上的鎖,一般要
13、求在讀取數(shù)據(jù)前要向該數(shù)據(jù)加共享鎖,所以共享鎖又稱為讀鎖。通常加共享鎖的數(shù)據(jù)頁(yè)被讀取完畢后,共享鎖就會(huì)立即被釋放?;コ怄i簡(jiǎn)稱鎖,也叫排他鎖,用于數(shù)據(jù)修改操作,如或。確保不會(huì)同時(shí)對(duì)同一資源進(jìn)行多重更新。為了確保數(shù)據(jù)操作的完整性,引入了互斥鎖。用互斥鎖來(lái)保證在任意時(shí)刻,只能有一個(gè)線程訪問(wèn)對(duì)象。若事務(wù)對(duì)數(shù)據(jù)加鎖,則其他任何事務(wù)都不能再對(duì)加任何類型的鎖,直至釋放上的鎖;一般要求在修改數(shù)據(jù)前要向該數(shù)據(jù)加排他鎖,所以排他鎖又稱為寫鎖。而對(duì)于鎖的使用,也有一定的限制,需要遵循二個(gè)事項(xiàng):) 先鎖后操作;) 事務(wù)結(jié)束之后必須解鎖。十一二三四范式有何區(qū)別在設(shè)計(jì)與操作維護(hù)數(shù)據(jù)庫(kù)時(shí),最關(guān)鍵的問(wèn)題就是要確保數(shù)據(jù)正確的分布
14、到數(shù)據(jù)庫(kù)的表中,使用正確的數(shù)據(jù)結(jié)構(gòu),不僅有助于對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的存取操作,還可以極大地簡(jiǎn)化應(yīng)用程序的內(nèi)容。按照數(shù)據(jù)庫(kù)規(guī)范化對(duì)表進(jìn)行設(shè)計(jì)的目的就是減少數(shù)據(jù)庫(kù)中的數(shù)據(jù)冗余,從而增加數(shù)據(jù)的一致性。范式是在識(shí)別數(shù)據(jù)庫(kù)中的數(shù)據(jù)元素關(guān)系以及所需的表和各表中的項(xiàng)目這些初始工作之后的一個(gè)細(xì)化的過(guò)程。常見(jiàn)的范式有2NF 3NF 4NF .1NF,第一范式。第一范式是指數(shù)據(jù)庫(kù)的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。如果出現(xiàn)重復(fù)的屬性,就可能需要定義一個(gè)新的實(shí)體,新的實(shí)體有重復(fù)的屬性構(gòu)成,新實(shí)體與原實(shí)體之間為一對(duì)多關(guān)系。第一范式的模式要求屬性值不可
15、在分裂成更小部分,即屬性項(xiàng)不能是屬性組合或由組屬性組成。簡(jiǎn)而言之,第一范式就是無(wú)重復(fù)的列。2NF,第二范式。要求數(shù)據(jù)庫(kù)表中的每個(gè)實(shí)體或行必須可以被唯一地區(qū)分。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的唯一標(biāo)識(shí)。如果關(guān)系模式R為第一范式,并且R中每一個(gè)非主屬性完全函數(shù)依賴于R的某個(gè)候選鍵,則R成為第二范式模式。如果A是關(guān)系模型R的候選鍵的一個(gè)屬性,則稱A是R的主屬性,否則A是R的非主屬性。3NF,第三范式。每個(gè)非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式模式十一 什么是CHECK約束CHECK約束是指限制表中某一列或某些列中可接受的數(shù)據(jù)值或數(shù)據(jù)格式,它用于限制列的取值方位,使用形式
16、為:CHECK(約束表達(dá)式)。如果對(duì)單列定義CHECK約束,那么該列只允許特定的值;如果是對(duì)一個(gè)表定義CHECK約束,那么此約束會(huì)在特定的列中對(duì)只進(jìn)行限制。例如,對(duì)于一個(gè)員工信息表,給員工的年齡屬性添加了一個(gè)約束,即年齡必須大于0且小于120,那么用戶在輸入年齡的時(shí)候,就必須遵守該約束,輸入負(fù)數(shù)或者121就無(wú)法輸入。十二 什么是視圖視圖是由從一個(gè)數(shù)據(jù)庫(kù)的基本表中選取出來(lái)的數(shù)據(jù)組成的邏輯窗口,不同于基本表。它是一個(gè)虛表,在數(shù)據(jù)表中,存放的只是視圖的定義而已,不存放視圖包含的數(shù)據(jù)項(xiàng),這些項(xiàng)目仍然存在原來(lái)的基本表結(jié)構(gòu)中視圖的作用非常多,主要有以下幾點(diǎn):首先可以簡(jiǎn)化數(shù)據(jù)查詢語(yǔ)句;其次可以使用戶能從多角
17、度看待同一數(shù)據(jù);然后,通過(guò)引入視圖,可以提高數(shù)據(jù)的安全性;最后,視圖提供了一定程度的邏輯獨(dú)立性等。通過(guò)引入視圖機(jī)制,用戶可以將注意力集中在其關(guān)心的數(shù)據(jù)上而非全部數(shù)據(jù),這樣就大大提高了用戶效率和用戶滿意度,而且如這些數(shù)據(jù)來(lái)源于多個(gè)基本表結(jié)構(gòu),或者數(shù)據(jù)不僅來(lái)自于基本表結(jié)構(gòu),還有一部分來(lái)源于其他視圖,并且搜索條件又比較復(fù)雜時(shí),需要編寫的查詢語(yǔ)句就會(huì)比較繁瑣,此時(shí)定義視圖就可以使數(shù)據(jù)的查詢語(yǔ)句變得簡(jiǎn)答可行。定義視圖可以將表與表之間復(fù)雜的操作連接和搜索條件對(duì)用戶不可見(jiàn),用戶只需要簡(jiǎn)單的對(duì)一個(gè)視圖進(jìn)行查詢即可,所以增加了數(shù)據(jù)的安全性,但是不能提高查詢的效率。十三 什么是觸發(fā)器觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程
18、,它由事件觸發(fā),而不是程序調(diào)用或手工啟動(dòng)。當(dāng)數(shù)據(jù)庫(kù)有特殊的操作時(shí),對(duì)這些操作有數(shù)據(jù)庫(kù)中的事件來(lái)觸發(fā),自動(dòng)完成這些SQL語(yǔ)句。使用觸發(fā)器可以用來(lái)保證數(shù)據(jù)的有效性和完整性,完成比約束更復(fù)雜的數(shù)據(jù)約束。十二 什么是索引索引就是一種提高數(shù)據(jù)庫(kù)查詢速度的機(jī)制,它是一個(gè)在數(shù)據(jù)庫(kù)的表或視圖上按照某個(gè)關(guān)鍵字段的值,升序或降序排序創(chuàng)建的對(duì)象。當(dāng)用戶查詢索引字段時(shí),它可以快速地執(zhí)行檢索操作,借助索引,在執(zhí)行查詢的時(shí)候不需要掃描整個(gè)表就可以快速的找到所需要的數(shù)據(jù)。索引是與表或視圖關(guān)聯(lián)的磁盤上結(jié)構(gòu),即對(duì)表中列值得一種結(jié)構(gòu),可以加快從表或視圖中檢索行的速度,執(zhí)行查詢時(shí)不必掃描整個(gè)表就能更加快速的訪問(wèn)數(shù)據(jù)庫(kù)中的信息。十三
19、 數(shù)據(jù)備份有哪些種類在網(wǎng)絡(luò)運(yùn)行與維護(hù)的過(guò)程中,經(jīng)常有一些難以預(yù)料的因素會(huì)導(dǎo)致數(shù)據(jù)的丟失,如硬件損壞、操作失誤等,而且丟失的數(shù)據(jù)通常又會(huì)對(duì)企業(yè)的業(yè)務(wù)產(chǎn)生非常不利的影響,所以必須不定期地對(duì)數(shù)據(jù)進(jìn)行及時(shí) 備份,以便在災(zāi)難發(fā)生后能夠迅速地恢復(fù)數(shù)據(jù)。數(shù)據(jù)備份就是保存數(shù)據(jù)的備份,目的就是為了預(yù)防災(zāi)難造成的數(shù)據(jù)丟失。它一般分為完全備份、差異備份、事務(wù)日志備份、增量備份幾大類。完全備份是將數(shù)據(jù)庫(kù)中的全部信息進(jìn)行備份,它是恢復(fù)的基線,在進(jìn)行完全備份時(shí),不但備份數(shù)據(jù)庫(kù)的數(shù)據(jù)文件、日志文件,還需要備份文件的存儲(chǔ)位置信息以及數(shù)據(jù)庫(kù)中的全部對(duì)象和相關(guān)信息,在對(duì)數(shù)據(jù)庫(kù)進(jìn)行完全備份時(shí),所有未完成的事務(wù)或發(fā)生在備份過(guò)程中的全
20、部對(duì)象被忽略,如果使用完全數(shù)據(jù)庫(kù)備份類型,那么從開(kāi)始備份到開(kāi)始恢復(fù)這段時(shí)間內(nèi)發(fā)生的任何針對(duì)數(shù)據(jù)庫(kù)的修改都將無(wú)法修復(fù)。所以,只有在一定的要求或條件下才使用這種類型。差異備份時(shí)備份從最近的完全備份之后對(duì)數(shù)據(jù)所做的修改,它以完全備份為基準(zhǔn)點(diǎn),備份完全備份之后變化了的數(shù)據(jù)文件、日志文件以及數(shù)據(jù)庫(kù)中其他被修改的內(nèi)容。差異備份耗費(fèi)的時(shí)間比完全備份少,但也會(huì)占用一些時(shí)間,同完全備份一樣,差異備份的過(guò)程中也允許用戶訪問(wèn)數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)進(jìn)行操作,并且在差異備份過(guò)程中會(huì)把這些操作也一起備份起來(lái)。事務(wù)日志備份是備份從上次備份之后的日志記錄,而且在默認(rèn)情況下,事務(wù)日志備份完成后要截?cái)嗳罩?,事?wù)日志備份記錄了用戶對(duì)數(shù)據(jù)進(jìn)
21、行的修改操作。隨著時(shí)間的推移,日志中的記錄數(shù)會(huì)越來(lái)越多,容量有事比數(shù)據(jù)備份大,這樣勢(shì)必會(huì)占滿整個(gè)磁盤空間。因此,為了避免這種情況的發(fā)生,必須定期地將日志記錄中不必要的記錄清除掉,以節(jié)省空間。清除掉無(wú)用日志記錄的過(guò)程叫做截?cái)嗳罩?。增量備份時(shí)針對(duì)上一次備份的,備份上一次備份后所有發(fā)生改變的文件。在增量備份過(guò)程中,只備份有標(biāo)記的選中的文件和文件夾,它清除標(biāo)記,即備份后標(biāo)記文件十四 并發(fā)環(huán)境如何保證數(shù)據(jù)的一致性并發(fā)一般是指多用戶同時(shí)訪問(wèn)相同的數(shù)據(jù)。數(shù)據(jù)一致性是指系統(tǒng)中每個(gè)用戶都能夠取得具備一致性的數(shù)據(jù),同時(shí)還能夠看到自己活其他用戶所提交的事務(wù)對(duì)數(shù)據(jù)的修改。并發(fā)環(huán)境下,一般可以采用多種機(jī)制來(lái)保證數(shù)據(jù)的一
22、致性。例如,oracle系統(tǒng)提供的事務(wù)級(jí)的一致性、行機(jī)鎖、表級(jí)鎖等。提交讀和串行事務(wù)都使用行級(jí)鎖,都會(huì)試圖修改一個(gè)沒(méi)有提交的并行事務(wù)更新的行時(shí)產(chǎn)生等待。第二個(gè)事務(wù)等待其他事務(wù)提交或者撤銷來(lái)釋放它的鎖,才能更新給定的行。不管等待的是什么級(jí)別的隔離事務(wù),若其他事務(wù)回滾了,都可以對(duì)以前鎖定的行進(jìn)行修改。但是如果其他事務(wù)提交并釋放了它的鎖,提交事務(wù)科執(zhí)行它想要的修改。 十五 如果數(shù)據(jù)庫(kù)日志滿了,會(huì)出現(xiàn)什么情況日志文件記錄所有對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的修改,主要是保護(hù)數(shù)據(jù)庫(kù)以防止故障,以及恢復(fù)數(shù)據(jù)時(shí)使用。其特點(diǎn)如下:() 每一個(gè)數(shù)據(jù)庫(kù)至少包含二個(gè)日志文件組。每個(gè)日志文件組至少包含二個(gè)日志文件成員() 日志文件組以循
23、環(huán)方式進(jìn)行寫操作() 每一個(gè)日志文件成員對(duì)應(yīng)一個(gè)物理文件通過(guò)日志文件來(lái)記錄數(shù)據(jù)庫(kù)事務(wù)可以最大限度地保證數(shù)據(jù)的一致性與安全性,但一旦數(shù)據(jù)庫(kù)中日志滿了,就只能執(zhí)行查詢等讀操作,不能執(zhí)行更改、備份等操作。其原因是任何寫操作都要記錄日志,也就是說(shuō)基本上處于不能使用的狀態(tài)。網(wǎng)絡(luò)與通信一 OSI七成模型上三成稱為高層,用于定義應(yīng)用程序之間的通信和人機(jī)界面下四成稱為底層,用于定義數(shù)據(jù)如何進(jìn)行端到端的傳輸,物理規(guī)范以及數(shù)據(jù)與光電信號(hào)間的轉(zhuǎn)換。具體而言,從上往下每一層的功能如下:() 應(yīng)用層。應(yīng)用層也稱為應(yīng)用實(shí)體,一般是應(yīng)用程序,該層主要負(fù)責(zé)確定通信對(duì)象,并確保有足夠的資源用于通信。常見(jiàn)的應(yīng)用層協(xié)議有FTP、H
24、TTP、SNMP等。() 表示層。表示層一般負(fù)責(zé)數(shù)據(jù)的編碼與轉(zhuǎn)化,確保應(yīng)用層能夠正常工作。該層是二進(jìn)制代碼間互相轉(zhuǎn)化的地方,同時(shí)該層負(fù)責(zé)數(shù)據(jù)的壓縮、解壓、加密、解密等,該層也可以根據(jù)不同的應(yīng)用目的將數(shù)據(jù)處理為不同的格式,表現(xiàn)出來(lái)就是各種各樣的文件名。() 會(huì)話層。會(huì)話層主要負(fù)責(zé)在網(wǎng)絡(luò)中的二個(gè)節(jié)點(diǎn)之間建立、維護(hù)、控制會(huì)話,區(qū)分不同的會(huì)話,以及提供單工、半雙工、全雙工3種通信式服務(wù)。NFS、RPC、X Windows等都工作在該層。() 傳輸層。傳輸層是OSI模型中最重要的一層,它主要負(fù)責(zé)分割、組合數(shù)據(jù),實(shí)現(xiàn)端到端的邏輯連接。數(shù)據(jù)在上三層是整體的,到了這一層開(kāi)始被分割,這一層分割后的數(shù)據(jù)被稱為段。
25、三次握手、面向連接或非面向連接的服務(wù)、流量控制等都發(fā)生在此層。常見(jiàn)的傳輸層協(xié)議有TCP、UDP、SPX。() 網(wǎng)絡(luò)層。網(wǎng)絡(luò)層是將網(wǎng)絡(luò)地址翻譯成物理地址,并決定將數(shù)據(jù)從發(fā)送方路由到接收方,主要負(fù)責(zé)管理網(wǎng)絡(luò)地址、定位設(shè)備、決定路由,路由器就工作在該層。上層的數(shù)據(jù)段在這一層被分割,封裝后叫做包。包郵二中:一種為用戶數(shù)據(jù)包,是上層傳下來(lái)的用戶數(shù)據(jù);另一種為路由更新包,是直接由路由器發(fā)出來(lái)的,用來(lái)和其他路由器進(jìn)行路由交換信息。常見(jiàn)的網(wǎng)絡(luò)層協(xié)議有IP,RIP,OSPF。() 數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層為OSI模型的第二層,控制物理層與網(wǎng)絡(luò)層之間的通信,主要負(fù)責(zé)物理傳輸?shù)臏?zhǔn)備,包括物理地址尋址、CRC檢驗(yàn)、錯(cuò)誤
26、通知、網(wǎng)絡(luò)拓?fù)?、流量控制、重發(fā)等。MAC地址和交換機(jī)都工作在這一層。上層傳下來(lái)的包在這一層被分割封裝后叫做幀。常見(jiàn)的數(shù)據(jù)鏈路層協(xié)議有SDLC、STP、幀中繼、HDLC等。() 物理層。物理層是實(shí)實(shí)在在的物理鏈路,它規(guī)定了激活、維持、關(guān)閉通信端點(diǎn)之間的機(jī)械特性、電氣特性、功能特性以及過(guò)程特性。它為上層協(xié)議提供了一個(gè)傳輸數(shù)據(jù)的物理媒體,負(fù)責(zé)將數(shù)據(jù)以比特流的方式發(fā)送、接受。常見(jiàn)的物理媒體有雙絞線、同軸電纜等。屬于物理層相關(guān)的規(guī)范有。設(shè)計(jì)模式一 單例模式在某些情況下,有些對(duì)象只需要一個(gè)就可以了。即每個(gè)類只需要一個(gè)實(shí)例。;例如,一臺(tái)計(jì)算機(jī)上可以連接多個(gè)打印機(jī),但是這個(gè)計(jì)算機(jī)上的打印程序只能有一個(gè),這里就
27、可以通過(guò)單例模式來(lái)避免二個(gè)打印作業(yè)同時(shí)輸出到打印機(jī),即在整個(gè)的打印過(guò)程中只有一個(gè)打印程序的實(shí)例。簡(jiǎn)單來(lái)說(shuō),單例模式的作用就是保證在整個(gè)應(yīng)用程序的生命周期中,任何一個(gè)時(shí)刻,單例類的實(shí)例都只存在一個(gè)。單利模式只應(yīng)在有真正的單一實(shí)例的需求是才可以用。需要區(qū)分一下全局變量和單例模式。首先,全局變量是對(duì)一個(gè)對(duì)象的靜態(tài)引用,全局變量確實(shí)可以實(shí)現(xiàn)單例模式實(shí)現(xiàn)的全局訪問(wèn)這個(gè)功能,但是它并不能保證應(yīng)用程序中只有一個(gè)實(shí)例,同時(shí)在編碼規(guī)范中,也明確指出應(yīng)該要少用全局變量,因?yàn)檫^(guò)多地使用全局變量,會(huì)造成代碼難讀,還有就是全局變量并不能實(shí)現(xiàn)繼承。而單例模式的話,其在類中保存了他的唯一實(shí)例,這個(gè)類可以保證只創(chuàng)建一個(gè)實(shí)例,
28、同時(shí)它還提供了一個(gè)訪問(wèn)該唯一的全局訪問(wèn)點(diǎn)。使用單例模式,需要注意的是,單例模式用來(lái)保證系統(tǒng)中一個(gè)類只有一個(gè)實(shí)例。單列了的構(gòu)造函數(shù)必須為私有,同時(shí)單例類必須提供一個(gè)全局訪問(wèn)點(diǎn)。二 工廠模式工廠模式專門負(fù)責(zé)實(shí)例化大量公共接口的類。工廠模式可以動(dòng)態(tài)的決定哪一個(gè)類實(shí)例化,而不必事先知道每次要實(shí)例化那一個(gè)類??蛻纛惡凸S類是分開(kāi)的。消費(fèi)者無(wú)論什么時(shí)候需要某種產(chǎn)品,需要做的只是向工廠提出請(qǐng)求即可。消費(fèi)者無(wú)需修改就可以接納新產(chǎn)品。當(dāng)然,也存在缺點(diǎn),就是當(dāng)產(chǎn)品修改時(shí),工廠類也要做相應(yīng)的修改。工廠模式包括以下幾種形態(tài):() 簡(jiǎn)單工廠模式。簡(jiǎn)單工廠模式的工廠類是根據(jù)提供給它參數(shù),返回的是幾個(gè)可能產(chǎn)品中的一個(gè)類的實(shí)例,通常情況下它返回的類都有一個(gè)公共的父類和公共的方法。() 工廠方法模式。工廠方法模式是類的創(chuàng)建模式,其用意是定義一個(gè)用于創(chuàng)建產(chǎn)品對(duì)象的工廠的接口,而將實(shí)際創(chuàng)建工作推遲到工廠接口的子類中。它屬于簡(jiǎn)單工廠模式的進(jìn)一步抽象和推廣。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)動(dòng)服裝生產(chǎn)中的快速響應(yīng)生產(chǎn)模式考核試卷
- 草原割草與草地碳氮平衡考核試卷
- 紙品加工技術(shù)考核試卷
- 實(shí)踐中遇到的嵌入式問(wèn)題試題及答案
- 碳酸飲料配方設(shè)計(jì)考核試卷
- 數(shù)據(jù)庫(kù)性能監(jiān)控的關(guān)鍵指標(biāo)試題及答案
- 公路工程資本運(yùn)作試題及答案
- 納米技術(shù)在印刷包裝中的應(yīng)用考核試卷
- 行政組織理論的統(tǒng)計(jì)分析方法及2025年試題及答案
- 嵌入式技術(shù)的改進(jìn)與趨勢(shì)試題及答案
- 眼球的結(jié)構(gòu)與功能
- 《社會(huì)主義制度在中國(guó)的確立》示范課教學(xué)設(shè)計(jì)【高中思想政治人教版必修1中國(guó)特色社會(huì)主義】
- 立方米臥式濃硫酸儲(chǔ)罐設(shè)計(jì)
- 三乙胺安全標(biāo)簽
- GB/T 4490-2021織物芯輸送帶寬度和長(zhǎng)度
- GB/T 28650-2012公路防撞桶
- GB/T 17793-1999一般用途的加工銅及銅合金板帶材外形尺寸及允許偏差
- ICU常見(jiàn)檢查項(xiàng)目及課件
- 土地荒漠化的防治(公開(kāi)課)課件
- MSA量測(cè)系統(tǒng)分析RMSA量測(cè)系統(tǒng)分析課件
- 中考備考應(yīng)對(duì)中考?xì)v史學(xué)科的復(fù)習(xí)策略和解題技巧課件
評(píng)論
0/150
提交評(píng)論