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




