תוכן עניינים:
הגדרה - מה המשמעות של צורה רגילה שנייה (2NF)?
צורה נורמלית שנייה (2NF) היא השלב השני בנורמליזציה של בסיס נתונים. 2NF בונה את הטופס הרגיל הראשון (1NF).
נורמליזציה היא תהליך ארגון הנתונים במסד נתונים כך שהם עומדים בשתי דרישות בסיסיות:
- אין יתירות של נתונים (כל הנתונים מאוחסנים במקום אחד בלבד).
- תלות נתונים היא הגיונית (כל פריטי הנתונים הקשורים מאוחסנים יחד).
טבלת 1NF היא בצורת 2NF אם ורק אם כל התכונות הלא-פריימיות שלה תלויות באופן פונקציונאלי בכל מפתח המועמדים.
Techopedia מסביר טופס רגיל שני (2NF)
לאחר עמידה בדרישות של 1NF, 2NF מחייב את מעצב בסיסי הנתונים לבצע את הפעולות הבאות:
- פצל את כל הנתונים וכתוצאה מכך קשרים רבים-לרבים ושמור את הנתונים כטבלאות נפרדות. לדוגמה, במסד נתונים המשמש את היישום של בית הספר, שתי הטבלאות הן תלמיד ותוכנית. בחיים האמיתיים סטודנט לוקח כמה מקצועות במקביל בזמן שנושא נלמד על ידי מספר סטודנטים. אלה מערכות יחסים רבות-לרבות. 2NF קובע כי יש לחלק את הקשר הזה ליותר משתי הטבלאות שלעיל (סטודנט ותת). אחת הדרכים לפיצולן היא באמצעות הצגת טבלה שלישית הכוללת את העמודות Student_ID, Subject_ID, סמסטר ושנה. באופן זה, אין קשר ישיר בין סטודנט לתחום מכיוון שכל מערכות היחסים נוצרות בעקיפין דרך הטבלה השלישית.
- צרו קשרים בין טבלאות באמצעות מקשים זרים. לדוגמה, מסד נתונים של בנק מכיל שתי טבלאות: CUSTOMER_MASTER (לאחסון פרטי לקוחות) ו- ACCOUNT_MASTER (לאחסון פרטים על חשבונות בנק, כולל לקוח שמחזיק באיזה חשבון). חייבת להיות דרך לקשר בין שתי הטבלאות כדי לדעת מיהו הלקוח עבור כל חשבון. הדרך לעשות זאת היא באמצעות מפתח זר, שהוא עמודה בטבלה ACCOUNT_MASTER שמצביעה על עמודה המתאימה בטבלה CUSTOMER_MASTER.
טבלה שלגביה אין תלות פונקציונלית חלקית במפתח הראשי עשויה להיות או לא ב- 2NF. בנוסף למפתח הראשי, הטבלה עשויה להכיל מפתחות מועמדים אחרים; יש לקבוע כי אין לתכונות שאינן פריים תלות במפתח חלקי באף אחד ממפתחות המועמד הללו.