הבדל בין 3NF ל-BCNF

הבדל בין 3NF ל-BCNF
הבדל בין 3NF ל-BCNF

וִידֵאוֹ: הבדל בין 3NF ל-BCNF

וִידֵאוֹ: הבדל בין 3NF ל-BCNF
וִידֵאוֹ: Agile vs Waterfall Methodology | Difference between Agile and Waterfall | What to choose? 2024, יולי
Anonim

3NF לעומת BCNF

נורמליזציה הוא תהליך שמתבצע כדי למזער את היתירות הקיימות בנתונים בבסיסי נתונים יחסיים. תהליך זה יחלק בעיקר טבלאות גדולות לטבלאות קטנות יותר עם פחות יתירות. טבלאות קטנות יותר אלו יהיו קשורות זו לזו באמצעות קשרים מוגדרים היטב. במסד נתונים מנורמל היטב, כל שינוי או שינוי בנתונים יחייבו לשנות רק טבלה בודדת. צורה נורמלית שלישית (3NF) הוצגה בשנת 1971 על ידי Edgar F. Codd, שהוא גם ממציא המודל ההתייחסותי ומושג הנורמליזציה. Boyce-Codd Normal Form (BCNF) הוצג בשנת 1974 על ידי Codd ו-Raymond F.בויס.

מה זה 3NF?

3NF היא הצורה הנורמלית השלישית המשמשת בנורמליזציה של מסד נתונים יחסי. לפי הגדרת ה-Codd, אומרים שטבלה נמצאת ב-3NF, אם ורק אם, הטבלה הזו היא בצורה הרגילה השנייה (2NF), וכל תכונה בטבלה שאינה שייכת למפתח מועמד צריכה להיות תלויה ישירות כל מפתח מועמד בטבלה זו. בשנת 1982 קרלו זאניולו הפיק הגדרה שהובעה אחרת עבור 3NF. טבלאות התואמות ל-3NF בדרך כלל אינן מכילות חריגות המתרחשות בעת הכנסה, מחיקה או עדכון של רשומות בטבלה.

מה זה BCNF?

BCNF (ידוע גם בשם 3.5NF) הוא צורה נורמלית נוספת המשמשת בנורמליזציה של מסד נתונים יחסי. זה הוצג כדי ללכוד חלק מהחריגות שאינן מטופלות על ידי 3NF. אומרים שטבלה נמצאת ב-BCNF, אם ורק אם, עבור כל אחת מהתלות של הצורה A → B שאינן טריוויאליות, A הוא מפתח-על. פירוק טבלה שאינה בצורת BCNF רגילה אינו מבטיח ייצור של טבלאות בצורת BCNF (תוך שמירה על התלות שהיו בטבלה המקורית).

מה ההבדל בין 3NF ל-BCNF?

הן 3NF והן BCNF הן צורות רגילות המשמשות במסדי נתונים יחסיים כדי למזער יתירות בטבלאות. בטבלה שנמצאת בצורה נורמלית BCNF, עבור כל תלות תפקודית לא טריוויאלית של הצורה A → B, A הוא מפתח-על ואילו טבלה שתואמת ל-3NF צריכה להיות ב-2NF, וכל לא-פריים התכונה צריכה להיות תלויה ישירות בכל מפתח מועמד בטבלה זו. BCNF נחשב לצורה נורמלית חזקה יותר מה-3NF והיא פותחה כדי ללכוד חלק מהחריגות שלא ניתן היה ללכוד על ידי 3NF. קבלת טבלה התואמת לטופס BCNF תחייב פירוק טבלה שנמצאת ב-3NF. פירוק זה יגרום לפעולות צירוף נוספות (או מוצרים קרטזיים) בעת ביצוע שאילתות. זה יגדיל את זמן החישוב. מצד שני, לטבלאות התואמות ל-BCNF יהיו פחות יתירות מאשר לטבלאות שתואמות רק ל-3NF. יתרה מכך, לרוב, ניתן להשיג טבלה התואמת ל-3NF מבלי להפריע לשימור התלות ולהצטרפות ללא הפסדים.אבל זה לא תמיד אפשרי עם BCNF.

מוּמלָץ: