,、第一范式(1NF)無重復列
指數據庫表的每一列都是不可分割的基本數據項,同一列中不能有多個值,,即實體中的某個屬性不能有多個值或者重復的屬性,。如果出現重復的屬性就需要定義一個新的實體,新的實體有重復的屬性構成,,新實體與原實體之間為一對多的關系,。在第一范式(1NF)中表的每一行只包含一個實例的信息。簡而言之,,一范式就是沒有重復的列,。 說明:在任何一個關系型數據庫中,第一范式(1NF)是對關系模型的基本要求,,不滿足第一范式的數據庫就不是關系型數據庫,。 2、第二范式(2NF)屬性完全依賴于主鍵 第二范式是在第一范式的基礎上建立起來的,,即滿足第二范式必須滿足第一范式,。第二范式要求數據庫表中的每個實例或行必須可以被唯一的區(qū)分。為實現一個區(qū)分通常要為表加一個列,,以存儲各個實例的唯一標示,。例如員工信息表加上一個員工編號(emp_id),因為每個員工的編號是唯一的,,因此每個員工可以被唯一的區(qū)分,。這個唯一屬性列被稱為關鍵字或主鍵、主碼,。 第二范式要求實體的屬性完全依賴于主關鍵字,。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,,那么這個屬性和主關鍵字的這一部分要作為一個新的實體分離出來,,新實體和原實體之間是一對多的關系。為實現區(qū)分通常要為表加一個列,,以存儲各個實例的唯一標示,。簡而言之,,第二范式就是屬性完全依賴于主鍵。 3,、第三范式(3NF)屬性不依賴其它非主屬性【消除傳遞依賴】 簡而言之,,第三范式要求一個數據庫表中不包含已在其它表中已包含的非主關鍵字信息。(一個表中有另外一個表的主鍵字段之后,,就不應該包含另外那張表的其它字段,,這樣會造成數據的冗余)例如,存在一個部門信息表,,其中每個部門有部門編號(dept_id),、部門名稱、部門簡介等信息,。那么在員工信息表中列出部門編號后就不能再將部門名稱,、部門簡介等于部門相關的信息加入員工信息表中。如果不存在部門信息表,,根據第三范式也應該構建它,,否則就會有大量的冗余數據。簡而言之,,第三范式就是屬性不依賴其它非主屬性,。 4、關系型數據庫 關系型數據庫是以行和列的形式存儲數據,。這一系列的行和列被稱為表,,一組表組成了數據庫。表與表之間的數據有關系,。關系型數據庫通常包含一下組件:客戶端應用程序,、數據庫服務器、數據庫,; |
|