在解釋數(shù)據(jù)庫三大范式之前陶缺,先介紹一些概念跪但,理解這些概念是必須的凉当。
1夯到、函數(shù)依賴:關(guān)系理論中函數(shù)依賴是指關(guān)系中屬性間的對應(yīng)關(guān)系
(如:關(guān)系中對于屬性(組)X的每一個(gè)值嚷缭,屬性(組)Y只有唯一的值與之對應(yīng),則稱Y函數(shù)依賴于X耍贾,或稱X函數(shù)決定Y阅爽。記作X Y。其中X稱為決定因素荐开。)
舉個(gè)屬性 X Y 的具體例子:
系代碼 | 系名 | 系地址 | 系電話 | 系專業(yè)設(shè)置 |
---|---|---|---|---|
001 | 外國語學(xué)院 | 一教 | 8888 | 商務(wù)英語 |
002 | 經(jīng)濟(jì)學(xué)院 | 二教 | 7777 | 財(cái)務(wù)管理 |
函數(shù)依賴:(每個(gè)系代碼的值是唯一的)
系代碼系名付翁,系代碼系地址,系代碼系電話晃听,系代碼系專業(yè)設(shè)置
如果系名值是唯一的百侧,即各系名不相同砰识,那么還存在函數(shù)依賴:
系名系代碼,系名系地址佣渴,系名系電話辫狼,系名系專業(yè)設(shè)置。
舉個(gè)屬性組 XY 的具體例子:
學(xué)號 | 課程號 | 分?jǐn)?shù) |
---|---|---|
S1 | C1 | 88 |
S2 | C2 | 68 |
只要學(xué)號和課程號兩個(gè)同時(shí)都確定了辛润,就能確定分?jǐn)?shù)膨处。因此,{學(xué)號砂竖,課程號}分?jǐn)?shù)真椿。
介紹完函數(shù)依賴的概念,接下來把函數(shù)依賴再細(xì)分一下晦溪。
1.1 部分函數(shù)依賴
如上表“系”中瀑粥,系代碼系電話,但從另一個(gè)角度來講三圆,{系代碼狞换,系名}系電話也是毋庸置疑的。因?yàn)閧系代碼舟肉,系名}存在真子集“系代碼”修噪,而且系代碼系電話,所以系電話部分函數(shù)依賴于{系代碼路媚,系名}黄琼。
1.2 完全函數(shù)依賴。
如果XY且對于X的任何真子集X'都有X' Y(不存在函數(shù)依賴)整慎,則稱Y完全函數(shù)依賴于X脏款。
1.3 傳遞函數(shù)依賴
如果X,Y為關(guān)系R中屬性裤园,有XY撤师,YX,但YZ拧揽,則稱Z傳遞函數(shù)依賴于X剃盾。
專業(yè)編號 | 所屬系編號 | 系地址 | 系電話 |
---|---|---|---|
---- | ---- | ---- | ---- |
專業(yè)編號決定了所屬系編號,所屬系編號不決定專業(yè)編號淤袜,所屬系編號決定了系電話痒谴。
即系電話傳遞函數(shù)依賴于專業(yè)編號
2、候選關(guān)鍵字和主屬性
2.1 候選關(guān)鍵字:在關(guān)系R中屬性(組)Y完全函數(shù)依賴于屬性(組)X铡羡,則稱X為關(guān)系R中的一個(gè)候選關(guān)鍵字积蔚。
2.2 主屬性:在一個(gè)關(guān)系中,如果一個(gè)屬性是構(gòu)成某一個(gè)候選關(guān)鍵字的屬性集中的一個(gè)屬性蓖墅,則稱它為主屬性库倘。
- 就比如"成績表"中临扮,學(xué)號是候選關(guān)鍵字{學(xué)號论矾,課程號}的其中一個(gè)主屬性教翩。
3、組項(xiàng)贪壳,向量和重復(fù)組
3.1 組項(xiàng):如上表( "關(guān)系模型不允許存在的表")饱亿,成績就是組項(xiàng),它是由單科成績和總分組成的闰靴。
3.2 向量:單科成績就是向量彪笼,它是由語文成績,英語成績蚂且,數(shù)學(xué)成績組成的配猫。咦咦咦咦咦!P铀馈泵肄!作者你是不是建這么多表建糊涂了,這兩個(gè)不是一樣的咩淑翼!莫急莫急腐巢,且聽我細(xì)細(xì)道來。你看玄括,單科成績由語文冯丙,英語,數(shù)學(xué)成績組成遭京,這后者三個(gè)是屬于同一級別的胃惜,而成績分為單科成績和總分,單科成績和總分不是同一級別的哪雕。但是向量是組項(xiàng)的一種船殉,是特殊的組項(xiàng)。
3.3 重復(fù)組:如上表("關(guān)系模型不允許存在的另一個(gè)表")热监,有的行又可以分為多行捺弦,這稱為重復(fù)組。
4孝扛、三大范式
4.1 第一范式:
任給關(guān)系R列吼,如果R中每個(gè)列與行對應(yīng)單元格的數(shù)據(jù)都是不可再分的基本元素,則R達(dá)到第一范式苦始,簡稱1NF
(也就是說寞钥,不存在組項(xiàng)、向量和重復(fù)組陌选,你說向量屬于組項(xiàng)理郑,那好吧蹄溉,那就是說關(guān)系R中不存在組項(xiàng)和重復(fù)組)
把“關(guān)系模型不允許存在的表”改為下表就符合第一范式了。
姓名 | 語文成績 | 英語成績 | 數(shù)學(xué)成績 | 總分 |
---|---|---|---|---|
小明 | 70 | 80 | 90 | 240 |
注意您炉,敲黑板F饩簟!
姓名 | 性別 | 班級 |
---|---|---|
小明 | 男 |
二年級一班是可分的組項(xiàng)赚爵。
4.2 第二范式:
如果一個(gè)關(guān)系達(dá)到第一范式棉胀,且不存在任何非主屬性對候選關(guān)鍵字的部分函數(shù)依賴,則稱關(guān)系達(dá)到第二范式冀膝,2NF
如:
本人身份證號 | 關(guān)系人身份證號 | 關(guān)系人職務(wù) | 與本人關(guān)系 |
---|---|---|---|
大頭兒子 | 小頭爸爸 | 經(jīng)理 | 父親 |
如上表唁奢,{本人身份證號,關(guān)系人身份證號}關(guān)系人職務(wù)窝剖,{本人身份證號麻掸,關(guān)系人身份證號}與本人關(guān)系,對于“與本人關(guān)系”來說赐纱,“與本人關(guān)系”完全函數(shù)依賴于{本人身份證號脊奋,關(guān)系人身份證號},但是千所,對于“關(guān)系人職務(wù)”狂魔,關(guān)系人身份證號關(guān)系人職務(wù),“關(guān)系人職務(wù)”部分依賴于{本人身份證號淫痰,關(guān)系人身份證號}最楷,存在“非主屬性對候選關(guān)鍵字的部分函數(shù)依賴”,不符合第二范式待错。
應(yīng)改為:
本人身份證號 | 關(guān)系人身份證號 | 與本人關(guān)系 |
---|---|---|
---- | ---- | ---- |
關(guān)系人身份證號 | 關(guān)系人職務(wù) |
---|---|
---- | ---- |
3.3 第三范式:
如果一個(gè)關(guān)系達(dá)到第二范式且不存在非主屬性對候選關(guān)鍵字的傳遞函數(shù)依賴籽孙,則稱為達(dá)到第三范式,簡稱3NF
將介紹傳遞函數(shù)依賴時(shí)的那個(gè)表改為:
專業(yè)編號 | 所屬系編號 |
---|---|
---- | ---- |
系編號 | 系地址 | 系電話 |
---|---|---|
---- | ---- | ---- |
轉(zhuǎn)載:https://blog.csdn.net/Cat_likeFishs/article/details/79440698