資料庫三正規化理解

2021-08-07 11:58:32 字數 538 閱讀 7788

1.第一正規化(1nf):資料庫列不可再分,即資料庫的字段不可再下分,如進貨包含有單價和數量那麼資料庫設計時應設計為兩列(進貨數量、進貨單價)。

2.第二正規化(2nf):資料庫表中的每個例項或行必須可以被唯一的區分,且非主屬性需要完全依賴於主鍵,如果存在不依賴於主鍵的屬性,這些屬性應該分離出來形成乙個新的表。如某訂單表包含orderid(主鍵),productid,productname,createtime,其中productid和createtime依賴主鍵,而productname依賴productid,所以應將productid,productname分離成為新錶。

3.第三正規化(3nf):乙個資料庫表中不包含已在其它表中已包含的非主關鍵字資訊。如存在乙個部門資訊表,其中每個部門有部門編號(dept_id)、部門名稱、部門簡介等資訊。那麼在員工資訊表中列出部門編號後就不能再將部門名稱、部門簡介等與部門有關的資訊再加入員工資訊表中。如果不存在部門資訊表,則根據第三正規化(3nf)也應該構建它,否則就會有大量的資料冗餘。

第二正規化和第三正規化的內容差不多,但還是有些細微的差別。具體差別等自己體會到了再繼續寫

資料庫 三正規化理解

第一正規化 原子性,每乙個字段不可再分 每一字段資訊應該能分就分,分到不可再分為止 例如 第二正規化 唯一性,不可以把多種資料儲存在同一張表中,即一張表只能儲存 一種 資料。表內資料各管各的,不能互相影響 不符合第二正規化的表 學號,姓名,年齡,課程名稱,成績,學分 可能會存在問題 正確做法 學生 ...

資料庫三正規化理解

在談資料庫正規化之前,我們要明白一些關於資料庫的基本概念,具體有一下幾個 元組 tuple 是關聯式資料庫中的基本概念,關係是一張表,表中的每行即資料庫中的一條記錄,就是乙個元組,每列就是乙個屬性。超鍵 super key 能夠唯一決定乙個元組的屬性集合。可以是乙個屬性也可以是多個屬性,都叫做超鍵。...

資料庫三大正規化理解

1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 不符合第一正規化的例子 關聯式資料庫中create不出這樣的表 表 欄位1,欄位2 欄位2.1,欄位2.2 欄位3 存在的問題 因為設計不出這樣的表,所以沒有問題 不符合第二正規化的例子 假定選課關係表為sele...