arrow

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

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

לפני שאתם רצים לנרמל, הנה הזהרה קטנה: אין תהליך טוב יותר מהיגיון בריא.

תסתכלו על הדוגמא הבאה:

טבלת Customer

מספר – מפתח ראשי
שם
כתובת
מיקוד
עיר

באיזו צורה נורמלית נמצאת הטבלה הזו? במבט חטוף לא רואים קבוצות חוזרות על עצמן ומפתח ראשי מוגדר, אזי היא לפחות בצורה נורמלית מספר אחת. יש רק מפתח אחד, לכן אין צורך לחפש תלויות חלקיות, לכן היא בצורה נורמלית שניה לפחות. מה לגבי תלויות טרנזיטיביות? נראה כאילו עיר יכולה להיות מוגדרת על ידי מיקוד. במרבית מערי העולם זה אכן כך בדרך כלל. לכן, אולי כדאי להוציא את העיר יחד עם המיקוד (שיהיה המפתח הראשי) ולהכניסם לטבלה נפרדת? לא!! למרות שטבלה זו טכנית לא בצורה נורמלית שלישית, הוצאת מידע זה אינו שווה. יצירת טבלאות נוספות מעלה את זמן הטעינה במעט ומאיטה את העיבוד. בדרך כלל זה מנוטרל על ידי צמצום גודל הטבלאות וצמצום בנתונים מיותרים. במקרה זה, שבו כמעט תמיד נתייחס לעיר כחלק מהכתובת, זה לא שווה את זה. רק לחברה שמשתמשת בנתונים אלה ליצירת רשימת כתובות של אלפי לקוחות למשלוח דואר, אולי באמת יהיה כדאי לנרמל עד הסוף.

נרמול זהו תהליך, שסופו ביצירת טבלאות בעלות המבנה היעיל ביותר ולא כלי לעיצוב מסדי נתונים.

מניסיוננו, עדיף לטעות ולנרמל ומאשר לא לנרמל ולא לטעות.

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


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