部分函式依賴
:設x,y是關係r的兩個屬性集合,存在x→y,若x』是x的真子集,存在x』→y,則稱y部分函式依賴於x。
舉個例子:學生基本資訊表r中(學號,身份證號,姓名)當然學號屬性取值是唯一的,在r關係中,(學號,身份證號)->(姓名),(學號)->(姓名),(身份證號)->(姓名);所以姓名部分函式依賴與(學號,身份證號);
完全函式依賴
:設x,y是關係r的兩個屬性集合,x』是x的真子集,存在x→y,但對每乙個x』都有x』!→y,則稱y完全函式依賴於x。
例子:學生基本資訊表r(學號,班級,姓名)假設不同的班級學號有相同的,班級內學號不能相同,在r關係中,(學號,班級)->(姓名),但是(學號)->(姓名)不成立,(班級)->(姓名)不成立,所以姓名完全函式依賴與(學號,班級);
傳遞函式依賴
:設x,y,z是關係r中互不相同的屬性集合,存在x→y(y !→x),y→z,則稱z傳遞函式依賴於x。
例子:在關係r(學號 ,宿舍, 費用)中,(學號)->(宿舍),宿舍!=學號,(宿舍)->(費用),費用!=宿舍,所以符合傳遞函式的要求;
來自
如果乙個關係模式中所有屬性都是不可分割的基本屬性
,則這個關係模式屬於第一正規化
如果乙個關係模式屬於第一正規化,其中所有非主屬性都完全函式依賴於鍵碼
,則屬於第二正規化
如果乙個關係模式屬於第一正規化,其中所有非主屬性都不傳遞依賴於鍵碼
,則屬於第三正規化
如果乙個關係模式屬於第一正規化,其中所有屬性都不傳遞依賴於鍵碼
,則屬於bc正規化
一張圖總結:
關聯式資料庫的四種正規化
什麼是正規化 一張資料表的表結構所符合的某種設計標準的級別 主屬性非主屬性 1 第1正規化 每個屬性必定不能再分 錯誤例子 編號 品名 進貨 數量 單價 銷售 數量 單價 備註 修改後 編號 品名 進貨數理 進貨單價 銷售數量 銷售單價 備註 2 第2正規化 2nf在1nf的基礎之上,消除了非主屬性...
資料庫事務四種隔離
未授權讀取 read uncommitted 允許髒讀取,但不允許更新丟失。如果乙個事務已經開始寫資料,則另外乙個資料則不允許同時進行寫操作,但允許其他事務讀此行資料。該隔離級別可以通過 排他寫鎖 實現。授權讀取 read committed 允許不可重複讀取,但不允許髒讀取。這可以通過 瞬間共享讀...
資料庫四種隔離級別
存在的問題 更新遺失。解決辦法就是下面的 可讀取未確認 寫事務阻止其他寫事務,避免了更新遺失。但是沒有阻止其他讀事務。存在的問題 髒讀。即讀取到不正確的資料,因為另乙個事務可能還沒提交最終資料,這個讀事務就讀取了中途的資料,這個資料可能是不正確的。解決辦法就是下面的 可讀取確認 寫事務會阻止其他讀寫...