הפרש בין 3NF ל- BCNF

Anonim

3NF לעומת BCNF

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

-> ->

מה זה 3NF?

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

-> ->

מה זה BCNF?

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

-> ->

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

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