|
נרמול מסדי נתונים –חלק 3עדיין לא הגענו לשלמות. עדיין יש מקום לשיבושים ואי סדרים בנתונים. תסתכלו על הנתונים הבאים: Employee table
כאן הבעיה היא בכך, ש- מוניק ויליאמס (Monique Williams) מקבלת 40$ לשעה ונמצאת בקטגוריה B, כך שלמעשה היא צריכה לקבל 50$ לשעה (במקרה של חברה זו הקשר בין התשלום לשעה לקטגוריית התשלום מקובע. לא תמיד זה המקרה). שוב אנו מאחסנים נתונים מיותרים: היחס בין התשלום לשעה לקטגוריית התשלום מאוחסן בשלמותו עבור כל עובד. הפתרון, כמו קודם, הוא בהסרת הנתונים העודפים והכנסתם לטבלה נפרדת. באופן רשמי, אנחנו מחפשים יחסים טרנזיטיביים, שבהם תכונה (שאיננה מפתח) תלויה ביחס אחר (שגם איננו מפתח). תשלום לשעה, בזמן היותו תלוי במספר עובד (כנראה הגדרנו תלות זו לפני כן, כשדיברנו על תלויות חלקיות) למעשה תלוי בקטגוריית התשלום. לפי כך, נסיר אותו ונכניס אותו לטבלה נפרדת, בטבלה זו יהיה מפתח משלה, כפי שרואים כאן: Employee table
Rate table
עשינו חלוקה נוספת. כעת לא ניתן לחשוב בטעות, שקטגוריה B מתקשרת למשהו אחר מלבד 50$. יחסים אלו מאוחסנים במקום אחד בלבד – בטבלה החדשה שלנו (Rate Table), היכן שאפשר להיות בטוח שהם מדויקים. תוכן עניינים נרמול מסדי נתונים - חלק 4 פרק 1 -> פרק 2 -> פרק 3 -> פרק 4 -> פרק 5 -> |