arrow

פרק 5 - נרמול מסדי נתונים

נרמול מסדי נתונים –חלק 3

עדיין לא הגענו לשלמות. עדיין יש מקום לשיבושים ואי סדרים בנתונים. תסתכלו על הנתונים הבאים:

Employee table

Employee number Employee name Rate category Hourly rate
11 Vincent Radebe A $60
12 Pauline James B $50
16 Charles Ramoraz C $40
17 Monique Williams B $40

כאן הבעיה היא בכך, ש- מוניק ויליאמס (Monique Williams) מקבלת 40$ לשעה ונמצאת בקטגוריה B, כך שלמעשה היא צריכה לקבל 50$ לשעה (במקרה של חברה זו הקשר בין התשלום לשעה לקטגוריית התשלום מקובע. לא תמיד זה המקרה). שוב אנו מאחסנים נתונים מיותרים: היחס בין התשלום לשעה לקטגוריית התשלום מאוחסן בשלמותו עבור כל עובד. הפתרון, כמו קודם, הוא בהסרת הנתונים העודפים והכנסתם לטבלה נפרדת. באופן רשמי, אנחנו מחפשים יחסים טרנזיטיביים, שבהם תכונה (שאיננה מפתח) תלויה ביחס אחר (שגם איננו מפתח). תשלום לשעה, בזמן היותו תלוי במספר עובד (כנראה הגדרנו תלות זו לפני כן, כשדיברנו על תלויות חלקיות) למעשה תלוי בקטגוריית התשלום. לפי כך, נסיר אותו ונכניס אותו לטבלה נפרדת, בטבלה זו יהיה מפתח משלה, כפי שרואים כאן:

Employee table

Employee number Employee name Rate category
11 Vincent Radebe A
12 Pauline James B
16 Charles Ramoraz C
17 Monique Williams B

Rate table

Rate category Hourly rate
A $60
B $50
C $40

עשינו חלוקה נוספת. כעת לא ניתן לחשוב בטעות, שקטגוריה B מתקשרת למשהו אחר מלבד 50$. יחסים אלו מאוחסנים במקום אחד בלבד – בטבלה החדשה שלנו (Rate Table), היכן שאפשר להיות בטוח שהם מדויקים.

נרמול מסדי נתונים - חלק 2
תוכן עניינים
נרמול מסדי נתונים - חלק 4


פרק 1 -> פרק 2 -> פרק 3 -> פרק 4 -> פרק 5 ->