logo

נוֹרמָלִיזָצִיָה

מסד נתונים גדול המוגדר כקשר יחיד עלול לגרום לשכפול נתונים. חזרה זו על הנתונים עלולה לגרום ל:

  • הופך את היחסים לגדולים מאוד.
  • זה לא קל לתחזק ולעדכן נתונים מכיוון שזה כרוך בחיפוש רשומות רבות ביחס.
  • בזבוז וניצול לקוי של שטח דיסק ומשאבים.
  • הסבירות לטעויות וחוסר עקביות עולה.

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

הערך של מחרוזת Java

מהי נורמליזציה?

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

למה אנחנו צריכים נורמליזציה?

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

ניתן לסווג חריגות בשינוי נתונים לשלושה סוגים:

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

סוגי צורות רגילות:

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

להלן הסוגים השונים של צורות רגילות:

נורמליזציה של DBMS
צורה רגילה תיאור
1NF יחס הוא ב-1NF אם הוא מכיל ערך אטומי.
2NF יחס יהיה ב-2NF אם הוא ב-1NF וכל התכונות שאינן מפתח פונקציונליות מלאות תלויות במפתח הראשי.
3NF יחס יהיה ב-3NF אם הוא ב-2NF ולא קיימת תלות במעבר.
BCNF הגדרה חזקה יותר של 3NF ידועה כצורתו הרגילה של בויס קוד.
4NF יחס יהיה ב-4NF אם הוא בצורה הרגילה של בויס קוד ואין לו תלות רב-ערכית.
5NF יחס הוא ב-5NF. אם הוא נמצא ב-4NF ואינו מכיל תלות בהצטרפות, ההצטרפות צריכה להיות ללא הפסדים.

היתרונות של נורמליזציה

  • נורמליזציה עוזרת למזער את יתירות הנתונים.
  • ארגון מסד נתונים כולל גדול יותר.
  • עקביות נתונים בתוך מסד הנתונים.
  • עיצוב מסד נתונים הרבה יותר גמיש.
  • אוכף את הרעיון של שלמות יחסים.

חסרונות של נורמליזציה

  • אתה לא יכול להתחיל לבנות את מסד הנתונים לפני שאתה יודע מה המשתמש צריך.
  • הביצועים מתדרדרים כאשר מנרמל את היחסים לצורות נורמליות גבוהות יותר, כלומר, 4NF, 5NF.
  • זה מאוד גוזל זמן וקשה לנרמל יחסים ברמה גבוהה יותר.
  • פירוק רשלני עלול להוביל לתכנון רע של מסד נתונים, מה שיוביל לבעיות חמורות.