什么是數(shù)據(jù)庫的三范式?
第一范式(1NF):字段具有原子性,不可再分。所有關(guān)系型數(shù)據(jù)庫系統(tǒng)都滿足第一范式)
數(shù)據(jù)庫表中的字段都是單一屬性的,不可再分。例如,姓名字段,其中的姓和名必
須作為一個整體,無法區(qū)分哪部分是姓,哪部分是名,如果要區(qū)分出姓和名,必須設(shè)計成兩
個獨立的字段。
第二范式(2NF):
第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,即滿足第二范式(2NF)必
須先滿足第一范式(1NF)。
要求數(shù)據(jù)庫表中的每個實例或行必須可以被惟一地區(qū)分。通常需要為表加上一個列,以存儲
各個實例的惟一標識。這個惟一屬性列被稱為主關(guān)鍵字或主鍵。
第二范式(2NF)要求實體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴
主關(guān)鍵字一部分的屬性,如果存在,那么這個屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來形成
一個新的實體,新實體與原實體之間是一對多的關(guān)系。為實現(xiàn)區(qū)分通常需要為表加上一個列,
以存儲各個實例的惟一標識。簡而言之,第二范式就是非主屬性非部分依賴于主關(guān)鍵字。
第三范式的要求如下:
滿足第三范式(3NF)必須先滿足第二范式(2NF)。簡而言之,第三范式(3NF)要求一
個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。
所以第三范式具有如下特征:
1,每一列只有一個值
2,每一行都能區(qū)分。
3,每一個表都不包含其他表已經(jīng)包含的非主關(guān)鍵字信息。
例如,帖子表中只能出現(xiàn)發(fā)帖人的 id,而不能出現(xiàn)發(fā)帖人的 id,還同時出現(xiàn)發(fā)帖人姓名,
否則,只要出現(xiàn)同一發(fā)帖人 id 的所有記錄,它們中的姓名部分都必須嚴格保持一致,這就
是數(shù)據(jù)冗余








暫無數(shù)據(jù)