- ב-2NF, רלציונלי חייב להיות ב-1NF.
- בצורה הרגילה השנייה, כל התכונות שאינן מפתח פועלות במלואן, תלויות במפתח הראשי
דוגמא: נניח שבית ספר יכול לאחסן את הנתונים של המורים והמקצועות שהם מלמדים. בבית ספר, מורה יכול ללמד יותר ממקצוע אחד.
שולחן TEACHER
TEACHER_ID | נושא | TEACHER_AGE |
---|---|---|
25 | כִּימִיָה | 30 |
25 | ביולוגיה | 30 |
47 | אנגלית | 35 |
83 | מתמטיקה | 38 |
83 | מַחשֵׁב | 38 |
בטבלה הנתונה, תכונה שאינה ראשונית TEACHER_AGE תלויה ב-TEACHER_ID שהיא קבוצת משנה נכונה של מפתח מועמד. לכן זה מפר את הכלל עבור 2NF.
איך להטיל מחרוזת ל-int ב-java
כדי להמיר את הטבלה הנתונה ל-2NF, אנו מפרקים אותה לשתי טבלאות:
טבלה TEACHER_DETAIL:
TEACHER_ID | TEACHER_AGE |
---|---|
25 | 30 |
47 | 35 |
83 | 38 |
טבלה TEACHER_SUBJECT:
מעבר אטימות css
TEACHER_ID | נושא |
---|---|
25 | כִּימִיָה |
25 | ביולוגיה |
47 | אנגלית |
83 | מתמטיקה |
83 | מַחשֵׁב |