Professional Documents
Culture Documents
DBMStut 3NF BCNF
DBMStut 3NF BCNF
3NF,BCNF
דוגמא:
) = {(A,B,D), (B,C)} ,F={B C, C D} ,R=(A,B,C,D
טענה :הפירוק איננו ב.BCNF-
הסבר R1∉BCNF :כי B D ∈ R1Fאולם Bאיננו
על-מפתח של R1
אולם :אם היינו בודקים את R1מעל קבוצת התלויות בF-
שמכילות תכונות ב( R1-אשר שווה לקבוצה ריקה) ,אזי היינו
מקבלים כי ( R1∈BCNFההגדרה מתקיימת באופן ריק).
dnamedaddr
(dname, id, pname, paddr, pres_no, date, med_name, qnt) (dname, daddr)
idpname
iddname
pres_nodate, id
(pres_no, med_name, qnt) (pres_no, date, id)
לא תמיד קיים פרוק משמר תלויות ל ,BCNF -וגם אם קיים
פרוק כזה ,אין דרך קלה למצוא אותו.
לעומת זאת ,תמיד קיים פרוק ל 3NF-שהוא משמר מידע
ותלויות.
יש אלגוריתם שמוצא פרוק משמר מידע ותלויות ל ,3NF-אך
כדי להשתמש בו יש להגדיר תחילה כיסוי מינימלי.
: נתון:דוגמה
R(dname, daddr, id, pname, paddr, pres_no, date, med_name, qnt)
F = {dname daddr, id pname, id paddr, id dname, pres_no
date, pres_no id, (pres_no, med_name) qnt}
.R- תלות פונקציונלית המכילה את כל התכונות בF-לא קיימת ב .1
:ניצור סכמות לפי התלויות הפונקציונליות .2
R1(dname, daddr)
R2(id, pname, paddr, dname)
R3(pres_no, date, id)
R4(pres_no, med_name, qnt)
ולכן אין צורך,(pres_no, med_name) כוללת את המפתח הקבילR4 .3
.להוסיף עוד סכמה
אביב תשס"ה 236363 - DBMS, צורות נורמליות 22