資料庫的部分依賴,完全依賴,傳遞依賴以及三種正規化

2021-08-26 23:07:27 字數 1084 閱讀 4186

舉個例子:通過ab能得出c,通過a也能得出c,通過b也能得出c,那麼說c部分依賴於ab。

舉個例子:通過ab能得出c,但是ab單獨得不出c,那麼說c完全依賴於ab.

舉個例子:通過a得到b,通過b得到c,但是c得不到b,b得不到a,那麼成c傳遞依賴於a

1 、第一正規化(1nf)

在任何乙個關聯式資料庫中,第一正規化(1nf)是對關係模式的基本要求,不滿足第一正規化(1nf)的資料庫就不是關聯式資料庫。

所謂第一正規化(1nf)是指資料庫表的每一列(即每個屬性)都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。簡而言之,第一正規化就是無重複的列。

2、 第二正規化(2nf)

第二正規化(2nf)是在第一正規化(1nf)的基礎上建立起來的,即滿足第二正規化(2nf)必須先滿足第一正規化(1nf)。第二正規化(2nf)要求資料庫表中的每個例項或行必須可以被唯一地區分。為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。員工資訊表中加上了員工編號(emp_id)列,因為每個員工的員工編號是唯一的,因此每個員工可以被唯一區分。這個唯一屬性列被稱為主關鍵字或主鍵、主碼。

第二正規化(2nf)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成乙個新的實體,新實體與原實體之間是一對多的關係。為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。簡而言之,第二正規化就是非主屬性依賴於主關鍵字。

3 、第三正規化(3nf)

滿足第三正規化(3nf)必須先滿足第二正規化(2nf)。在滿足第二正規化的基礎上,切不存在傳遞函式依賴,那麼就是第三正規化。簡而言之,第三正規化就是屬性不依賴於其它非主屬性。

1、第一正規化(1nf):乙個關係模式r的所有屬性都是不可分的基本資料項。

2、第二正規化(2nf):滿足第一正規化,然後消除部分依賴。

3、第三正規化(3nf): 滿足第二正規化,消除傳遞依賴。

資料庫的部分依賴,完全依賴,傳遞依賴以及三種正規化

舉個例子 通過ab能得出c,通過a也能得出c,通過b也能得出c,那麼說c部分依賴於ab。舉個例子 通過ab能得出c,但是ab單獨得不出c,那麼說c完全依賴於ab.舉個例子 通過a得到b,通過b得到c,但是c得不到b,b得不到a,那麼成c傳遞依賴於a 1 第一正規化 1nf 在任何乙個關聯式資料庫中,...

sql中完全依賴,部分依賴,傳遞依賴關係

以學生表的幾個簡單例子介紹一下,說明 sno 學生學號 sname 學生姓名 sdept 學生所在院系 cno 課程號 grade 課程成績 mname 系主任名字 1.完全依賴 乙個學號就可以決定乙個學生姓名 將決定用 表示 sno sname,這樣就叫做sname完全依賴於sno,同樣還有sno...

資料庫快取依賴

更多的時候,我們的伺服器效能損耗還是在查詢資料庫的時候,所以對資料庫的快取還是顯得特別重要,上面幾種方式都可以實現部分資料快取功能。但問題是我們的資料有時候是在變化的,這樣使用者可能在快取期間查詢的資料就是老的資料,從而導致資料的不一致。那有沒有辦法做到,資料如果不變化,使用者就一直從快取中取資料,...