Title: Design Theory for
1???????? ????? ????? ????? ?????? ????????? 4
- Design Theory for
- Relational Databases
- Part 4
2????? ????? ???????
- ????
- ????? ??? SCT ???????? ??"? C ? T
T C S
Smith DB Cohen
Jones OS Levy
Smith DB Levy
Student Course Teacher
3????? ???? ???????
- ????? ??? ???? R (????? ??????????)
- ?????? ????? ?? ?"? F ??????? ???? R ?????? ?????
- ????? ??????? ?? ???? ?"? X ? Y ?? ??????????
(???, Y ? X) ?? ?- - F ? X ? Y
- ?- X ???? ????-??
4???? ??????? ?? Boyce-CoddBoyce-Codd Normal Form
(BCNF)
- ???? R ?? ????? ?"? F ??? ????? ??????? ??
Boyce-Codd (BCNF) ?? ??? X ? A ? F ?????? - X ? A ??? ??????????, ????? A ? X, ??
- X ??? ????-??, ????? F ? X ?R
5?????
- ?????? ???? R ?? ????? ?"? F, ???? ????? ?????
Rn,,R2 R1, ?? ????????? ?????? ????? - ?????? ??? ?????
- ?????? ???? ?? ???????
- ?? ???? Ri ??? ????? ???????
6????? ????? ?????? BCNF
- ??????? ?? ????? R ?????? ??"? F
- ?????? ???? ?? BCNF, ????? ?"? X ? A ? F, ?? ?-
- A ? X ???
- F ? X ?R
- ???? ?? ?? ???? ?- F, ?? ?? ???? ?- F ??? ????
????? ???? (?? ?? ????) ???? ???????????
7?? ?? ????, ???? ??? ??????
- ????? ????? ABC ?? F A ? B, B ? C
- B ? C ??? ???? ?? BCNF
- ??? ???? ???? ?????
- ???? ??????? ???????????? ?? ??"? ????? ?? BCNF,
????? ?????? ?????? ????? ??? BC (????? ?? ????
????? ????? ?????????? ???? ????? ???????) - ????? ??????? ??? ??????????? ?? ????? ???????,
???? ????????? ?????? ??? ????? ?? ??"? ?????
BCNF, ????? ?????? ?????? ????? ??? AB (????? ??
???? ????? ????? ?????????? ???? ????? ???????)
8????? ????? BCNF (????)
- ???? ?? ??? ??????? ?????? ???? ????? ?? ??"?,
????? ?? S ???? ???? ???? ?? (F)?S - ????? ????? ???????? ?? ?? ??? ??????? ???????
- ???? ??????? ???? ???? ?????, ???? ??? ????
?????????? - ????????? ?????? ?? ???? ?? ??? ?????????? ????
?????? BCNF
9?????
- RABCD ?- F A ? B, B ? C, C ? D
- B ? C ??? ???? ?? BCNF
- ??? ???? ?? R ???? ?????
- R1BC ?- F1 B ? C
- R2ABD ?- F2 A ? B, B ? D
- ??"? B ? D ???? ?? BCNF ?- R2 ???? ???? ?? R2 ?-
- R2BD ?- F2 B ? D
- R3AB ?- F3 A ? B
10????? (????)
- ?????? ????? ???
- R1BC ?- F1 B ? C
- R2BD ?- F2 B ? D
- R3AB ?- F3 A ? B
- ???? ??? i, Fi ??? ????? ??? ???????? ??
??????? ??? ???? (????? ?????) ??? ???????????? - ????? ?- Fi ???? ???? ?- F ??????, ?????? ???
????? ?? ??"?
F A ? B, B ? C, C ? D
11????? ???? ???? ?? ?????? ??????
- RABCD ?- F A ? B, B ? C, C ? D
- ???? ????? ??? C ? D (??? ??? B ? C)
- ??? ???? ?? R ???? ?????
- R1CD ?- F1 C ? D
- R2ABC ?- F2 A ? B, B ? C
- ??"? B ? C ???? ?? BCNF ?- R2 ???? ???? ?? R2 ?-
- R2BC ?- F2 B ? C
- R3AB ?- F3 A ? B
12????? ???? ???? (????)
- ?????? ????? ???
- R1CD ?- F1 C ? D
- R2BC ?- F2 B ? C
- R3AB ?- F3 A ? B
- ???? ????? ?- Fi ???? ?- F ?????? ???? ?? ?????
?? ??"?
13??? ???? ????? ??? ?????
- ??? R ???? ?? ????? ?"? F
- ??? ????? ?? R ???? ????? R1 ?- R2 ??? ??? ?????
?? ??? ?? ?????? ??? ???? ?????? ????? - F ? R1 ? R2 ? R1 ??
- F ? R1 ? R2 ? R2
- ????? ????? ???? ????? ??? ???? ?? BCNF ??? ????
??? ?????
14?????? ?????? ?- BCNF
- ?????? ?????????? ????? ??? ??? ??????? ?????
- ?? ???? ?????? ??? BCNF
- ?????? ??? ??? ?????
- ?????? ???? ????? ???? ?? ??"?
- ??? ????? ?? ????????? ??? ???????????? ????
????? - ?????? ???? ???????? ???????????
15?????
- ????? ????? ABC ??
- F AB ? C, C ? A
- C ? A ??? ????? ?????? ?? BCNF, ???? ???? ????
??? ?"? ?? ??????? - ???? CA ?? ??"? C ? A
- ????? BC ??? ?"?
- ????? ??? ??? ????? ?- BCNF ?? ????? ??"? ?????
?? ??"?
16?? ??? ???-????? ??"??
- ??????? ?? ABC, ?????? ?? ????? AB ?? ?????
??????? ??? ??? ?????? ?????? - A ????? ???
- B ????? ?????
- ?????? ??? ??"? AB ? C ???? ??????
- ????? ???? ???? ??????
17???? ??????? ??????Third Normal Form (3NF)
- ???? R ?? ????? ?"? F ??? ????? ??????? ??????
(3NF) ?? ??? - X ? A ? F ?????? ??? ?????? ?????
- X ? A ??? ??????????, ????? A ? X,
- X ??? ????-??, ????? F ? X ?R, ??
- ????????? A ???? ????? ????? ?? R
18???????? ??????????? ?????? 3NF
- ??????? ?? ????? R ?????? ??"? F
- ?????? ????? ??? ???????? G ?? F
- ??? ?"? X ? A ? G ??????? ???? XA (?????? ??? ???
X)
19?????? ?????? ??????
- ?????? ?????????? ????? ??? ??? ??????? ?????
- ?? ???? ?????? ??? 3NF (???? ??????)
- ?????? ???? ?? ??"? (????)
- ??? ?????? ??? ????? ?????? ??? ??????
20?????
- ????? ????? ABC ??
- F A ? C, B ? C
- F ??? ??? ??? ????????, ??? ??????
- R1AC ?- F1 A ? C
- R2BC ?- F2 B ? C
21????? ??? ?????? ??? ??? ?????
- F A ? C, B ? C
- ?????? ??? AC ?- BC
C B A
a3 b1,3 a1
a3 a2 b2,1
?????? ???? ????? ?? ????? ?????? ??? ?????
22???????? ?????? ????? 3NF (????)
- ?? ??? ?????? ?????? ??????? ??? ?????????, ???
?? ???? ?????? ??????????? ??? ??? ????-?? ??
????? ???????, ?? - ??????? ???? ?? ????? ??????? ????? ????? ??
??????
23?????? ?????? (????)
- ????? ????? RABC ??
- F A ? C, B ? C
- F ??? ??? ??? ????????, ??? ??????
- R1AC ?- F1 A ? C
- R2BC ?- F2 B ? C
- ?? ???? ?????? ???? ????-?? ?? ABC
- ???, ??????? ?????? ?? ????? AB, ???? ???? ??
????? ??????? ABC - R3AB ?- F3 Ø
24????? ????? ?? ????? ????? ?????? 3NF
- RABCD ?- F A ? B, B ? C, C ? D
- F ????? ??? ????????, ??? ????? ?? ??????
- R1AB ?- F1 A ? B
- R2BC ?- F2 B ? C
- R3CD ?- F3 C ? D
- (R1)FR ???? R1 ????-?? ?? R ???? ???? ?????? ??
???? ????? - ???? ????? ?? ?????? ?? ????? BCNF
25??? ?????
Fi ????? ?? ??"? ????? ???? Ri, ??? ???? ?????
????? ?? ?? ??"? ????????? ?- Ri
- ????? ????? RABC ??
- F AB ? C, C ? A
- ????? ?? ??????
- ???? R1ABC ?? F1 AB ? C
- ???? R2AC ?? F2 C ? A
- ????? ?- R1 ??????? ?? ??"? C ? A ??? ??? ??
????? ????? ????? ?"? ?????????, ???? ???? ????
??? ??? ?????? ????? ??"?
26????? ???? ????????? ?????? ????? 3NF
- ???? ???? ????? ?? ???? ?????, ??? ????? ???????
??"? ?? ???? ?? ???? - ????? RABC, F A ? B, A ? C
- ??????
- R1AB ?- F1 A ? B
- R2AC ?- F2 A ? C
- ???? ???? ????? ???
- R1ABC ?- F1 A ? B, A ? C
27????? ??????? ?????? ????? ????? 3NF
- ?????, ??????? ????? ?????? ??? ???????? G
- ??? SXA1An???? ??????? ??? ??"? ?????? X ? Ai,
??? ?? ??"? ??? ???? ???? ??? X - ???? ?????? ??- S ??? ???? ?? 3NF
28??"? ????? V ? Ak
- ???? ?????? SXA1An ???? 3NF ???? ?"? V ? B ? G
- ??? B ? X, ?? X ???? ?? ????? ??? B ? X ?? ??? ??
???? ?? 3NF - ?????, B ??? ??? ?- Ai ????? ?- BAk
- ???? ?? ??"? ????? ?"? V ? Ak
29???? ?????? X ? V
- V ? Ak ??? ??"? ????? 3NF
- X ? V (???? V ???? ???? ???? V ???? ????-?? ??
????? S ???"? V ? Ak ????? ???? ?? 3NF ) - ???? ?????? ?? ???? ?????
- V ? X
- V ? X
30???? 1 V ? X
- V ? Ak ? G ??? ??"? ????? 3NF
- ????? X ? V ???? V ????? ??? ?- X
- X ? Ak ? G ?? ??? ????? ????? ???? ??"? ??
- ???? ???????????? ?? X V ??? ??????? ??? ????
?? ??"? X ? Ak, ?????? ??? ?- G ????? ??? ????????
31???? 2 V ? X
- V ? Ak ? G ??? ??"? ????? 3NF
- ?? ????? ?? V ? Ak ?- G, ?????? ?????? ??"? ??
??-????? G1 ? G - ?- G1 ??? ?? ?"? ????? ?????? ??? X (???? X ? V
???? V ????-?? ?? S ???"? V ? Ak ???? ???? ??
3NF) - ????? 1 V ? Ak G1 ? ??? X ? Ak ? G1
32???? 2 V ? X (????)
- ??? G2 ? G ??' ?? ??"? X ? Ai ???? Ai ? V
- ?- G2 ???? ????? ?? X ? V (????? ??????? ??????)
- X ? Ak ? G2 (???? Ak ? V ???? V ? Ak ???? ????
?? 3NF) - ????? 2 X ? V G2 ? ??? X ? Ak ? G2
33???? 2 V ? X (?????)
- ????? 1 V ? Ak G1 ? ??? X ? Ak ? G1
- ????? 2 X ? V G2 ? ??? X ? Ak ? G2
- ??? ?- ? G2 G1???? ????? ??X ? Ak ?????? X ? Ak
??? ?"? ?????? ?- G, ?????? ??? ?- G ??? ???????? - ??? ??? ???? ??????, ????? ?????? SXA1An ????
???? 3NF
34???? ??????
- ???? ?????? ??? ??????? ???? S ???? ???? ?? ?????
??????? R, ?? S ?????? 3NF - ??? ??????????? ?? ???? ?? ????? ??????? R ??
?????? ??????? ??? ?"? (???? ?? ?? ????) - ??? ??? ??????????? ?? ???? ??? ??? ???? ?? 3NF
35?????? ?????? ?????????? ?????
- ?????? ?????????? ????? ??? ??? ??????? ?????
- ?? ???? ?????? ??? 3NF (??????)
- ?????? ???? ?? ??"? (????)
- ?????? ??? ??? ????? (???? ?????? ???? ?????
????? ???? ?? ?????) - ????????? ??? ???? ???????????