候選關鍵字即為候選碼。
一、
設有關係模式
r(職工名,專案名,工資,部門名,部門經理)
如果規定每個職工可參加多個專案,各領乙份工資;每個專案只屬於乙個部門管理;每個部門只有乙個經理。(1
)試寫出關係模式r的基本函式依賴和關鍵碼。(2
)說明r不是
2nf模式的理由,並把r分解成
2nf模式集。(3
)進而把r分解成
3nf模式集,並說明理由。
二、指出下列關係模式是第幾正規化。(1
)r(x
,y,z
),f=
(2)r
(x,y
,z),
f=(3
)r(x
,y,z
),f=
(4)r
(x,y
,z),
f=(5
)r(w
,x,y
,z),
f=
(1)
根據題意可知有如下的函式依賴關係
(職工名
,專案名
)→工資
專案名→部門名
部門名→部門經理
原因:(2)
根據(1)
,由於部門名
,部門經理只是部分依賴
於主鍵,
所以該關係模式不是
2nf應該做如下分
解r1專案名部門名部門經理r2(
職工名,
專案名,工資)
以上兩個關係模式都是
2nf模式(3
)r2已經是3nf
,但r1不是
,因為部門經理傳遞
依賴於專案名
.故應該做如下分解
r11(
專案名部門名
)r12
(部門名部門經理
)分解後形成的三個關係模式r11
,r12
,r2均是
3nf模式二.
(1)r
(x,y
,z),
f=(2
)r(x
,y,z
),f=
(3)r
(x,y
,z),
f=(4
)r(x
,y,z
),f=
(5)r
(w,x
,y,z
),f=
答:(1)r是bcnf。r候選關鍵字為xy,f中只有乙個函式依賴,而該函式依賴的左部包含了r的候選關鍵字xy。(2
)r是3
nf。r候選關鍵字為xy和xz,r中所有屬性都是主屬性,不存在非主屬性對的候選關鍵字的傳遞依賴。(3
)r是bcnf。r候選關鍵字為x和y,∵x→yz,∴x→y,x→z,由於f中有y→z,y→x,因此z是直接函式依賴於x,而不是傳遞依賴於x。又∵f的每一函式依賴的左部都包含了任一候選關鍵字,∴r是bcnf。(4
)r是bcnf。r的候選關鍵字為x,而且f中每乙個函式依賴的左部都包含了候選關鍵字x。(5
)r是1
nf。r的候選關鍵字為wx,則y,z為非主屬性,又由於x→z,因此f中存在非主屬性對候選關鍵字的部分函式依賴。
資料庫理論之正規化
完全函式依賴 y完全函式依賴x,就是y依賴x的所有屬性,即x中少一項都推不出y 部分函式依賴 y部分函式依賴x,就是y依賴x的一部分屬性,即x的真子集也可能推出y 第一正規化 每個屬性都不可再分 第二正規化 第一正規化 每個非主屬性都完全函式依賴主碼 第三正規化 第二正規化 消除傳遞依賴 候選碼 能...
資料庫之SQL(正規化理論)
一 什麼是正規化理論?關係模型原理的核心是 規範化 概念,規範化是把資料庫組織成在保持儲存資料完整性的同時最小化冗餘資料的結構的過程。正規化化的資料庫是符合關係模型規則的資料庫,通過把這些規則稱為正規化。二 關聯式資料庫中有幾種正規化?六種第一正規化 1nf 第二正規化 2nf 第三正規化 3nf ...
資料庫三正規化理論小記
說到軟體開發 就不能不說資料庫 說到資料庫 就不能不說三正規化 其實資料庫正規化一共有六個 除了第一 二 三正規化以外還有第四 第五正規化和乙個bc正規化 在此我們只討論三正規化 有興趣的朋友可以自己找一些專業的書籍進一步學習 第一正規化 1nf 第一正規化是指資料庫表的每一列都是不可分割的基本資料...