數(shù)據(jù)庫(kù)的設(shè)計(jì)
多表之間的關(guān)系:
一對(duì)一,一對(duì)多,多對(duì)多(多對(duì)多關(guān)系實(shí)現(xiàn)需要用第三張中間表,中間表至少包含兩個(gè)字段這兩個(gè)字段作為外鍵)
范式:第一范式(1NF),2NF,3NF,巴斯-科德范式(BCNF),第四范式,第五范式(完美范式)
要遵循后面的范式要先遵循前面的范式
范式越高,數(shù)據(jù)庫(kù)冗余越小
第一范式:每一列都是不可分割的
第二范式:滿(mǎn)足第一范式 非碼屬性必須完全依賴(lài)于候選碼(消除部份依賴(lài))
? ??????????????????函數(shù)依賴(lài):A(可以是一個(gè)屬性也可以是屬性組)唯一確定B(學(xué)號(hào)--姓名)
????????????????(學(xué)號(hào),????課 程---分?jǐn)?shù))
? ??????????????????完全函數(shù)依賴(lài):A是一個(gè)屬性組,B由A中所有屬性共同決定 (學(xué)號(hào),課程)--分?jǐn)?shù)
? ??????????????????部分函數(shù)依賴(lài):B由A屬性組中某一些值確定即可
? ??????????????????傳遞依賴(lài):A唯一確定B,B唯一確定C,則C傳遞依賴(lài)于A
? ??????????????????碼:被其他所有屬性完全依賴(lài),則稱(chēng)這個(gè)屬性為該表的碼
? ??????????????????????????主屬性:碼屬性組中所有屬性;非主屬性:除過(guò)碼屬性的屬性
第三范式:在2NF的基礎(chǔ)上,消除傳遞依賴(lài),任何非主屬性不依賴(lài)于其他非主屬性