柚子快報邀請碼778899分享:系統(tǒng)架構(gòu)師考點--數(shù)據(jù)庫系統(tǒng)
柚子快報邀請碼778899分享:系統(tǒng)架構(gòu)師考點--數(shù)據(jù)庫系統(tǒng)
大家好。今天我來總結(jié)一下數(shù)據(jù)庫系統(tǒng)的相關(guān)考點。本考點一般情況下上午場考試占3-5分,下午場案例分析題也會出現(xiàn)。
一、數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù):數(shù)據(jù)庫中存儲的基本對象,是描述事物的符號記錄。數(shù)據(jù)的種類:文本、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄、貨物的運輸情況等。
數(shù)據(jù)庫DB:長期存儲在計算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合
數(shù)據(jù)庫的基本特征:數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲;可為各種用戶共享;冗余度較?。粩?shù)據(jù)獨立性較高;易擴(kuò)展。
數(shù)據(jù)庫系統(tǒng)DBS:是一個采用了數(shù)據(jù)庫技術(shù),有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),方便多用戶訪問的計算機(jī)系統(tǒng)。其由下面四個部分組成:
數(shù)據(jù)庫:統(tǒng)一管理、長期存儲在計算機(jī)內(nèi)的,有組織的相關(guān)數(shù)據(jù)的集合。
硬件:構(gòu)成計算機(jī)系統(tǒng)包括存儲數(shù)據(jù)所需的外部設(shè)備。
軟件:操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)及應(yīng)用程序。
人員:系統(tǒng)分析和數(shù)據(jù)庫設(shè)計人員、應(yīng)用程序員、最終用戶、數(shù)據(jù)庫管理員DBA。
數(shù)據(jù)庫管理系統(tǒng)DBMS的功能:實現(xiàn)對共享數(shù)據(jù)有效的組織、管理和存取。包括數(shù)據(jù)定義、數(shù)據(jù)庫操作、數(shù)據(jù)庫運行管理、數(shù)據(jù)的存儲管理、數(shù)據(jù)庫的建立和維護(hù)等。
二、三級模式-兩級映射
內(nèi)模式:管理如何存儲物理的數(shù)據(jù),對應(yīng)具體物理存儲文件。
模式:又稱為概念模式,就是我們通常使用的基本表,根據(jù)應(yīng)用、需求將物理數(shù)據(jù)劃分成一張張表。
外模式:對應(yīng)數(shù)據(jù)庫中的視圖這個級別,將表進(jìn)行一定的處理后再提供給用戶使用。
外模式一模式映像:表和視圖之間的映射,存在于概念級和外部級之間,若表中數(shù)據(jù)發(fā)生了修改,只需要修改此映射,而無需修改應(yīng)用程序。
模式一內(nèi)模式映像:表和數(shù)據(jù)的物理存儲之間的映射存在于概念級和內(nèi)部級之間,若修改了數(shù)據(jù)存儲方式,只需要修改此映射,而不需要去修改應(yīng)用程序。
三、數(shù)據(jù)庫設(shè)計
1. 需求分析:即分析數(shù)據(jù)存儲的要求,產(chǎn)出物有數(shù)據(jù)流圖、數(shù)據(jù)字典、需求說明書。獲得用戶對系統(tǒng)的三個要求:信息要求、處理要求、系統(tǒng)要求。
2. 概念結(jié)構(gòu)設(shè)計:就是設(shè)計E-R圖,也即實體-聯(lián)系圖。工作步驟包括:選擇局部應(yīng)用、逐一設(shè)計分E-R圖、E-R圖合并。分E-R 圖進(jìn)行合并時,它們之間存在的沖突主要有以下3類:
屬性沖突:同一屬性可能會存在于不同的E-R圖中。
命名沖突:相同意義的屬性,在不同的分E-R 圖上有著不同的命名或是名稱相同的屬性在不同的分E-R 圖中代表著不同的意義。
結(jié)構(gòu)沖突:同一實體在不同的分E-R圖中有不同的屬性,同一對象在某一分E-R 圖中被抽象為實體而在另一分E-R 圖中又被抽象為屬性
3. 邏輯結(jié)構(gòu)設(shè)計:將E-R圖,轉(zhuǎn)換成關(guān)系模式。工作步驟包括:確定數(shù)據(jù)模型、將E-R 圖轉(zhuǎn)換成為指定的數(shù)據(jù)模型、確定完整性約束和確定用戶視圖。
4. 物理設(shè)計:步驟包括確定數(shù)據(jù)分布、存儲結(jié)構(gòu)和訪問方式。
5. 數(shù)據(jù)庫實施階段:根據(jù)邏輯設(shè)計和物理設(shè)計階段的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運行。
6. 數(shù)據(jù)庫運行和維護(hù)階段:數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行即可投入運行,但該階段需要不斷地對系統(tǒng)進(jìn)行評價、調(diào)整與修改。
例題: 答案:C、A、A、C
四、數(shù)據(jù)模型
關(guān)系模型:二維表的形式表示的實體-聯(lián)系模型,是將實體-聯(lián)系模型轉(zhuǎn)換而來的,經(jīng)過開發(fā)人員設(shè)計的。
概念模型:從用戶的角度進(jìn)行建模的,是現(xiàn)實世界到信息世界的第一抽象是真正的實體-聯(lián)系模型。
網(wǎng)狀模型:表示實體類型及其實體之間的聯(lián)系,一個事物和另外幾個都有聯(lián)系形成一張網(wǎng)。
面向?qū)ο竽P停翰捎妹嫦驅(qū)ο蟮姆椒ㄔO(shè)計數(shù)據(jù)庫,以對象為單位,每個對象包括屬性和方法,具有類和繼承等特點。
數(shù)據(jù)模型三要素:數(shù)據(jù)結(jié)構(gòu)(所研究的對象類型的集合)、數(shù)據(jù)操作(對數(shù)據(jù)庫中各種對象的實例允許執(zhí)行的操作的集合)、數(shù)據(jù)的約束條件(一組完整性規(guī)則的集合)。
我們通過E-R圖來描述概念數(shù)據(jù)模型,世界是由一組稱作實體的基本對象和這些對象之間的聯(lián)系構(gòu)成的。在E-R模型中,使用橢圓表示屬性(一般沒有)、長方形表示實體、菱形表示聯(lián)系,聯(lián)系的兩端要填寫聯(lián)系類型,示例如下圖: 實體:客觀在在并可相互區(qū)別的事物??梢允蔷唧w的人、事、物或抽象概念如人、汽車、圖書、賬戶、貸款。
弱實體和強(qiáng)實體:弱實體依賴于強(qiáng)實體的存在而存在。
實體集:具有相同類型和共享相同屬性的實體的集合,如學(xué)生、課程。
屬性:實體所具有的特性
屬性分類:簡單屬性和復(fù)合屬性;單值屬性和多值屬性;NULL屬性;派生屬性。
域:屬性的取值范圍稱為該屬性的域。
碼(key):唯一標(biāo)識實體的屬性集。
聯(lián)系:現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系,在E-R圖中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。 聯(lián)系類型:一對一1:1、一對多1:N、多對多M:N。
兩個以上實體型的聯(lián)系: E-R模型轉(zhuǎn)換為關(guān)系模型:
每個實體都對應(yīng)一個關(guān)系模式;聯(lián)系分為三種:
1:1聯(lián)系:聯(lián)系可以放到任意的兩端實體中,作為一個屬性(要保證1:1的兩端關(guān)聯(lián)),也可以轉(zhuǎn)換為一個單獨的關(guān)系模式。
1:N聯(lián)系:聯(lián)系可以單獨作為一個關(guān)系模式,也可以在N端中加入1端實體的主鍵;
M:N聯(lián)系:聯(lián)系必須作為一個單獨的關(guān)系模式,其主鍵是M和N端的聯(lián)合主鍵。
例題: 答案:C、A
五、關(guān)系代數(shù)
并:結(jié)果是兩張表中所有記錄數(shù)合并,相同記錄只顯示一次。
交:結(jié)果是兩張表中相同的記錄。
差:S1-S2,結(jié)果是S1表中有而S2表中沒有的那些記錄。 笛卡爾積:S1S2,產(chǎn)生的結(jié)果包括S1和S2的所有屬性列,并且S1中每條記錄依次和S2中所有記錄組合成一條記錄,最終屬性列為S1+S2屬性列,記錄數(shù)為S1S2記錄數(shù)。
投影(π):實際是按條件選擇某關(guān)系模式中的某列,列也可以用數(shù)字表示。
選擇(σ):實際是按條件選擇某關(guān)系模式中的某條記錄。
自然連接:自然連接的結(jié)果顯示全部的屬性列,但是相同屬性列只顯示一次,顯示兩個關(guān)系模式中屬性相同且值相同的記錄。設(shè)有關(guān)系R、S如下左圖所示,自然連接結(jié)果如下右圖所示: 例題: 答案:B、D
六、函數(shù)依賴
給定一個X,能唯一確定一個Y,就稱X確定Y,或者說Y依賴于X,例如Y=X*X函數(shù)。 函數(shù)依賴又可擴(kuò)展以下兩種規(guī)則:
部分函數(shù)依賴:A可確定C,(A,B)也可確定C,(A,B)中的一部分(即A)可以確定C,稱為部分函數(shù)依賴。
傳遞函數(shù)依賴:當(dāng)A和B不等價時,A可確定B,B可確定C,則A可確定C,是傳遞函數(shù)依賴;若A和B等價,則不存在傳遞,直接就可確定C。 函數(shù)依賴的公理系統(tǒng)(Armstrong):
設(shè)關(guān)系模式R,U是關(guān)系模式R的屬性全集,F(xiàn)是關(guān)系模式R的一個函數(shù)依賴集。對于R來說有以下的:
自反律:若YSXCU,則X→Y為F所邏輯蘊(yùn)含。
增廣律:若X→Y為F所邏輯蘊(yùn)含,且ZU,則XZ→YZ為F所邏輯蘊(yùn)含。
傳遞律:若X→Y和Y-Z為F所邏輯蘊(yùn)含,則X→Z為F所邏輯蘊(yùn)含。
合并規(guī)則:若X→Y,X→Z,則X→YZ為F所蘊(yùn)含。
偽傳遞率:若X→Y,WY→Z,則XW→Z為F所蘊(yùn)含。
分解規(guī)則:若X→Y,ZSY,則X→Z為F所蘊(yùn)含。
七、鍵與約束
超鍵:能唯一標(biāo)識此表的屬性的組合。
侯選鍵:超鍵中去掉冗余的屬性,剩余的屬性就是候選鍵。
主鍵:任選一個候選鍵,即可作為主鍵。
外鍵:其他表中的主鍵。
主屬性:候選鍵內(nèi)的屬性為主屬性,其他屬性為非主屬性。
實體完整性約束:即主鍵約束,主鍵值不能為空,也不能重復(fù)。
參照完整性約束:即外鍵約束,外鍵必須是其他表中已經(jīng)存在的主鍵的值或者為空。
用戶自定義完整性約束:自定義表達(dá)式約束,如設(shè)定年齡屬性的值必須在0到150之間。
八、范式
第一范式1NF:
關(guān)系中的每一個分量必須是一個不可分的數(shù)據(jù)項。通俗地說,第一范式就是表中不允許有小表的存在。比如,對于如下的員工表,就不屬于第一范式: 實例:用一個單一的關(guān)系模式學(xué)生來描述學(xué)校的教務(wù)系統(tǒng):學(xué)生(學(xué)號,學(xué)生姓名,系號,系主任姓名,課程號,成績)。依賴關(guān)系:(學(xué)號->學(xué)生,學(xué)生->學(xué)生姓名,學(xué)生->系號,系號->系主任姓名,學(xué)生->課程號,(學(xué)生,課程號)->成績) 第二范式:
如果關(guān)系R屬于1NF,且每一個非主屬性完全函數(shù)依賴于任何一個候選碼,則R屬于2NF。通俗地說,2NF就是在1NF的基礎(chǔ)上,表中的每一個非主屬性不會依賴復(fù)合主鍵中的某一個列。按照定義,上面的學(xué)生表就不滿足2NF,因為學(xué)號不能完全確定課程號和成績(每個學(xué)生可以選多門課)。
將學(xué)生表分解為:
學(xué)生(學(xué)號,學(xué)生姓名,系編號,系名,系主任)。 選課(學(xué)號,課程號,成績)。 每張表均屬于2NF。
第三范式:
在滿足1NF的基礎(chǔ)上,表中不存在非主屬性對碼的傳遞依賴。
繼續(xù)上面的實例,學(xué)生關(guān)系模式就不屬于3NF,因為學(xué)生無法直接決定系主任和系名,是由學(xué)號->系編號,再由系編號->系主任,系編號->系名,因此存在非主屬性對主屬性的傳遞依賴,
將學(xué)生表進(jìn)一步分解為:
學(xué)生(學(xué)號,學(xué)生姓名,系編號) 系(系編號,系名,系主任) 選課(學(xué)號,課程號,成績) 每張表都屬于3NF。
BC范式BCNF:
BC范式是指在第三范式的基礎(chǔ)上進(jìn)一步消除主屬性對于碼的部分函數(shù)依賴和傳遞依賴。通俗的來說,就是在每一種情況下,每一個依賴的左邊決定因素都必然包含候選鍵,如下: 上圖中,候選鍵有兩種情況:組合鍵(S,T)或者(S,J),依賴集為{SJ-T,T-J}可知,STJ三個屬性都是主屬性,因此其達(dá)到了3NF(無非主屬性),然而,第二種情況,即(SJ)為候選鍵的時候,對于依賴T->J,T在這種情況不是候選鍵,即T-J的決定因素不包含任意候選碼,因此上圖不是BCNF。
要使上圖關(guān)系模式轉(zhuǎn)換為BCNF也很簡單,只需要將依賴T->J變?yōu)門S->J即可這樣其左邊決定因素就包含了候選鍵之一S。
例題: 答案:C、A、A、D
九、模式分解
范式之間的轉(zhuǎn)換一般都是通過拆分屬性,即模式分解,將具有部分函數(shù)依賴和傳遞依賴的屬性分離出來,來達(dá)到一步步優(yōu)化,一般分為以下兩種:
保持函數(shù)依賴分解:
對于關(guān)系模式R,有依賴集F,若對R進(jìn)行分解,分解出來的多個關(guān)系模式,保持原來的依賴集不變,則為保持函數(shù)依賴的分解。另外,注意要消除掉冗余依賴(如傳遞依賴)
實例:設(shè)原關(guān)系模式R(A,B,C),依賴集F(A->B,B->C,A->C),將其分解為兩個關(guān)系模式R1(A,B)和R2(B,C),此時R1中保持依賴A->B,R2保持依賴B->C,說明分解后的R1和R2是保持函數(shù)依賴的分解,因為A->C這個函數(shù)依賴實際是一個冗余依賴,可以由前兩個依賴傳遞得到,因此不需要管。
保持函數(shù)依賴的判斷:
1、如果F上的每一個函數(shù)依賴都在其分解后的某一個關(guān)系上成立,則這個分解是保持依賴的(這是一個充分條件)。也即我們課堂上說的簡單方法,看函數(shù)每個依賴的左右兩邊屬性是否都在同一個分解的模式中。
2、如果上述判斷失敗,并不能斷言分解不是保持依賴的,還要使用下面的通用方法來做進(jìn)一步判斷。該方法的表述如下:
對F上的每一個α→β使用下面的過程:
result:=α;
while(result發(fā)生變化)do
for each 分解后的Ri
t=(result∩Ri)+ ∩Ri
result=result∪t
例題:
答案:D
無損分解:
分解后的關(guān)系模式能夠還原出原關(guān)系模式,就是無損分解,不能還原就是有損。 當(dāng)分解為兩個關(guān)系模式,可以通過以下定理判斷是否無損分解: 如果R的分解為p={R1,R2,F(xiàn)為R所滿足的函數(shù)依賴集合,分解p具有無損連接性的充分必要條件是R1nR2->(R1-R2)或者R1nR2->(R2-R1)。
當(dāng)分解為三個及以上關(guān)系模式時,可以通過表格法求解,如下: 例題: 答案:A、D
十、并發(fā)控制
事務(wù):由一系列操作組成,這些操作,要么全做,要么全不做,擁有四種特性,詳解如下:
(操作)原子性:要么全做,要么全不做。
(數(shù)據(jù))一致性:事務(wù)發(fā)生后數(shù)據(jù)是一致的,例如銀行轉(zhuǎn)賬,不會存在A賬戶轉(zhuǎn)出,但是B賬戶沒收到的情況。
(執(zhí)行)隔離性:任一事務(wù)的更新操作直到其成功提交的整個過程對其他事務(wù)都是不可見的,不同事務(wù)之間是隔離的,互不干涉。
(改變)持續(xù)性:事務(wù)操作的結(jié)果是持續(xù)性的,
事務(wù)是并發(fā)控制的前提條件,并發(fā)控制就是控制不同的事務(wù)并發(fā)執(zhí)行,提高系統(tǒng)效率,但是并發(fā)控制中存在下面三個問題:
丟失更新:事務(wù)1對數(shù)據(jù)A進(jìn)行了修改并寫回,事務(wù)2也對A進(jìn)行了修改并寫回此時事務(wù)2寫回的數(shù)據(jù)會覆蓋事務(wù)1寫回的數(shù)據(jù),就丟失了事務(wù)1對A的更新。即對數(shù)據(jù)A的更新會被覆蓋。
不可重復(fù)讀:事務(wù)2讀A,而后事務(wù)1對數(shù)據(jù)A進(jìn)行了修改并寫回,此時若事務(wù)2再讀A,發(fā)現(xiàn)數(shù)據(jù)不對。即一個事務(wù)重復(fù)讀A兩次,會發(fā)現(xiàn)數(shù)據(jù)A有誤。
讀臟數(shù)據(jù):事務(wù)1對數(shù)據(jù)A進(jìn)行了修改后,事務(wù)2讀數(shù)據(jù)A,而后事務(wù)1回滾,數(shù)據(jù)A恢復(fù)了原來的值,那么事務(wù)2對數(shù)據(jù)A做的事是無效的,讀到了臟數(shù)據(jù)。
十一、封鎖協(xié)議
X鎖是排它鎖(寫鎖)。若事務(wù)T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其他事務(wù)都不能再對A加任何類型的鎖,直到T釋放A上的鎖。
S鎖是共享鎖(讀鎖)。若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則只允許T讀取A,但不能修改A,其他事務(wù)只能再對A加S鎖(也即能讀不能修改),直到T釋放A上的S鎖。
共分為三級封鎖協(xié)議,如下直到事務(wù)結(jié)束才釋放:
一級封鎖協(xié)議:事務(wù)在修改數(shù)據(jù)R之前必須先對其加X鎖可解決丟失更新問題。 二級封鎖協(xié)議:一級封鎖協(xié)議的基礎(chǔ)上加上事務(wù)T在讀數(shù)據(jù)R之前必須先對其加S鎖,讀完后即可釋放S鎖??山鉀Q丟失更新、讀臟數(shù)據(jù)問題。
三級封鎖協(xié)議:一級封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前先對其加S鎖,直到事務(wù)結(jié)束才釋放。可解決丟失更新、讀臟數(shù)據(jù)、數(shù)據(jù)重復(fù)讀問題。
例題: 答案:C、D、C
十二、數(shù)據(jù)庫安全
靜態(tài)轉(zhuǎn)儲:即冷備份,指在轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進(jìn)行任何存取、修改操作優(yōu)點是非??焖俚膫浞莘椒ā⑷菀讱w檔(直接物理復(fù)制操作);缺點是只能提供到某一時間點上的恢復(fù),不能做其他工作,不能按表或按用戶恢復(fù)。
動態(tài)轉(zhuǎn)儲:即熱備份,在轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取、修改操作,因此,轉(zhuǎn)儲和用戶事務(wù)可并發(fā)執(zhí)行;優(yōu)點是可在表空間或數(shù)據(jù)庫文件級備份,數(shù)據(jù)庫仍可使用,可達(dá)到秒級恢復(fù)缺點是不能出錯,否則后果嚴(yán)重,若熱備份不成功,所得結(jié)果幾乎全部無效。
完全備份:備份所有數(shù)據(jù)。
差量備份:僅備份上一次完全備份之后變化的數(shù)據(jù)。
增量備份:備份上一次備份之后變化的數(shù)據(jù)。
日志文件:在事務(wù)處理過程中,DBMS把事務(wù)開始、事務(wù)結(jié)束以及對數(shù)據(jù)庫的插入、刪除和修改的每一次操作寫入日志文件。一旦發(fā)生故障,DBMS的恢復(fù)子系統(tǒng)利用日志文件撤銷事務(wù)對數(shù)據(jù)庫的改變,回退到事務(wù)的初始狀態(tài)。
十三、分布式數(shù)據(jù)庫
局部數(shù)據(jù)庫位于不同的物理位置,使用一個全局DBMS將所有局部數(shù)據(jù)庫聯(lián)網(wǎng)管理,這就是分布式數(shù)據(jù)庫。
分片模式
水平分片:將表中水平的記錄分別存放在不同的地方。
垂直分片:將表中的垂直的列值分別存放在不同的地方。
分布透明性
分片透明性:用戶或應(yīng)用程序不需要知道邏輯上訪問的表具體是如何分塊存儲的。
位置透明性:應(yīng)用程序不關(guān)心數(shù)據(jù)存儲物理位置的改變邏輯透明性:用戶或應(yīng)用程序無需知道局部使用的是哪種數(shù)據(jù)模型。
復(fù)制透明性:用戶或應(yīng)用程序不關(guān)心復(fù)制的數(shù)據(jù)從何而來。
十四、數(shù)據(jù)倉庫技術(shù)
數(shù)據(jù)倉庫是一個面向主題的、集成的、非易失的、且隨時間變化的數(shù)據(jù)集合,用于支持管理決策。 面向主題:按照一定的主題域進(jìn)行組織的。
集成的:數(shù)據(jù)倉庫中的數(shù)據(jù)是在對原有分散的數(shù)據(jù)庫數(shù)據(jù)抽取、清理的基礎(chǔ)上經(jīng)過系統(tǒng)加工、匯總和整理得到的,必須消除源數(shù)據(jù)中的不一致性,以保證數(shù)據(jù)倉庫內(nèi)的信息是關(guān)于整個企業(yè)的一致的全局信息。
相對穩(wěn)定的:數(shù)據(jù)倉庫的數(shù)據(jù)主要供企業(yè)決策分析之用,所涉及的數(shù)據(jù)操作主要是數(shù)據(jù)查詢,一旦某個數(shù)據(jù)進(jìn)入數(shù)據(jù)倉庫以后,一般情況下將被長期保留,也就是數(shù)據(jù)倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載、刷新。
反映歷史變化:數(shù)據(jù)倉庫中的數(shù)據(jù)通常包含歷史信息,系統(tǒng)記錄了企業(yè)從過去某一時點(如開始應(yīng)用數(shù)據(jù)倉庫的時點)到目前的各個階段的信息,通過這些信息,可以對企業(yè)的發(fā)展歷程和未來趨勢做出定量分析和預(yù)測。
數(shù)據(jù)倉庫的結(jié)構(gòu)通常包含四個層次,如下圖所示:
1.數(shù)據(jù)源:是數(shù)據(jù)倉庫系統(tǒng)的基礎(chǔ),是整個系統(tǒng)的數(shù)據(jù)源泉。
2.數(shù)據(jù)的存儲與管理:是整個數(shù)據(jù)倉庫系統(tǒng)的核心。
3.OLAP(聯(lián)機(jī)分析處理)服務(wù)器:對分析需要的數(shù)據(jù)進(jìn)行有效集成,按多維模型組織,以便進(jìn)行多角度、多層次的分析,并發(fā)現(xiàn)趨勢,
4.前端工具:主要包括各種報表工具、查詢工具、數(shù)據(jù)分析工具、數(shù)據(jù)挖掘工具以及各種基于數(shù)據(jù)倉庫或數(shù)據(jù)集市的應(yīng)用開發(fā)工具。 商業(yè)智能
BI系統(tǒng)主要包括數(shù)據(jù)預(yù)處理、建立數(shù)據(jù)倉庫、數(shù)據(jù)分析和數(shù)據(jù)展現(xiàn)四個主要階段。
數(shù)據(jù)預(yù)處理:整合企業(yè)原始數(shù)據(jù)的第一步,它包括數(shù)據(jù)的抽取(Extraction)、轉(zhuǎn)換(Transformation)和加載(Load)三個過程(ETL過程)。
建立數(shù)據(jù)倉庫:處理海量數(shù)據(jù)的基礎(chǔ)。
數(shù)據(jù)分析:體現(xiàn)系統(tǒng)智能的關(guān)鍵,一般采用聯(lián)機(jī)分析處理(OLAP)和數(shù)據(jù)挖掘兩大技術(shù)。聯(lián)機(jī)分析處理不僅進(jìn)行數(shù)據(jù)匯總/聚集,同時還提供切片、切塊、下鉆、上卷和旋轉(zhuǎn)等數(shù)據(jù)分析功能,用戶可以方便地對海量數(shù)據(jù)進(jìn)行多維分析。數(shù)據(jù)挖掘的目標(biāo)則是挖掘數(shù)據(jù)背后隱藏的知識,通過關(guān)聯(lián)分析聚類和分類等方法建立分析模型,預(yù)測企業(yè)未來發(fā)展趨勢和將要面臨的問題。
數(shù)據(jù)展現(xiàn):主要保障系統(tǒng)分析結(jié)果的可視化。
十五、反規(guī)范化技術(shù)
反規(guī)范化技術(shù):規(guī)范化設(shè)計后,數(shù)據(jù)庫設(shè)計者希望犧牲部分規(guī)范化來提高性能。
采用反規(guī)范化技術(shù)的益處:降低連接操作的需求、降低外碼和索引的數(shù)目,還可能減少表的數(shù)目,能夠提高查詢效率。
可能帶來的問題:數(shù)據(jù)的重復(fù)存儲,浪費了磁盤空間;可能出現(xiàn)數(shù)據(jù)的完整性問題,為了保障數(shù)據(jù) 的一致性,增加了數(shù)據(jù)維護(hù)的復(fù)雜性,會降低修改速度。
反規(guī)范化具體方法:
增加冗余列:在多個表中保留相同的列,通過增加數(shù)據(jù)冗余減少或避免查詢時的連接操作。
增加派生列:在表中增加可以由本表或其它表中數(shù)據(jù)計算生成的列,減少查詢時的連接操作并避免計算或使用集合函數(shù)。
重新組表:如果許多用戶需要查看兩個表連接出來的結(jié)果數(shù)據(jù),則把這兩個表重新組成一個表來減少連接而提高性能。
水平分割表:根據(jù)一列或多列數(shù)據(jù)的值,把數(shù)據(jù)放到多個獨立的表中,主要用于表數(shù)據(jù)規(guī)模很大、表中數(shù)據(jù)相對獨立或數(shù)據(jù)需要存放到多個介質(zhì)上時使用。
垂直分割表:對表進(jìn)行分割,將主鍵與部分列放到一個表中,主鍵與其它列放到另一個表中,在查詢時減少//0次數(shù)。
十六、大數(shù)據(jù)
特點:大量化、多樣化、價值密度低、快速化。
大數(shù)據(jù)和傳統(tǒng)數(shù)據(jù)的比較如下: 要處理大數(shù)據(jù)稱為大數(shù)據(jù)處理系統(tǒng),一般使用集成平臺,其特征為:高度可擴(kuò)展性、高性能、高度容錯、支持異構(gòu)環(huán)境、較短的分析延遲、易用且開放的接口、較低成本、向下兼容性。
例題:
答案:C、B、C
十七、SQL語言
SQL語言中的語法關(guān)鍵字,不區(qū)分大小寫:
創(chuàng)建表create table;
指定主鍵primary key();
指定外鍵foreign key();
修改表alter table;
刪除表drop table;
索引index,視圖view;
數(shù)據(jù)庫查詢:select…from…where;
分組查詢group by:分組時要注意select后的列名要適應(yīng)分組,having為分組查詢附加條件:
select sno,avg(score) from student group by sno having(avg(score)>60)
更名運算as:
select sno as “學(xué)號” from t1
字符串匹配like:%匹配多個字符串,匹配任意一個字符串:
select*from t1where sname like 'a'
數(shù)據(jù)庫插入insert into…values():
insert into t1 values('a',66)
數(shù)據(jù)庫刪除delete from…where:
delete t1 where sno=4
數(shù)據(jù)庫修改update…set…where:
update t1 set sname='aa where sno=3
排序order by:默認(rèn)為升序,降序要加關(guān)鍵字DE5C。
select * from t1 order bysno desc
DISTINCT:過濾重復(fù)的選項,只保留一條記錄。
UNION:出現(xiàn)在兩個SQL語句之間,將兩個SQL語句的查詢結(jié)果取或運算,即值存在于第一句或第二句都會被選出。
INTERSECT:對兩個SQL語句的查詢結(jié)果做與運算,即值同時存在于兩個語句才被選出。
MIN、AVG、MAX:分組查詢時的聚合函數(shù)。
例題: 答案:A、A、D 答案:C、A、D、B
好了,到這里就總結(jié)完了。大家千萬不要放棄,最好的東西,總會壓軸出場!加油!
最后依舊是請希望大家能給作者點個關(guān)注,謝謝大家!各位老板有錢的捧個人場,沒錢的也捧個人場,謝謝各位老板!
柚子快報邀請碼778899分享:系統(tǒng)架構(gòu)師考點--數(shù)據(jù)庫系統(tǒng)
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。