נרמול מסד נתונים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ לוכסן העביר את הדף נרמול בסיס נתונים לשם נרמול מסד נתונים: בעקבות הדיון בשיחה:מסד נתונים
התאמת גוף הערך לשם הערך: נרמול מסד נתונים
שורה 1:
[[קובץ:Database normalization.png|שמאל|ממוזער|250px|סכמה של נרמול בסיסמסד נתונים]]
'''חוקי הנרמול''' הם ששה חוקים לארכיטקטורה תקינה של [[בסיס נתונים טבלאי|מסד נתונים יחסי]], הנבנים אחד על גבי השני וקובעים מבנה אופטימלי של טבלאות ושדות של בסיסמסד הנתונים, באופן שהמידע יאוחסן באופן האמין, היעיל והחסכוני ביותר, וכדי למנוע תופעות לא רצויות בתפעול בסיסמסד הנתונים. באופן כללי ניתן לקבוע שהכלל העקרוני והעיקרי של חוקי הנרמול קובע שכל טבלה תתייחס לחטיבת מידע אחת בלבד, וכל הנתונים שלה יתארו אך ורק את אותה חטיבת מידע.
 
==הצורך בנרמול==
שורה 25:
ישנן גם '''בעיות בהכנסה ובמחיקה''', נניח שרוצים להוסיף לטבלה מס' של מכונית ושנת ייצורה, אך עדיין לא לקבוע מיהו הבעלים שלה. אין דרך לעשות זאת. באופן דומה, אין דרך למחוק את שם הבעלים ולהותיר את מס' המכונית ושנת הייצור.
 
בכל מקרה כזה של עדכון, הכנסה או מחיקה, עלולה להיווצר אנומליה בבסיסבמסד הנתונים.
 
במקרה של פיצול נתונים מסוג אחד לטבלאות שונות ("שם: בנימין", "שם: אהוד"...) או לשדות שונים (שכונות בירושלים: "קריית משה", "גילה", "[[בית וגן]]"...). כל הפעולות של עבודה עם טבלאות יסתרבלו, מכיוון שיהיה צריך ליצור שאילתות, טפסים ודוחות שונים לכל טבלה, או לבצע חיפש על שדות רבים במקום על שדה אחד.
שורה 38:
להלן מונחים שייעשה בהם שימוש במהלך תהליך הנרמול:
*'''סכמה''' - אפיון הטבלה שנכללים בהגדרתה: 1. שם הטבלה, 2. שמות העמודות הם ה'''שדות''', 3. סוג ערכי העמודות 4. ואת המפתח העיקרי (באמצעות קו תחתי). למשל, לטבלה "אלפון" המכילה עמודה של שם, עמודת תעודת זהות ועמודת גיל יש את הסכמה:'''אלפון''' (שם, תעודת זהות, גיל). ניתן גם לרשום סכמה באופן מלא בצורה הבאה: '''אלפון''' (שם:מחרוזת(14), תעודת זהות:מחרוזת (9), גיל:בית).
*'''סכמה טבלאית''' - אוסף כל הסכמות של כל הטבלאות בבסיסבמסד הנתונים. לכל שם טבלה ולכל שדה באותה טבלה חייב להיות שם חד ערכי. שדות הקשר בין טבלאות מקושרות יהיו שדות בעלי שמות זהים.
*'''מפתח''' - תכונה או אוסף תכונות מתוך הסכמה שדי בהם כדי לזהות [[חד חד ערכי|חד-חד-ערכית]] את הרשומה. למשל, בסכמה (תעודת זהות, שם אדם, כתובת, מספר מכונית, שנת ייצור המכונית), די בתעודת זהות ובמספר מכונית כדי לאפשר את מילוי כל שדות הנתונים האחרים. אין אפשרות שתעודת הזהות ומספר המכונית יהיו זהים ברשומת טבלה אחרת.
*'''[[מפתח ראשי]]''' - התכונה המרכזית שעל פיה מזהים את הרשומה בהתייחסות לטבלאות אחרות. בסכמה (תעודת זהות, שם אדם, כתובת, מספר מכונית, שנת ייצור המכונית) תעודת הזהות ומספר המכונית הם כאמור המפתח, אך ברור מ[[קל וחומר]] שגם תעודת זהות, מספר מכונית ושנת ייצור מכונית הם מפתח, כלומר קיים עבורם מילוי אפשרי אחד בלבד של יתר השדות. אם כך (תעודת הזהות, מספר המכונית) הוא מפתח עם מספר מרכיבים מינימלי. מפתח כזה הוא ה'''מפתח''' בניגוד למפתח עם מספר מרכיבים לא מינימלי הקרוי '''מפתח על'''. ייתכן מצב שבו יש מספר מפתחות אפשריים עם מספר רכיבים מינימלי. במקרה כזו ייבחר אחד מהם לשמש '''מפתח ראשי''' והשאר ייחשבו ל'''מפתחות משניים'''.
שורה 90:
 
==ראו גם==
*[[בסיסימסדי נתונים - מונחים]]
 
==לקריאה נוספת==