數(shù)據(jù)庫三級模式
外模式(External Schema)
定義:也稱子模式(Subschema)或用戶模式端衰,是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關(guān)的數(shù)據(jù)的邏輯表示伦意。
理解: ① 一個數(shù)據(jù)庫可以有多個外模式; ② 外模式就是用戶視圖吧享; ③ 外模式是保證數(shù)據(jù)安全性的一個有力措施甲葬。
概念模式(Schema)
定義:概念模式又稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述辉饱,是所有用戶的公共數(shù)據(jù)視圖心例。
理解: ① 一個數(shù)據(jù)庫只有一個模式; ② 是數(shù)據(jù)庫數(shù)據(jù)在邏輯級上的視圖鞋囊; ③ 數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎止后; ④ 定義模式時不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu)(如數(shù)據(jù)記錄由哪些數(shù)據(jù)項構(gòu)成,數(shù)據(jù)項的名字溜腐、類型译株、取值范圍等),而且要定義與數(shù)據(jù)有關(guān)的安全性挺益、完整性要求歉糜,定義這些數(shù)據(jù)之間的聯(lián)系。
內(nèi)模式(Internal Schema)
定義:也稱存儲模式(Storage Schema)望众,它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述匪补,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式(例如,記錄的存儲方式是順序存儲烂翰、按照B樹結(jié)構(gòu)存儲還是按hash方法存儲夯缺;索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲甘耿,是否加密踊兜;數(shù)據(jù)的存儲記錄結(jié)構(gòu)有何規(guī)定)。
理解: ① 一個數(shù)據(jù)庫只有一個內(nèi)模式佳恬; ② 一個表可能由多個文件組成捏境,如:數(shù)據(jù)文件、索引文件毁葱。 它是數(shù)據(jù)庫管理系統(tǒng)(DBMS)對數(shù)據(jù)庫中數(shù)據(jù)進行有效組織和管理的方法 其目的有: ① 為了減少數(shù)據(jù)冗余垫言,實現(xiàn)數(shù)據(jù)共享; ② 為了提高存取效率倾剿,改善性能筷频。
數(shù)據(jù)模型
還有一個:面向?qū)ο髷?shù)據(jù)模型
數(shù)據(jù)模型三要素: 數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)的約束件(完整性約束等)
數(shù)據(jù)倉庫
數(shù)據(jù)倉庫四大特點:面向主題截驮、集成笑陈、相對穩(wěn)定、反映歷史變化葵袭。
數(shù)據(jù)挖掘的方法
關(guān)聯(lián)分析:關(guān)聯(lián)分析主要用于發(fā)現(xiàn)不同事件之間的關(guān)聯(lián)性涵妥,即一個事件發(fā)生的同時,另一個事件也經(jīng)常發(fā)生坡锡。
序列分析:序列分析主要用于發(fā)現(xiàn)一定時間間隔內(nèi)接連發(fā)生的事件蓬网,這些事件構(gòu)成一個序列,發(fā)現(xiàn)的序列應該具有普遍意義鹉勒。
分類分析:按照某種已有的標準給對象貼標簽帆锋,再根據(jù)標簽來分類。其首先為每個記錄賦予一個標記(一組具有不同特征的類別)禽额,即按標記分類記錄锯厢,然后檢查這些標定的記錄,描述出這些記錄的特征脯倒。
聚類分析:聚類分析是根據(jù)“物以類聚”的原理实辑,將本身沒有類別的樣本聚集成不同的組,并且對每個這樣的組進行描述的過程藻丢。
關(guān)系數(shù)據(jù)庫
關(guān)系模型
E-R圖
ER 圖三要素
- 實體:通常是現(xiàn)實世界的業(yè)務對象剪撬,當然使用一些邏輯對象也可以。比如對于一個校園管理系統(tǒng)悠反,會涉及學生残黑、教師、課程斋否、班級等等實體梨水。在 ER 圖中,實體使用矩形框表示如叼。
- 屬性:即某個實體擁有的屬性冰木,屬性用來描述組成實體的要素穷劈,對于產(chǎn)品設計來說可以理解為字段笼恰。在 ER 圖中,屬性使用橢圓形表示歇终。
- 聯(lián)系:即實體與實體之間的關(guān)系社证,這個關(guān)系不僅有業(yè)務關(guān)聯(lián)關(guān)系,還能通過數(shù)字表示實體之間的數(shù)量對照關(guān)系评凝。例如追葡,一個班級會有多個學生就是一種實體間的聯(lián)系。
實體之間的關(guān)系
- 一對一聯(lián)系(1:1)
如班級和班長,一個班級只有一個班長宜肉,一個班長只能在一個班級任職匀钧。 - 一對多聯(lián)系(1:n)
如班級和學生,一個班級有多名學生谬返,一名學生只能屬于一個班級之斯。 - 多對多聯(lián)系(m:n)
如課程和學生,一門課程可以被多名學生選修遣铝,一名學生可以同時選修多門課程佑刷。
關(guān)系代數(shù)
1、交酿炸、并瘫絮、差
符號 | 意義 | 說明 |
---|---|---|
∩ | R∩S,集合的交集 | 列與行都相同的行數(shù) |
∪ | R∪S填硕,集合的并集 | 兩個集合的所有行 |
- | R-S麦萤,集合的差集 | 去掉與S中相同的數(shù)據(jù)行后的結(jié)果 |
交、并扁眯、差的 前提兩個集合的結(jié)構(gòu)必須相同
2频鉴、笛卡爾積、投影恋拍、選擇
符號 | 意義 | 說明 |
---|---|---|
× | R×S垛孔,笛卡爾積 | 結(jié)果列數(shù)為二者屬性列數(shù)之和,行數(shù)為二者元素數(shù)乘積。 |
? | R?S施敢,連接 | |
π | π姓名 (學生表)周荐,是對列的選擇 |
對應 select distinct 姓名 from 學生表
|
σ | σ年齡=18 ^ 性別='男' ,是對行的過濾 |
對應 where 年齡=18 and 性別='男'
|
3僵娃、邏輯運算符
符號 | 意義 | 說明 |
---|---|---|
? | 非 | 對應sql的 not 或 !=
|
∧ | 與 | 對應sql的 and
|
∨ | 或 | 對應sql的 or
|
函數(shù)依賴
保持函數(shù)依賴:對于關(guān)系模式R概作,有依賴集F,若對R進行分解默怨,分解出來的多個關(guān)系模式讯榕,保持原來的依賴集不變,則為保持函數(shù)依賴的分解匙睹。另外愚屁,注意要消除掉冗余依賴(如傳遞依賴)
無損分解
無損分解:指將一個關(guān)系模式分解成若干個關(guān)系模式后,通過自然聯(lián)接和投影等運算仍能還原到原來的關(guān)系模式痕檬。
這種方法只能夠用于一個關(guān)系模式分解為兩個關(guān)系模式的時候:
各種鍵(碼)
完整性約束
數(shù)據(jù)庫三范式
- 第一范式:每個屬性都是原子屬性
- 第二范式:非主屬性完全依賴于候選碼(不存在部分依賴)
- 第三范式:非主屬性沒有傳遞依賴于候選碼
- BC范式:主屬性對候選鍵沒有部分依賴和傳遞依賴
例題:
- 某公司有若干個倉庫霎槐;
- 每個倉庫只能有一名管理員,一名管理員只能在一個倉庫中工作梦谜;
- 一個倉庫中可以存放多種物品丘跌,一種物品也可以存放在不同的倉庫中袭景。每種物品在每個倉庫中都有對應的數(shù)量。
那么關(guān)系模式 倉庫(倉庫名闭树,管理員耸棒,物品名,數(shù)量) 屬于哪一級范式报辱?
答:已知函數(shù)依賴集:倉庫名 → 管理員榆纽,管理員 → 倉庫名,(倉庫名捏肢,物品名)→ 數(shù)量
碼:(管理員奈籽,物品名),(倉庫名鸵赫,物品名)
主屬性:倉庫名衣屏、管理員、物品名
非主屬性:數(shù)量
因為 不存在非主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴辩棒±浅溃∴ 此關(guān)系模式屬于3NF。
存在主屬性【倉庫名】對于碼【(管理員一睁,物品名)】的部分函數(shù)依賴钻弄。所以不屬于BC范式