數(shù)據(jù)庫(kù)范式設(shè)計(jì)的意義
通常把一個(gè)數(shù)據(jù)庫(kù)分成兩個(gè)或多個(gè)表并定義表之間的關(guān)系以做到數(shù)據(jù)隔離讼稚,添加括儒、刪除和修改某個(gè)字段只需要在一個(gè)表中進(jìn)行,接著可以通過(guò)定義的關(guān)系傳遞到數(shù)據(jù)庫(kù)中剩余的表中(和分層思想的意義所在很相似)锐想。
數(shù)據(jù)庫(kù)范式有哪些帮寻?
第一范式、第二范式赠摇、第三范式固逗、BC范式、第四范式和第五范式蝉稳。滿足最低要求的叫第一范式抒蚜,簡(jiǎn)稱1NF。在第一范式基礎(chǔ)上進(jìn)一步滿足一些要求的為第二范式耘戚,簡(jiǎn)稱2NF嗡髓。其余依此類推
數(shù)據(jù)庫(kù)范式的弊端?
事物往往具有多面性收津,設(shè)計(jì)范式也會(huì)帶來(lái)一定的麻煩:操作困難饿这,因?yàn)樾枰?lián)系多個(gè)表才能得到所需要數(shù)據(jù),而且范式越高性能就會(huì)越差撞秋。所以使用多高的范式需要權(quán)衡利弊长捧,一般在項(xiàng)目中,使用到第三范式也就足夠了吻贿,性能好而且方便管理數(shù)據(jù)串结。
什么是第一范式?
定義:數(shù)據(jù)庫(kù)表中的字段都是單一屬性的,不可再分肌割。
個(gè)人理解:字段具有原子性卧蜓,不能再行分割,例如日期字段值為2011年8月23日 12:12:32 就不符合第一范式把敞,時(shí)間還可以再分弥奸。
什么是第二范式?
定義:數(shù)據(jù)庫(kù)表中不存在非關(guān)鍵字段對(duì)任一候選關(guān)鍵字段的部分函數(shù)依賴奋早,即符合第二范式盛霎。
函數(shù)依賴的定義:如果一個(gè)表中某一個(gè)字段A的值是由另外一個(gè)字段或一組字段B的值來(lái)確定的,就稱為A函數(shù)依賴于B耽装。
什么是第三范式愤炸?
定義:在第二范式的基礎(chǔ)上,數(shù)據(jù)表中如果不存在非關(guān)鍵字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴則符合3NF剂邮。
個(gè)人理解:解耦摇幻,不在同一張表中有依賴傳遞横侦。