數(shù)據(jù)庫(kù)原理及應(yīng)用(補(bǔ)充)

一惕蹄、關(guān)系數(shù)據(jù)理論

1.關(guān)系模式的形式化定義

? ? ? ? R(U, D, DOM, F)

R:關(guān)系名,是符號(hào)化的元組語(yǔ)義

U:該關(guān)系的屬性集合

D:屬性組U中屬性所來(lái)自的域

DOM:屬性向域的映象集合

F:屬性間數(shù)據(jù)的依賴關(guān)系集合


2.關(guān)系模式的簡(jiǎn)化表示

? ? ? R<U, F>

將關(guān)系模式簡(jiǎn)化為一個(gè)三元組矗钟,影響數(shù)據(jù)庫(kù)模式設(shè)計(jì)的主要是U和F.

當(dāng)且僅當(dāng)U上的一個(gè)關(guān)系r滿足F時(shí)茶凳,r稱為關(guān)系模式R(U, F)的一個(gè)關(guān)系匿辩。


3.如何解決關(guān)系模式中存在的問(wèn)題?

規(guī)范化理論:找出關(guān)系模式中不合適的數(shù)據(jù)依賴阳准,消除它們芳悲,可以在不同程度上解決插入異常、刪除異常边坤、更新異常和數(shù)據(jù)冗余問(wèn)題名扛。


二、函數(shù)依賴

1.函數(shù)依賴

*定義:設(shè)R(U)是一個(gè)屬性集U上的關(guān)系模式茧痒,X和Y是U的子集肮韧。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r, r中不可能存在兩個(gè)元組在X上的屬性值相等, 而在Y上的屬性值不等則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X”文黎,記作X →Y惹苗。

? ? X稱為這個(gè)函數(shù)依賴的決定屬性組,也稱為決定因素(Determinant)耸峭。

例: S(Sno, Sname, Ssex, Sage, Sdept)

F= {Sno-→Sname, Sno →Ssex, Sno →Sage桩蓉,Sno →Sdept}

? ? ? 若Y不函數(shù)依賴于X,則記為X→Y,箭頭上加一斜杠劳闹。


*注意事項(xiàng)

(1)函數(shù)依賴是語(yǔ)義范疇的概念院究。只能根據(jù)數(shù)據(jù)的語(yǔ)義來(lái)確定函數(shù)依賴。

? ? ? ■如Sname→Sno函數(shù)依賴只有在“學(xué)生不允許有重名”的條件下成立本涕。

(2)數(shù)據(jù)庫(kù)設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界作強(qiáng)制的規(guī)定业汰。

? ? ? ■例如設(shè)計(jì)者可以強(qiáng)行規(guī)定不允許學(xué)生有重名,因而使函數(shù)依賴

? ? ? Sname→Sno, Sname→Ssex菩颖,Sname→Sage, Sname→Sdept成立样漆。

(3)函數(shù)依賴是指關(guān)系模式R在任何時(shí)刻的關(guān)系實(shí)例均要滿足的約束條件。

? ? ? ■不是指某個(gè)或某些關(guān)系實(shí)例r滿足的約束條件晦闰,而是指R的所有關(guān)系實(shí)例r均要滿足的約束條件放祟。


2.平凡函數(shù)依賴與非平凡函數(shù)依賴

(1) X→Y,Y不包含于X呻右,則稱X→Y是非平凡的函數(shù)依賴跪妥。

(2) X→Y,但Y包含于X声滥,則稱X→Y是平凡的函數(shù)依賴眉撵。

例:在關(guān)系SC(Sno, Cno, Grade)中,

非平凡函數(shù)依賴: (Sno, Cno)→Grade

平凡函數(shù)依賴:

(Sno, Cno) →Sno? ? (Sno, Cno)→Cno

對(duì)于任一關(guān)系模式落塑,平凡函數(shù)依賴都是必然成立的纽疟,它不反映新的語(yǔ)義,因此若不特別聲明芜赌,我們總是討論非平凡函數(shù)依賴仰挣。


3.完全函數(shù)依賴與部分函數(shù)依賴

(1)在關(guān)系模式R(U)中,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X'缠沈,都有X'→Y,則稱Y完全函數(shù)依賴于X,記作X→Y,箭頭上加F(Full)洲愤。

(2)若X→Y,但Y不完全函數(shù)依賴于X颓芭,則稱Y部分函數(shù)依賴于X,記作X→Y柬赐,箭頭上加P(Part)亡问。

在關(guān)系STUDENT(Sno ,Sdept,Mname,Cno,Grade)中,

(Sno, Cno)→(F) Grade是完全函數(shù)依賴

(Sno, Cno)→ (P)Sdept是部分函數(shù)依賴肛宋,因?yàn)镾no→ Sdept


Student關(guān)系圖


4.傳遞函數(shù)依賴

(1)定義:在R (U)中州藕,如果X→Y, (Y 不包含于X) ,? Y不依賴于X,Y→Z, 則稱Z對(duì)X傳遞函數(shù)依賴(transitive functional dependency)酝陈。記為:X→(傳遞)Z

注意:如果Y→X,即X←→Y,則Z直接依賴于X床玻。

例:在關(guān)系STUDENT (Sno ,Sdept, Mname,Cno,Grade)中,

Sno→Sdept, Sdept→Mname, Sno→(傳遞)Mname

Student關(guān)系圖


三沉帮、碼

1. 設(shè)K為關(guān)系模式R<U,F>中的屬性或?qū)傩越M合锈死。若K→(F)U,則K稱為R的一個(gè)候選碼(Candidate Key)穆壕。

■如果U部分函數(shù)依賴于K,即K →(P) U待牵,則K稱為超碼(Surpkey)

■候選碼是最小的超碼,即K的任意一個(gè)真子集都不是候選碼

[例] S(Sno, Sdept, Sage)

Sno→ (Sno, Sdept, Sage) 喇勋,Sno是碼

(Sno, Sdept)缨该、(Sno, Sage)、(Sno, Sdept, Sage)是超碼

SC(Sno, Cno, Grade)中川背,(Sno, Cno)是碼

2. 若關(guān)系模式R有多個(gè)候選碼贰拿,則選定其中的一個(gè)做為主碼(Primary key)。

[例] S(Sno, Sname, Sdept, Sage)渗常,假設(shè)學(xué)生無(wú)重名

Sno壮不、Sname是候選碼,選擇Sno為主碼皱碘。

3. 主屬性與非主屬性

■包含在任何一個(gè)候選碼中 的屬性询一,稱為主屬性( Prime attribute )

■不包含在任何碼中的屬性稱為非主屬性( Nonprime attribute)或非碼屬性 ( Non-key attribute )

[例] S(Sno, Sdept, Sage), Sno是碼,Sno是主屬性癌椿,Sdept, Sage是非主屬性健蕊。

SC(Sno, Cno, Grade)中,(Sno, Cno)是碼踢俄,Sno, Cno是主屬性缩功,Grade是非主屬性

4.? 全碼:整個(gè)屬性組是碼,稱為全碼(All-key)

[例]關(guān)系模式R(P,w,A)? P:演奏者? W:作品? A:聽(tīng)眾

? ? ? 語(yǔ)義:一個(gè)演奏者可以演奏多個(gè)作品都办,某作品可被多個(gè)演奏者演奏嫡锌,聽(tīng)眾可以欣賞不同演奏者的不同作品

? ? ? R (P, W, A)碼為(P, W, A)虑稼,即全碼,All-Key势木。

關(guān)系模式R<U,F>, U中屬性或?qū)傩越MX并非R的碼蛛倦,但X是另一個(gè)關(guān)系模式的碼,則稱X是R的外部碼(Foreign key)也稱外碼啦桌。

SC (Sno, Cno, Grade) 中溯壶,Sno不是碼,但Sno是關(guān)系模式

S (Sno, Sdept, Sage) 的碼甫男,則Sno是關(guān)系模式SC的外部碼且改。

主碼與外部碼起提供了表示關(guān)系間聯(lián)系的手段


四、范式

1.范式:是符合某一種級(jí)別的關(guān)系模式的集合。

(1)關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定的要求,滿足不同程度要求的為不同范式咳胃。

(2)范式的種類:

第一范式(1NF)、第二范式(1NF)效扫、第三范式(1NF)、BC范式直砂、第四范式(1NF)菌仁、第五方式(1NF)。

(3)各范式之間的聯(lián)系

各范式之間的關(guān)系

某一關(guān)系模式R為第n范式静暂,可簡(jiǎn)記為:R∈nNF

一個(gè)低一級(jí)范式的關(guān)系模式济丘,通過(guò)模式分解可轉(zhuǎn)化為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過(guò)程叫做規(guī)范化洽蛀。


2.第一范式 ( 1NF )

(1)定義:如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng)摹迷,則R∈1NF。

第一范式是對(duì)關(guān)系模式的最起碼的要求郊供,不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)模式峡碉。

(2)滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式,比如:

關(guān)系模式S-L-C(Sno驮审,Cno鲫寄,Sdept,Sloc疯淫,Grade)地来,其屬性依次為學(xué)生學(xué)號(hào),學(xué)生課程號(hào)熙掺,學(xué)生所屬系未斑,學(xué)生住處,學(xué)生成績(jī)币绩。假設(shè)每個(gè)系的學(xué)生住在同一個(gè)樓蜡秽。

那么有以下關(guān)系:

S-L-C(Sno府阀,Cno,Sdept载城,Sloc肌似,Grade)

存在問(wèn)題:插入異常费就,刪除異常诉瓦,數(shù)據(jù)冗余度大,修改復(fù)雜等力细。為了解決這些問(wèn)題睬澡,需要將其轉(zhuǎn)化為第二范式


3.第二范式(2NF)

(1)定義:關(guān)系模式R∈1NF,并且每一個(gè)非主屬性都完全函數(shù)依賴于R的碼眠蚂,則R∈2NF煞聪。

(2)舉例:上述S-L-C(Sno,Cno逝慧,Sdept昔脯,Sloc,Grade)∈1NF笛臣,不屬于2NF云稚。

轉(zhuǎn)化為第二范式:

由于關(guān)系模式SLC中,Sdept沈堡、Sloc部分函數(shù)依賴于碼静陈,SLC的碼為(Sno,Cno)诞丽。

采用投影分解法鲸拥,把SLC分解成兩個(gè)關(guān)系模式,消除這些部分函數(shù)依賴僧免。

LSC由1NF轉(zhuǎn)化為2NF(函數(shù)依賴圖)

關(guān)系模式SC的碼為(Sno刑赶,Cno),關(guān)系模式S-L的碼為Sno懂衩。

轉(zhuǎn)化后撞叨,非主屬性對(duì)碼都是完全函數(shù)依賴,且都是2NF勃痴。


4.第三范式(3NF)

(1)定義:關(guān)系模式R<U谒所,F(xiàn)>∈1NF,若R中【不存在】這樣的碼X沛申,屬性組Y及非主屬性Z ( Z不包含于Y) 劣领,使得X→Y,Y→Z铁材,Z→X尖淘,成立奕锌,則R<U,F(xiàn)>∈3NF村生。

(2)上述例子惊暴,關(guān)系模式S-L中,不存在部分函數(shù)依賴趁桃,但是存在傳遞函數(shù)辽话,所以S-L(Sno,Sdept卫病,Sloc)∈2NF油啤,不屬于第三范式。

關(guān)系模式S-L函數(shù)依賴圖

將其轉(zhuǎn)化為第三范式蟀苛,可得:

關(guān)系模式S-D(Sno益咬,Sdept),關(guān)系模式D-L(Sloc)


在分解后的關(guān)系模式中帜平,既沒(méi)有非主屬性對(duì)碼的部分函數(shù)依賴幽告,也沒(méi)有非主屬性對(duì)碼的傳遞函數(shù)依賴,進(jìn)一步解決了存在的插入裆甩,刪除冗锁,更新異常,數(shù)據(jù)冗余度大等問(wèn)題淑掌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒿讥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子抛腕,更是在濱河造成了極大的恐慌芋绸,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件担敌,死亡現(xiàn)場(chǎng)離奇詭異摔敛,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)全封,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門马昙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人刹悴,你說(shuō)我怎么就攤上這事行楞。” “怎么了土匀?”我有些...
    開(kāi)封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵子房,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)证杭,這世上最難降的妖魔是什么田度? 我笑而不...
    開(kāi)封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮解愤,結(jié)果婚禮上镇饺,老公的妹妹穿的比我還像新娘。我一直安慰自己送讲,他們只是感情好奸笤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著李茫,像睡著了一般揭保。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上魄宏,一...
    開(kāi)封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音存筏,去河邊找鬼宠互。 笑死,一個(gè)胖子當(dāng)著我的面吹牛椭坚,可吹牛的內(nèi)容都是我干的予跌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼善茎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼券册!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起垂涯,我...
    開(kāi)封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤烁焙,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后耕赘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骄蝇,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年操骡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了九火。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡册招,死狀恐怖岔激,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情是掰,我是刑警寧澤虑鼎,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站冀惭,受9級(jí)特大地震影響震叙,放射性物質(zhì)發(fā)生泄漏掀鹅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一媒楼、第九天 我趴在偏房一處隱蔽的房頂上張望乐尊。 院中可真熱鬧,春花似錦划址、人聲如沸扔嵌。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)痢缎。三九已至,卻和暖如春世澜,著一層夾襖步出監(jiān)牢的瞬間独旷,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工寥裂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嵌洼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓封恰,卻偏偏與公主長(zhǎng)得像麻养,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诺舔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 數(shù)據(jù)字典 數(shù)據(jù)庫(kù)系統(tǒng)中存放三層結(jié)構(gòu)定義的數(shù)據(jù)庫(kù)稱為數(shù)據(jù)字典(DD)鳖昌,對(duì)數(shù)據(jù)庫(kù)的操作都要通過(guò)DD才能實(shí)現(xiàn)。DD系統(tǒng)中...
    panda_say閱讀 1,103評(píng)論 0 6
  • 一般而言低飒,關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)目標(biāo)是生成一組關(guān)系模式许昨,使我們存儲(chǔ)信息時(shí)避免不必要的冗余,并且讓我們可以方便地獲取信息逸嘀。...
    SunnyQjm閱讀 988評(píng)論 0 5
  • 需要了解的一些前置定義: 域:一些相同類型數(shù)據(jù)的集合例如:自然數(shù),整數(shù)是一個(gè)域,{男,女}也是一個(gè)域 笛卡爾積:有...
    極盡愉悅閱讀 1,244評(píng)論 2 3
  • 介紹多表查詢等復(fù)雜SQL語(yǔ)句车要。 關(guān)系數(shù)據(jù)庫(kù)的查詢結(jié)果都是一個(gè)結(jié)果表(也是關(guān)系) 集聚函數(shù) 基本語(yǔ)法 統(tǒng)計(jì)元組個(gè)數(shù)C...
    zealscott閱讀 831評(píng)論 0 0