贛州網(wǎng)站建設(shè)jxgzg3百度導(dǎo)航如何設(shè)置公司地址
一、重點(diǎn)知識(shí)點(diǎn)
- 基本概念:三級(jí)模式-兩級(jí)映像、數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)模型:E-R模型、關(guān)系模型、關(guān)系代數(shù)(結(jié)合SQL語言)
- 規(guī)范化:函數(shù)依賴、健與約束、范式、模式分解
- 事務(wù)并發(fā):并發(fā)三種問題、三級(jí)封鎖協(xié)議
- 數(shù)據(jù)庫(kù)新技術(shù):數(shù)據(jù)庫(kù)安全與備份、反規(guī)范化、分布式數(shù)據(jù)庫(kù)、緩存數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)集群
二、三級(jí)模式-兩級(jí)映像
- 內(nèi)模式:管理如何存儲(chǔ)物理的數(shù)據(jù),對(duì)應(yīng)具體物理存儲(chǔ)文件,
- 模式:又稱為概念模式,就是我們通常使用的基本表,根據(jù)應(yīng)用、需求將物理數(shù)據(jù)劃分成一張張表。
- 外模式:對(duì)應(yīng)數(shù)據(jù)庫(kù)中的視圖這個(gè)級(jí)別,將表進(jìn)行一定的處理后再提供給用戶使用。
- 外模式-模式映像:是表和視圖之間的映射,存在于概念級(jí)和外部級(jí)之間,若表中數(shù)據(jù)發(fā)生了修改,只需要修改此映射,而無需修改應(yīng)用程序。
- 模式-內(nèi)模式映像:是表和數(shù)據(jù)的物理存儲(chǔ)之間的映射,存在于概念級(jí)和內(nèi)部級(jí)之間,若修改了數(shù)據(jù)存儲(chǔ)方式,只需要修改此映射,而不需要去修改應(yīng)用程序。
三、數(shù)據(jù)庫(kù)設(shè)計(jì)
- 需求分析:即分析數(shù)據(jù)存儲(chǔ)的要求,產(chǎn)出物有數(shù)據(jù)流圖、數(shù)據(jù)字典、需求說明書。
- 概念結(jié)構(gòu)設(shè)計(jì):就是設(shè)計(jì)E-R圖,也即實(shí)體-屬性圖,與物理實(shí)現(xiàn)無關(guān),說明有哪些實(shí)體,實(shí)體有哪些屬性。
- 邏輯結(jié)構(gòu)設(shè)計(jì):將E-R圖,轉(zhuǎn)換成關(guān)系模式,也即轉(zhuǎn)換成實(shí)際的表和表中的列屬性,這里要考慮很多規(guī)范化的東西。
- 物理設(shè)計(jì):根據(jù)生成的表等概念,生成物理數(shù)據(jù)庫(kù)。
四、E-R模型
- 實(shí)體:客觀存在并可相關(guān)區(qū)別的事務(wù)??梢允蔷唧w的人、事、物或抽象概念。
- 若實(shí)體和強(qiáng)實(shí)體:若實(shí)體依賴于強(qiáng)實(shí)體的存在而存在。
- 屬性:實(shí)體所具有的特性。
- 屬性分類:簡(jiǎn)單屬性和符合屬性;單值屬性和多值屬性;NULL屬性;派生屬性。
- 域:屬性的取值范圍稱為該屬性的域。
- 碼(key):唯一標(biāo)識(shí)實(shí)體的屬性集。
- 聯(lián)系:在E-R圖中反應(yīng)實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。
- 聯(lián)系類型:一對(duì)一1:1、一對(duì)多1:N、多對(duì)多M:N。
五、關(guān)系模型
- 關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,由行列組成:
- ?E-R模型轉(zhuǎn)換為關(guān)系模型:每個(gè)實(shí)體都對(duì)應(yīng)一個(gè)關(guān)系模式:聯(lián)系分為三種:
- 1:1聯(lián)系中,聯(lián)系可以放到任意的兩端實(shí)體中,作為一個(gè)屬性(要保證1:1的兩端關(guān)聯(lián)),也可以轉(zhuǎn)換為一個(gè)單獨(dú)的關(guān)系模式;
- 1:N的聯(lián)系中,聯(lián)系可以單獨(dú)作為一個(gè)關(guān)系模式,也可以在B端中加入1端實(shí)體的主鍵;
- M:N的聯(lián)系中,聯(lián)系必須作為一個(gè)單獨(dú)的關(guān)系模式,其主鍵是M和N端的聯(lián)合主鍵。
六、關(guān)系代數(shù)
- 笛卡爾積:S1*S2,產(chǎn)生的結(jié)果包括S1和S2的所有屬性列,并且S1中每條記錄依次和S2中所有記錄組合成一條記錄,最終屬性列為S1+S2屬性列,記錄數(shù)為S1*S2記錄數(shù)。
- 投影:實(shí)際是按條件選擇某關(guān)系模式中的某列,列也可以用數(shù)字表示。
- 選擇:實(shí)際是按條件選擇某關(guān)系模式中的某條記錄
- ?自然連接的結(jié)果是顯示全部的屬性列,但是相同屬性列只顯示一次,顯示兩個(gè)關(guān)系模式中屬性相同且值相同的記錄。
? ? ? ?
七、函數(shù)依賴
- 給定一個(gè)X,能唯一確定一個(gè)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不等價(jià)時(shí),A可確定B,B可確定C,則A可確定C,是傳遞函數(shù)依賴;若A和B等價(jià),則不存在傳遞,直接就可確定C。
- 超鍵:能唯一標(biāo)識(shí)此表的屬性的組合。
- 候選鍵:超鍵中去掉冗余的屬性,剩余的屬性就是候選鍵。
- 主鍵:任選一個(gè)候選鍵,即可作為主鍵。
- 外鍵:其他表中的主鍵。
- 主屬性:候選鍵內(nèi)的屬性為主屬性,其他屬性為非主屬性。
八、范式? ? ?
- 第一范式1NF:關(guān)系中的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)
- 實(shí)例:用一個(gè)單一的關(guān)系模式學(xué)生來描述學(xué)校的教務(wù)系統(tǒng):學(xué)生(學(xué)號(hào)、學(xué)生姓名、系號(hào)、系主任姓名、課程號(hào)、成績(jī))
- 依賴關(guān)系(學(xué)號(hào)→學(xué)生姓名,學(xué)號(hào)→系名,系名→系主任姓名,(學(xué)號(hào),課程號(hào))→成績(jī))
- ?第二范式:如果關(guān)系R屬于1NF,且每個(gè)非主屬性完全函數(shù)依賴于任何一個(gè)候選碼,則R屬于2NF。通俗地說,2NF就是在1NF的基礎(chǔ)上,表中的每一個(gè)非主屬性不會(huì)依賴符合主鍵中的某一個(gè)列。按照定義,上面的學(xué)生表就不滿足2NF,因?yàn)閷W(xué)號(hào)不能完全確定課程號(hào)和成績(jī)(每個(gè)學(xué)生可以選多門課)。將學(xué)生表分解為:
- 學(xué)生(學(xué)號(hào)、學(xué)生姓名、系名、系主任)
- 選課(學(xué)號(hào)、課程號(hào)、成績(jī))
- 每張表均屬于2NF。
- 第三范式:在滿足1NF的基礎(chǔ)上,表中不存在非主屬性對(duì)碼的傳遞依賴。
- 繼續(xù)上面的實(shí)例,學(xué)生關(guān)系模式就不屬于3NF,因?yàn)閷W(xué)生無法直接決定系主任,是由學(xué)號(hào)→系名,再由系名→系主任,因此存在非主屬性對(duì)主屬性的傳遞依賴
- 將學(xué)生表進(jìn)一步分解為:
- 學(xué)生(學(xué)號(hào)、學(xué)生姓名、系編號(hào))
- 系(系編號(hào),系號(hào),系主任)
- 選課(學(xué)號(hào)、課程號(hào)、成績(jī))
- 每張表都屬于3NF
?九、SQL語句關(guān)鍵字
- 數(shù)據(jù)庫(kù)查詢select…from…where;
- 分組查詢group by,分組時(shí)要注意select后的列名要適應(yīng)分組,having為分組查詢附加條件:select sno,avg(score)from student group by sno having(avg(score)>60)
- 更名運(yùn)算as: select sno as “學(xué) 號(hào)”from t1
- 字符串匹配like,%匹配多個(gè)字符串,_匹配任意一個(gè)字符串:select*from t1 where sname like 'a_'
- 數(shù)據(jù)庫(kù)插入insert into…values(): insert into t1 values('a',66)
- 數(shù)據(jù)庫(kù)刪除delete from…where: delete t1 where sno=4
- 數(shù)據(jù)庫(kù)修改update…set…where: update t1 set sname='aa' where sno=3
- 排序order by,默認(rèn)為升序,降序要加關(guān)鍵字DESC: select* from t1 order by sno desc
- 授權(quán)Grant,with grant option允許授權(quán)他人
- DISTINCT:過濾重復(fù)的選項(xiàng),只保留一條記錄。
- UNION : 出現(xiàn)在兩個(gè)SQL語句之間,將兩個(gè)SQL語句的查詢結(jié)果取或運(yùn)算,即值存在于第一句或第二句都會(huì)被選出。
- ?INTERSECT : 對(duì)兩個(gè)SQL語句的查詢結(jié)果做與運(yùn)算,即值同時(shí)存在于兩個(gè)語句才被選出。
- MIN、AVG、MAX:分組查詢時(shí)的聚合函數(shù)
十、并發(fā)控制
- 丟失更新:事務(wù)1對(duì)數(shù)據(jù)A進(jìn)行了修改并寫回,事務(wù)2也對(duì)A進(jìn)行了修改并寫回,此時(shí)事務(wù)2寫回的數(shù)據(jù)會(huì)覆蓋事務(wù)1寫回的數(shù)據(jù),就丟失了事務(wù)1對(duì)A的更新。即對(duì)數(shù)據(jù)A的更新會(huì)被覆蓋。
- 不可重復(fù)讀:事務(wù)2讀A,而后事務(wù)1對(duì)數(shù)據(jù)A進(jìn)行了修改并寫回,此時(shí)若事務(wù)2再讀A,發(fā)現(xiàn)數(shù)據(jù)不對(duì)。即一個(gè)事務(wù)重復(fù)讀A兩次,會(huì)發(fā)現(xiàn)數(shù)據(jù)A有誤。
- 讀臟數(shù)據(jù):事務(wù)1對(duì)數(shù)據(jù)A進(jìn)行了修改后,事務(wù)2讀數(shù)據(jù)A,而后事務(wù)1回滾,數(shù)據(jù)A恢復(fù)了原來的值,那么事務(wù)2對(duì)數(shù)據(jù)A做的事是無效的,讀到了臟數(shù)據(jù)。
?
十一、分布式數(shù)據(jù)庫(kù)
- 局部數(shù)據(jù)庫(kù)位于不同的物理位置,使用一個(gè)全局DBMS將所有局部數(shù)據(jù)庫(kù)聯(lián)網(wǎng)管理,這就是分布式數(shù)據(jù)庫(kù)。
- 分片模式
- 水平分片:將表中水平的記錄分別存放在不同的地方。
- 垂直分片:將表中的垂直的列值分別存放在不同的地方。
- 分布透明性
- 分片透明性:用戶或應(yīng)用程序不需要知道邏輯上訪問的表具體是如何分塊存儲(chǔ)的。
- 位置透明性:應(yīng)用程序不關(guān)心數(shù)據(jù)存儲(chǔ)物理位置的改變。邏輯透明性:用戶或應(yīng)用程序無需知道局部使用的是哪種數(shù)據(jù)模型。
- 復(fù)制透明性:用戶或應(yīng)用程序不關(guān)心復(fù)制的數(shù)據(jù)從何而來。