《数据库原理》——知识点总结(期末复习)
文章目錄
- 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)(第1、2章)
- 概念模型
- 一、模型的三個(gè)世界
- 二、實(shí)體及屬性
- 三、實(shí)體間的聯(lián)系:
- 四、概念模型(常用E-R圖表示)
- 數(shù)據(jù)模型
- 一、層次模型:用樹(shù)型結(jié)構(gòu)表示實(shí)體之間的聯(lián)系。
- 二、網(wǎng)狀模型:用圖結(jié)構(gòu)表示實(shí)體之間的聯(lián)系。
- 三、關(guān)系模型:用二維表表示實(shí)體之間的聯(lián)系。
- 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)
- 一、數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)
- 一、基本概念
- 數(shù)據(jù)庫(kù)設(shè)計(jì) (第3章)
- 一、數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟
- 概念結(jié)構(gòu)設(shè)計(jì)
- 局部E-R圖設(shè)計(jì)
- 合并成總體E-R圖
- 邏輯結(jié)構(gòu)設(shè)計(jì)
- 一、聯(lián)系的屬性和主碼
- E-R圖向關(guān)系模型的轉(zhuǎn)換
- 三 關(guān)系數(shù)據(jù)庫(kù) (第4章)
- 一、域
- 笛卡爾積
- 關(guān)系
- 關(guān)系的完整性
- 關(guān)系代數(shù)
- 一、傳統(tǒng)的集合運(yùn)算
- 二、專(zhuān)門(mén)的關(guān)系運(yùn)算
- 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論(第7章)
- 函數(shù)依賴
- 一、有關(guān)概念:
- 二、平凡函數(shù)依賴與非平凡函數(shù)依賴
- 關(guān)系模式的規(guī)范化
- 一、問(wèn)題提出
- 二、范式
- 三、關(guān)系模式的規(guī)范化
- 數(shù)據(jù)庫(kù)保護(hù)技術(shù)(第8章)
- 索引
- 視圖
- 事務(wù)處理與并發(fā)控制
- 數(shù)據(jù)的鎖定
- **一、并發(fā)操作與數(shù)據(jù)不一致性**
- 1.數(shù)據(jù)不一致性包括三類(lèi)
- 2.產(chǎn)生數(shù)據(jù)不一致性的原因
- 二、并發(fā)控制的目標(biāo)、方法
- 一、 封鎖(Locking)
- 四、死鎖和活鎖
- 1.死鎖:
- 2.活鎖:
- 寫(xiě)在最后
數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)(第1、2章)
概念模型
一、模型的三個(gè)世界
注意:信息世界又稱(chēng)概念模型,機(jī)器世界又稱(chēng)數(shù)據(jù)模型
二、實(shí)體及屬性
一個(gè)表的碼可以有多個(gè),但主碼只能有一個(gè)。
例:借書(shū)表(學(xué)號(hào),姓名,書(shū)號(hào),書(shū)名,作者,定價(jià),借期,還期)
規(guī)定:學(xué)生一次可以借多本書(shū),同一種書(shū)只能借一本,但可以多次續(xù)借。
例 student(no,name,sex,age,dept)
三、實(shí)體間的聯(lián)系:
1.兩實(shí)體集間實(shí)體之間的聯(lián)系
-
1:1聯(lián)系
-
1:n聯(lián)系
-
m:n聯(lián)系
2.同一實(shí)體集內(nèi)實(shí)體之間的聯(lián)系
- 1:1聯(lián)系
- 1:n聯(lián)系
- m:n聯(lián)系
四、概念模型(常用E-R圖表示)
實(shí)體型:□
屬性:○
聯(lián)系: ◇
說(shuō)明:
① E-R圖作為用戶與開(kāi)發(fā)人員的中間語(yǔ)言。
② E-R圖可以等價(jià)轉(zhuǎn)換為層次、網(wǎng)狀、關(guān)系模型。
舉例:學(xué)校有若干個(gè)系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,其中有的教授和副教授每人各帶若干研究生。每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門(mén)課程有若干學(xué)生選修。用E-R圖畫(huà)出概念模型。
數(shù)據(jù)模型
一、層次模型:用樹(shù)型結(jié)構(gòu)表示實(shí)體之間的聯(lián)系。
- 每個(gè)節(jié)點(diǎn)代表一個(gè)實(shí)體型.
- 只能直接處理一對(duì)多(含一對(duì)一)的實(shí)體關(guān)系.
- 查找層次數(shù)據(jù)庫(kù)中的記錄,速度較慢。
二、網(wǎng)狀模型:用圖結(jié)構(gòu)表示實(shí)體之間的聯(lián)系。
- 每個(gè)節(jié)點(diǎn)代表一個(gè)實(shí)體型。
- 可以處理多對(duì)多的實(shí)體關(guān)系。
- 查找網(wǎng)狀數(shù)據(jù)庫(kù)中的記錄,速度最快。
三、關(guān)系模型:用二維表表示實(shí)體之間的聯(lián)系。
1.重要術(shù)語(yǔ):
- 關(guān)系:一個(gè)關(guān)系就是一個(gè)二維表:
- 元組:二維表的一行,即實(shí)體:
- 關(guān)系模式:在實(shí)體型的基礎(chǔ)上,注明主碼。
- 關(guān)系模型:指一個(gè)數(shù)據(jù)庫(kù)中全部二維表結(jié)構(gòu)的集合。
2.特點(diǎn):
小結(jié):數(shù)據(jù)中有三種類(lèi)型,DBMS就有三種類(lèi)型,DB亦有三種類(lèi)型。
數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)
一、數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)
模式:是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。
模式只涉及數(shù)據(jù)庫(kù)的結(jié)構(gòu);
模式既不涉及應(yīng)用程序,又不涉及數(shù)據(jù)庫(kù)結(jié)構(gòu)的存儲(chǔ);
外模式:是模式的一個(gè)子集,是與一個(gè)應(yīng)用程序有關(guān)的邏輯表示。特點(diǎn):一個(gè)應(yīng)用程序只能使用一個(gè)外模式,但同一個(gè)外模式可為多個(gè)應(yīng)用程序使用。
內(nèi)模式:描述數(shù)據(jù)庫(kù)結(jié)構(gòu)的存儲(chǔ),但不涉及物理記錄。
2.兩級(jí)映象
1. 外模式/模式映象:保證數(shù)據(jù)庫(kù)的邏輯獨(dú)立性;
2. 模式/內(nèi)模式映象:保證數(shù)據(jù)庫(kù)的物理獨(dú)立性;
3.兩級(jí)映象的意義
數(shù)據(jù)庫(kù)管理系統(tǒng)
DBMS的功能:負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理與控制。
一、基本概念
例如:student ( sno, sname, ssex, sage, sdept)
Sc ( sno, cno, grade)
Sc的主碼為:(sno,cno);外碼為:sno
數(shù)據(jù)庫(kù)設(shè)計(jì) (第3章)
一、數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟
- 需求分析:了解分析用戶的需要、要求。
- 概念結(jié)構(gòu)設(shè)計(jì):根據(jù)需求分析的結(jié)果畫(huà)概念模型(即E-R圖).
- 邏輯結(jié)構(gòu)設(shè)計(jì):將E-R圖轉(zhuǎn)換為某一種數(shù)據(jù)模型,并優(yōu)化。
- 物理結(jié)構(gòu)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)實(shí)施
- 數(shù)據(jù)庫(kù)運(yùn)行與恢復(fù)
概念結(jié)構(gòu)設(shè)計(jì)
局部E-R圖設(shè)計(jì)
1.確定局部范圍:通常把系統(tǒng)涉及的各個(gè)部門(mén)或各個(gè)主要功能作為局部。
2.確定實(shí)體與屬性
- ① 屬性是不能再分的數(shù)據(jù)項(xiàng);
- ② 聯(lián)系只發(fā)生在兩實(shí)體之間;
- ③ 原則上,能夠作為屬性,就不要作為實(shí)體。
合并成總體E-R圖
- 消除各局部E-R圖的沖突問(wèn)題。
- 按公共實(shí)體名合并,并生成初步E-R圖。
- 消除冗余的屬性和冗余的聯(lián)系,生成總體E-R圖。
邏輯結(jié)構(gòu)設(shè)計(jì)
一、聯(lián)系的屬性和主碼
-
(1)聯(lián)系的屬性:必須包含相關(guān)聯(lián)的各實(shí)體型的主碼。
-
1:1聯(lián)系:可以是相關(guān)聯(lián)的任一實(shí)體型的主碼。
-
1:n聯(lián)系:必須是n方實(shí)體型的主碼。
-
m:n聯(lián)系:必須是相關(guān)聯(lián)的各實(shí)體型的主碼之和。
E-R圖向關(guān)系模型的轉(zhuǎn)換
(1)把每個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。
(2)1:1聯(lián)系:可以消化到相關(guān)聯(lián)的任一實(shí)體型對(duì)應(yīng)的關(guān)系模式中。
班長(zhǎng)( XH, XM, NL,BH)
班級(jí)(BH,RS)
(3)1:n聯(lián)系:可以消化到n方實(shí)體名對(duì)應(yīng)的關(guān)系模式中。
例:一個(gè)班級(jí)有多名學(xué)生,每名學(xué)生只能屬于一個(gè)班級(jí)。每一個(gè)班級(jí)有一名班長(zhǎng),他是學(xué)生中的一員。
學(xué)生(XH,XM,NL,BH)
班級(jí)(BH,RS,XH)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ↓ →班長(zhǎng)的學(xué)號(hào)
(4)m:n聯(lián)系:必須轉(zhuǎn)換為一個(gè)關(guān)系模式,并且不能消化。
例:
學(xué)生(sno,sname, ssex, sage, sdept)
課程(cno, cname,credit)
選修(sno, cno, grade)
(5)多元聯(lián)系:不能消化
例:
三 關(guān)系數(shù)據(jù)庫(kù) (第4章)
一、域
笛卡爾積
關(guān)系
關(guān)系的完整性
例: 班級(jí)( 班名,人數(shù)) 學(xué)生(學(xué)號(hào),姓名,性別,密碼,班名) 在學(xué)生表中,班名的取值必須是班級(jí)表[班名]的值或空值。
關(guān)系代數(shù)
一、傳統(tǒng)的集合運(yùn)算
設(shè)關(guān)系R、S的結(jié)構(gòu)完全相同,則:
- R∪S:由屬于R或?qū)儆赟的元組組成。
- R∩S:由既屬于R又屬于S的元組組成。
- R-S:由屬于R而不屬于S的元組組成。
思考:(R∩S)∪(R-S)=?(結(jié)果就是R)
R×S:設(shè)R有m個(gè)屬性,K1個(gè)元組;S有n個(gè)屬性,K2個(gè)元組,則R×S含有(m+n)個(gè)屬性,(K1×K2)個(gè)元組。
二、專(zhuān)門(mén)的關(guān)系運(yùn)算
選擇:從關(guān)系R中選擇滿足條件的元組。記為:
投影:從關(guān)系R中選擇若干屬性組成新的關(guān)系,并把新關(guān)系的重復(fù)元組去掉。記為:
條件連接:將兩關(guān)系按一定條件連接成一個(gè)新關(guān)系,記為:
說(shuō)明:條件連接:兩關(guān)系可以沒(méi)有公共屬性,若有公共屬性,則新關(guān)系含有重復(fù)屬性。
記為:
說(shuō)明:
- ① 自然連接:兩關(guān)系至少有一個(gè)公共屬性。
- ② 對(duì)于R的每個(gè)元組,S都從第一個(gè)元組開(kāi)始判斷,若兩元組的公共屬性值相同,則產(chǎn)生一個(gè)新元組添加到新關(guān)系中,最后把新關(guān)系中的重復(fù)屬性去掉。
關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論(第7章)
函數(shù)依賴
一、有關(guān)概念:
。
結(jié)論:若x→y,且x只包含一個(gè)屬性,則
若x→y,且存在x的一個(gè)真子集x′,滿足x′→y,則稱(chēng)x部分決定y,或y部分函數(shù)依賴于x。記為:
。
二、平凡函數(shù)依賴與非平凡函數(shù)依賴
設(shè)x→y,如果y是x的子集,則該依賴是平凡的。如:
Sno,sname→sno
如果y中至少有一個(gè)屬性不在x中,則該依賴是非平凡的。如:
Sno,sname→sname,sdept
如果y中沒(méi)有一個(gè)屬性在x中,則該依賴為完全非平凡的。
關(guān)系模式的規(guī)范化
一、問(wèn)題提出
| 961 | -C1- | -OS- | -高明- | -D1- | -70- |
| 962 | -C2- | -DBS- | -高飛- | -D2- | -72- |
| 962 | -C4- | -AI- | -高飛- | -D2- | -80- |
| 962 | -C1- | -OS- | -高明- | -D1- | -75- |
| 963 | C1 | OS | 高明 | D1 | 90 |
答:存在問(wèn)題
如:新開(kāi)課程沒(méi)有學(xué)生選修時(shí),新開(kāi)課程的課程號(hào)、課程名插不進(jìn)去。
如選修某門(mén)課的學(xué)生畢業(yè)了,在刪除學(xué)生信息的同時(shí),把課程信息也刪除掉。
結(jié)論:一個(gè)好的關(guān)系模式應(yīng)滿足:
- ① 冗余應(yīng)盡可能少;
- ② 應(yīng)盡可能避免插入、刪除異常;
- ③ 消去關(guān)系中不合適的屬性依賴關(guān)系。
二、范式
-
什么叫范式?
答:指一個(gè)關(guān)系的非主屬性函數(shù)依賴于主碼的程度。 -
什么叫關(guān)系規(guī)范化?
答:指一個(gè)關(guān)系從低級(jí)范式向高級(jí)范式的轉(zhuǎn)換過(guò)程。
-
應(yīng)用:關(guān)系規(guī)范化理論應(yīng)用在邏輯結(jié)構(gòu)設(shè)計(jì)階段。
三、關(guān)系模式的規(guī)范化
1.第一范式(1NF)
- ① 定義:若關(guān)系R的所有屬性不能再分,則R∈1NF
2.第二范式(2NF)
① 定義:若關(guān)系R∈1NF,且它的每個(gè)非主屬性都完全依賴于主碼,則稱(chēng)R∈2NF。
② 存在問(wèn)題:
- 冗余大: R1必要冗余,R2冗余可以修改。
- 修改麻煩
- 插入異常:如新來(lái)的教師沒(méi)有上課,則該教師的信息就沒(méi)辦法插入R2表中。
- 刪除異常:若某位教師只授一門(mén)課,當(dāng)該門(mén)課不開(kāi)時(shí),該教師的信息亦被刪除。
③ 原因:存在非主屬性對(duì)主碼的傳遞依賴。
④ 解決辦法:將R2 一分為二
3.第三范式(3NF)
① 定義:若關(guān)系R∈2NF,且它的每個(gè)非主屬性都不傳遞依賴于主碼,則稱(chēng)R∈3NF。
② 規(guī)范化過(guò)程
非規(guī)范關(guān)系
↓使每個(gè)屬性都不能再分
1NF
↓消去非主屬性對(duì)主碼的部分依賴
2NF
↓消去非主屬性對(duì)主碼的傳遞依賴
3NF
BCNF:關(guān)系模式R<U,F>中,如每一個(gè)決定因素都包含碼,則R是BC范式。如果R屬于BCNF 那么R一定屬于3NF,反之未必。
4.結(jié)論
- ① 若R∈1NF,且主碼只含一個(gè)屬性,則R一定為2NF。
- ② 若R∈2NF,且只有0~1個(gè)非主屬性,則R一定為3NF。
- ③ 3NF一般控制了數(shù)據(jù)冗余,一般避免了操作異常。
- ④ 范式并非越高越好,適可而止。
數(shù)據(jù)庫(kù)保護(hù)技術(shù)(第8章)
一、兩種身份驗(yàn)證模式:
二、兩種身份驗(yàn)證:
用戶登錄到SQL Server時(shí),必須使用特定的登錄名和密碼標(biāo)識(shí)自己。
常用安全性控制方法:用戶標(biāo)識(shí)和控制、存取控制、視圖、審計(jì)、數(shù)據(jù)加密。
索引
一、索引的概念:
- ①索引使用戶能快速訪問(wèn)數(shù)據(jù)表的特定信息。
- ② 索引必須依附于某個(gè)基本表,不能單獨(dú)存在。
二、索引的類(lèi)型:
- 聚集索引:影響數(shù)據(jù)表的記錄順序
- 非聚集索引:不會(huì)影響數(shù)據(jù)表的記錄順序
注:一個(gè)表只能建立一個(gè)聚集索引,但可以建立若干個(gè)非聚集索引。
三、創(chuàng)建索引
1.自動(dòng)創(chuàng)建索引:
- 如果在數(shù)據(jù)表的某個(gè)屬性設(shè)置主鍵約束或唯一約束,則系統(tǒng)將在這些屬性上自動(dòng)創(chuàng)建唯一索引。
- 自動(dòng)創(chuàng)建的索引隨約束的存在而存在,隨約束的消失而消失。
視圖
一、視圖的特點(diǎn):
- ①視圖只有結(jié)構(gòu),沒(méi)有記錄,是虛表;
- ②一個(gè)視圖總對(duì)應(yīng)著一個(gè)select語(yǔ)句;
- ③對(duì)視圖的查詢、更新,實(shí)際上是對(duì)基本表的查詢、更新。
事務(wù)處理與并發(fā)控制
1.什么叫事務(wù)?
答: 事務(wù)是用戶定義的一組操作序列。
- ③ 事務(wù)是并發(fā)控制的基本單位。
- ④ 一個(gè)事務(wù)包含的諸操作要么都執(zhí)行,要么都不執(zhí)行
1. 事務(wù)的屬性
數(shù)據(jù)的鎖定
一、并發(fā)操作與數(shù)據(jù)不一致性
1.數(shù)據(jù)不一致性包括三類(lèi)
- 丟失修改:指事務(wù)1與事務(wù)2從數(shù)據(jù)庫(kù)中讀入同一數(shù)據(jù)并修改,事務(wù)2的提交結(jié)果破壞事務(wù)1提交的結(jié)果,導(dǎo)致事務(wù)1的修改被丟失。
- 不可重復(fù)讀:指事務(wù)1讀取數(shù)據(jù)后,事務(wù)2執(zhí)行更新操作,使事務(wù)1無(wú)法再現(xiàn)前一次讀取結(jié)果。
- 讀臟數(shù)據(jù):指事務(wù)1修改某一數(shù)據(jù)后,事務(wù)2讀取該數(shù)據(jù),事務(wù)1由于某種原因被撤銷(xiāo),這時(shí)數(shù)據(jù)又恢復(fù)到原值,事務(wù)2讀到的數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)不一致,稱(chēng)為“臟”數(shù)據(jù)。
2.產(chǎn)生數(shù)據(jù)不一致性的原因
- 并發(fā)操作破壞了事務(wù)的隔離性。
二、并發(fā)控制的目標(biāo)、方法
-
目標(biāo):確保DB中的數(shù)據(jù)一致性。
-
并發(fā)事務(wù)正確性的原則 :幾個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與任何一個(gè)串行執(zhí)行的結(jié)果相同。
-
并發(fā)控制的方法 DBMS一般采用“封鎖”技術(shù),保證并發(fā)操作的可串行化。
一、 封鎖(Locking)
1. 什么叫封鎖?
答:SQL Server自動(dòng)強(qiáng)制封鎖,并且會(huì)將封鎖粒度控制在合適的級(jí)別,用戶不必考慮封鎖問(wèn)題。
2. 封鎖類(lèi)型
- 排它鎖(X鎖):事務(wù)T對(duì)數(shù)據(jù)A加X(jué)鎖,其它事務(wù)不能再對(duì)A加鎖,即其它事務(wù)不能讀取和修改A。
- 共享鎖(S鎖):事務(wù)T對(duì)數(shù)據(jù)A加S鎖,其它事務(wù)只能再對(duì)A加S鎖,即其它事務(wù)只能讀A,不能修改A。
3. 封鎖粒度
封鎖對(duì)象可以是屬性列、元組、關(guān)系、整個(gè)數(shù)據(jù)庫(kù)。封鎖對(duì)象的大小稱(chēng)為封鎖粒度。封鎖粒度越小,并發(fā)度越高,但并發(fā)控制的開(kāi)銷(xiāo)越大。
4. 封鎖協(xié)議
事務(wù)T在修改數(shù)據(jù)A之前,必須對(duì)其加X(jué)鎖,直到事務(wù)結(jié)束才釋放。
事務(wù)T在讀取數(shù)據(jù)A之前,必須對(duì)其加S鎖,直到事務(wù)結(jié)束才釋放。 遵循封鎖協(xié)議,可以解決三種數(shù)據(jù)不一致性問(wèn)題:
四、死鎖和活鎖
封鎖技術(shù)可以解決并發(fā)操作的不一致性問(wèn)題,但也帶來(lái)新的問(wèn)題,即死鎖和活鎖。
1.死鎖:
① 定義:兩個(gè)事務(wù)已經(jīng)各自鎖定一個(gè)數(shù)據(jù),但是又要訪問(wèn)被對(duì)方鎖定的數(shù)據(jù),造成了循環(huán)等待,稱(chēng)為死鎖。
避免死鎖的方法:
- 順序封鎖法:若規(guī)定封鎖順序?yàn)锳,B,則T1,T2只能先封鎖A,再封鎖B。
2.活鎖:
- ① 定義:若多個(gè)事務(wù)請(qǐng)求封鎖同一個(gè)數(shù)據(jù)時(shí),其中的某個(gè)事務(wù)總處于等待狀態(tài),則稱(chēng)為活鎖。
- ② 避免活鎖的方法:先來(lái)先服務(wù)
事務(wù)可串行化調(diào)度:兩段鎖協(xié)議.
寫(xiě)在最后
只有把抱怨環(huán)境的心情化為上進(jìn)的力量,才是成功的保證。——羅曼·羅蘭
總結(jié)
以上是生活随笔為你收集整理的《数据库原理》——知识点总结(期末复习)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab示波器有毛刺,在使用示波器时
- 下一篇: MySQL中int(M)和tinyint