通州北大青鳥校區(qū)學術部老師介紹,數(shù)據(jù)庫設計當中三范式是經(jīng)常遇到的,如果實際項目數(shù)據(jù)庫設計中能達到第三范式基本也就滿足要求了,那么如何快速有效的理解三個范式,同時應用于實際項目中去呢?通州北大青鳥校區(qū)老師今天為各位講解。
首先看看標準定義的三個范式:
第一范式(1NF)
所謂第一范式(1NF)是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。如果出現(xiàn)重復的屬性,就可能需要定義一個新的實體,新的實體由重復的屬性構成,新實體與原實體之間為一對多關系。在第一范式(1NF)中表的每一行只包含一個實例的信息。
在任何一個關系數(shù)據(jù)庫中,第一范式(1NF)是對關系模式的基本要求,不滿足第一范式(1NF)的數(shù)據(jù)庫就不是關系數(shù)據(jù)庫。
理解注釋:列不可分。
第二范式(2NF)
通州北大青鳥校區(qū)老師介紹,第二范式(2NF)是在第一范式(1NF)的基礎上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或行必須可以被惟一的區(qū)分。為實現(xiàn)區(qū)分通常需要為表加上一個列,以存儲各個實例的惟一標識。要求實體的屬性完全依賴于主關鍵字。
理解注釋:不能部分依賴。即:一張表存在組合主鍵時,其他非主鍵字段不能部分依賴。
第三范式(3NF)
滿足第三范式(3NF)必須先滿足第二范式(2NF)。簡而言之,第三范式(3NF)要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關鍵字信息。
在第二范式的基礎上,數(shù)據(jù)表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數(shù)依賴則符合第三范式。
理解注釋:不能存在傳遞依賴。即:除主鍵外,其他字段必須依賴主鍵。
通州北大青鳥校區(qū)學術部提供。