תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 5

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

ממיבחניםC שאלות ++.
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
אקסס מבוא למערכות מידע.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
אופטימיזציה של שאילתות
מתמטיקה בדידה תרגול 3.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
משטר דינמי המשך – © Dima Elenbogen :55 חידה שכדאי לעבור עליה: 2011/ho/WCFiles/%D7%97%D7%99%D7%93%D7%94%20%D7%A2%D7%9D%20%D7%91%D7%95%D7%A0%D7%95%D7%A1.doc.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
Questions are the Answer Penick&all H ISTORY R ELATIOINSHIPS A PPLICATION S PECULATION E XPLANATION.
מסדי נתונים תשס " ג 1 More on SQL קורס מסדי נתונים.
אביב תשס"ה DBMS, צורות נורמליות1 צורות נורמליות: 3NF,BCNF צורה נורמלית (Normal Form) היא תכונה של סכמה רלציונית, המודדת את "טיב" הסכמה מבחינת מניעת.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
2. תרשימי ER שקפים: אלדר פישר עריכה ותוספות: אמיר שפילקה
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
צורה נורמלית – BCNF Boyce-Codd Normal Form
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
אביב-תשס"ה DBMS, Design1 פרוקים של רלציות מוטיבציה: פרוק סכמה לסכמות יותר קטנות על מנת למנוע כפילויות. הגדרה: תהי R סכמה רלציונית. פרוק של R הוא.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
4 July 2007 נרמול מסד הנתונים כאשר מסד הנתונים עובר את שלב התכנון הראשוני יכולים להיווצר מספר בעיות בתכנון הנובעות מיתירות: אחת הבעיות הנפוצות ביותר במסדי.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
עקרון ההכלה וההדחה.
יחס סדר חלקי.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
תחשיב היחסים (הפרדיקטים)
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
(C) סיון טל גילוי מידע וזיהוי תבניות תרגול מס. 9 גילוי מידע וזיהוי תבניות תרגול מס. 9 דחיסת נתונים מהו קידוד תכונות של קידודים אי - שוויון קרפט.
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
Presentation by Gil Perry Supervised by Amos Fiat 1.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
Costs and Filters Dr. Avi Rosenfeld Department of Industrial Engineering Jerusalem College of Technology
1 תרגול 11: Design Patterns ומחלקות פנימיות אסף זריצקי ומתי שמרת 1 תוכנה 1.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
4 July 2007 נרמול מסד הנתונים.
SQL בסיסי – הגדרה אינדוקטיבית
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
ממשקים - interfaces איך לאפשר "הורשה מרובה".
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Marina Kogan Sadetsky –
תיכון בסיס-נתונים יחסי
Based on the lecture notes of Prof. Sagiv
מודל הישויות והקשרים – יותר לעומק
Presentation transcript:

תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 5 תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 5 Design Theory for Relational Databases Part 5

מגבלות התיאוריה לתכנון סכמות של מסדי נתונים יחסיים

תחילה, היתרונות של פירוק

תזכורת: סכמה בעייתית היא סכמה שגורמת לשכפול מידע היחס הסכמה היא SCT ומתקיימת הת"פ C → T מפרקים לשתי סכמות: SC ו- CT Student Course Teacher T C S Smith DB Cohen Jones OS Levy

הפירוק מונע שכפול מידע וגם מאפשר לשמור מידע חלקי כיצד נשמר מידע חלקי? בסכמה SC אפשר לשמור מידע על סטודנט שלוקח קורס גם אם המורה של הקורס טרם נקבע בסכמה CT אפשר לשמור מידע על מורה של קורס לפני שהחלה הרשמת התלמידים

דוגמה למידע חלקי שנשמר במסד ל- OS אין עדיין מורה ל- PLAB אין עדיין סטודנטים C S DB Cohen OS Levy T C Jones PLAB Smith DB

מה היה קורה אילו במסד הייתה הסכמה המקורית (במקום הפירוק)? ביחס עבור הסכמה המקורית SCT צריך להשתמש בערכי NULL כדי לשמור מידע חלקי T C S Jones PLAB NULL Smith DB Cohen OS Levy

הבעיות של שימוש בערכי NULLבסכמה המקורית SCT מקשה על המשתמש אי אפשר לשמור ערכי NULL במפתח S הוא חלק מהפתח של הסכמה SCT ולפיכך אי אפשר לשמור מידע חלקי על קורס ומורה לפני שהחלה הרשמת התלמידים

לסיכום לפירוק SC ו- CT יש שני יתרונות בהשוואה לסכמה המקורית SCT הפירוק מונע כפילויות הפירוק מאפשר שמירת מידע חלקי ללא ערכי NULL אבל שמירת מידע חלקי גורמת לכך שהיחסים במסד אינם הטלות של יחס אחד מעל הסכמה המקורית

האם התיאוריה מתאימה למצב שבו היחסים במסד אינם הטלות של יחס אחד מעל הסכמה המקורית?

דוגמה למצב שבו היחס r עבור SCT חייב להכיל ערכי NULL, כדי שהיחסים עבור SC ו-CT יהיו ההטלות של r DB Cohen OS Levy T C S Jones PLAB NULL Smith DB Cohen OS Levy T C Jones PLAB Smith DB

במילים אחרות: הצירוף הטבעי של כל היחסים במסד אינו מכיל את כל המידע שיש ביחסים אלה C S DB Cohen OS Levy T C Jones PLAB Smith DB ⋈ T C S Smith DB Cohen Levy =

תזכורת תכונת הצירוף ללא אובדן נועדה להבטיח שהצירוף של כל היחסים במסד אינו כולל רשומות מיותרות (שלא היו ביחס המקורי) אבל כעת נוצר מצב שבו יש מעט מדי רשומות בצירוף של הסכמות SC ו- CT

הפתרון למעשה, כדי לקבל ביחס אחד (עבור הסכמה המקורית) את כל המידע הקיים במסד, צריך לקחת איחוד של כל הצירופים הטבעיים ללא אובדן במקרה של של הסכמות SC ו- CT, יש שלושה צירופים טבעיים שהם ללא אובדן SC ⋈ CT SC CT כ"א משלושת הצירופים הוא מעל קבוצת אטריביוטים אחרת – לכן אי אפשר לבצע איחוד

לפיכך, מוסיפים תחילה עמודות שיש בהן NULL עבור האטריביוטים החסרים עבור הצירוף CT מקבלים: עבור הצירוף SC מקבלים: T C S Jones PLAB NULL Smith DB T C S NULL DB Cohen OS Levy

היחס עבור הצירוף SC ⋈ CT נשאר ללא שינוי, כי הוא כולל את כל העמודות Smith DB Cohen Levy

עכשיו נבצע איחוד T C S Smith DB Cohen Levy NULL OS Jones PLAB אבל יש רשומות שכל המידע הכלול בהן מופיע גם ברשומות אחרות

נמחק רשומות שהן למעשה חלק מרשומות אחרות התוצאה הסופית של איחוד כל הצירופים הטבעיים ללא אובדן היא: T C S Smith DB Cohen Levy NULL OS Jones PLAB

איחוד מורחב פעולת האיחוד המורחב מורכבת מהשלבים הבאים: הוספת עמודות עם ערכי NULL עבור האטריביוטים החסרים ביצוע פעולת איחוד רגילה מחיקת רשומות שנכללות ברשומות אחרות

לסיכום היחס עבור הסכמה המקורית הוא תוצאת האיחוד המורחב של כל הצירופים הטבעיים ללא אובדן

צירוף מינימלי ללא אובדן הכולל קבוצת אטריביוטים נתונה

דוגמה Employee, Department, Project, Manager הסכמה היא R=EDPM וקבוצת הת"פ היא F = {E → D, E → P, D → M, P → M} מקבלים את הפירוק R1=ED ו- F1 = {E → D} R2=EP ו- F2 = {E → P} R3=DM ו- F3 = {D → M} R4=PM ו- F4 = {P → M} זהו פירוק ללא אובדן, שמשמר את הת"פ ומקיים BCNF

דוגמה למסד נתונים עבור ארבעת הסכמות של הפירוק נניח שרוצים למצוא לכל עובד את המנהלים שלו הצירוף הטבעי של כל היחסים הנו ריק בעיקרון, צריך לחשב הטלה על EM של האיחוד המורחב של כל הצירופים הטבעיים ללא אובדן D E CS Levy M D Dolev CS P E OS Levy M P Barak OS

מהם כל הצירופים ללא אובדן בדוגמה זו? ED ⋈ DM ⋈ EP ⋈ PM ED ⋈ DM ⋈ EP ED ⋈ EP ⋈ PM ED ⋈ DM EP ⋈ PM ויש עוד מספר צירופים ללא אובדן שאינם מכילים את קבוצת האטריביוטים EM

צירוף מינימלי ללא אובדן הכולל קבוצת אטריביוטים נתונה למעשה מספיק לחשב רק את שני הצירופים הבאים: ED ⋈ DM EP ⋈ PM כ"א משני הצירופים האלה הנו מינימלי במובן שאי אפשר להשמיט אף אחד מהיחסים שמשתתפים בצירוף ועדיין לקבל צירוף ללא אובדן שמכיל את את האטריביוטים המבוקשים (קרי, EM)

איך נקבל את כל המידע על EM? וניקח את האיחוד, כלומר ⋃ EM(ED ⋈ DM)(EP ⋈ PM)EM כך נענה על שאילתה לגבי E ו- M

שימור התלויות הפונקציונליות

נחזור לדוגמה הקודמת Employee, Department, Project, Manager הסכמה היא R=EDPM וקבוצת הת"פ היא F = {E → D, E → P, D → M, P → M} מקבלים את הפירוק R1=ED ו- F1 = {E → D} R2=EP ו- F2 = {E → P} R3=DM ו- F3 = {D → M} R4=PM ו- F4 = {P → M} זהו פירוק ללא אובדן, שמשמר את הת"פ ומקיים BCNF הת"פ E → M נגררת מ- F

האם הת"פ E → M מתקיימת במסד המורכב מהיחסים הבאים? כל יחס מקיים את הת"פ שלו הפירוק משמר את הת"פ ומשמעות הדבר שהצירוף הטבעי של כל היחסים מקיים את כל הת"פ הצירוף הטבעי של כל היחסים ריק – חלקי המידע הסותרים את הת"פ נעלמים כשלוקחים את הצירוף D E CS Levy M D Dolev CS P E OS Levy M P Barak OS

צריך לוודא שהת"פ E → M מתקיימת כפי שעונים על שאילתות מעל EM וניקח את האיחוד, כלומר ⋃ EM(ED ⋈ DM)(EP ⋈ PM)EM בתוצאה הנ"ל בודקים אם אין הפרה של הת"פ כזכור, כך גם עונים על שאילתות לגבי E ו- M

אבל יתכן שהת"פ בכלל אינן מבטאות את המציאות בצורה נכונה...

מגבלות השימוש בת"פ לכל הגזירות של אותה ת"פ חייבת להיות אותה משמעות אי אפשר לקבוע שהת"פ E# → E# מתקיימת במובן שמספר עובד קובע את מספר העובד של המנהל שלו, כי כבר קיימת הת"פ הטריוויאלית E# → E# (קרי, מספר עובד קובע את עצמו)

נחזור שוב לדוגמה הקודמת Employee, Department, Project, Manager R=EDPM ו- F = {E → D, E → P, D → M, P → M} אפשר לגזור את E → M מהת“פ E → D ו- D → M המשמעות היא "מנהל המחלקה של העובד" E → P ו- P → M המשמעות היא "מנהל הפרויקט של העובד"

מסקנה R=EDPM ו- F = {E → D, E → P, D → M, P → M} לכן, אם אלה אומנם הת"פ הנכונות, אז חייב להתקיים שאותו אדם הוא גם מנהל המחלקה וגם מנהל הפרויקט של העובד אם אין הדבר כך, אז חייבים לבצע שינוי שם של האטריביוט M

שינוי שם נחליף את M בשני אטריביוטים חדשים R=EDPMDMP ו- F = {E → D, E → P, D → MD, P → MP}

אבל מה עם ה- ISA? עדיין יש צורך באטריביוט M כדי לייצג את קבוצת כל המנהלים isa M MD MP isa M R=EDPMDMPM ו- F = {E → D, E → P, D → MD, P → MP, MD → M, MP → M} שוב יש שתי גזירות שונות של E → M והבעיה לא נפתרה

פתרון אפשרי נתעלם מהת"פ הנובעות מקשרי ISA, כלומר מהת"פ MD → M ו- MP → M ניתן להתעלם מהת"פ האלה, כי אין צורך ביחס מיוחד המקשר בין M ל- MD או בין M ל- MP אין צורך ביחס מיוחד, כי ל- M, MD ו- MP ערכים מאותו התחום (למשל, מספר עובד)

F = {E → D, E → P, D → MD, P → MP, M → S} הדוגמה ביתר פירוט R=EDPMDMPMS S מציין מזכיר של המנהל הת"פ הנן F = {E → D, E → P, D → MD, P → MP, M → S} F איננה כוללת את הת"פ הנובעות מקשרי ה- ISA isa M MD isa M MP isa E M S isa E

נפעיל את האלגוריתם למציאת פירוק ב- 3NF מקבלים את הפירוק R1=ED ו- F1 = {E → D} R2=EP ו- F2 = {E → P} R3=DMD ו- F3 = {D → MD} R4=PMP ו- F4 = {P → MP} R5=MS ו- F5 = {M → S} אין צורך ביחסים עבור קשרי ה- ISA, כי הערכים בעמודות MD, MP, M, S ו- E באים כולם מהתחום של מספרי עובדים – לכן קשרי ה- ISA הם קשרי הזהות

מיזוג סכמות

נחזור לדוגמה קודמת של יצירת פירוק ב- 3NF Gi היא קבוצת הת"פ שמהן נוצרה הסכמה Ri, אבל אינה בהכרח כיסוי של כל הת"פ המתקיימות ב- Ri נחזור לדוגמה קודמת של יצירת פירוק ב- 3NF נתונה הסכמה R=ABC עם F = {AB → C, C → A} נייצר את הסכמות: סכמה R1=ABC עם G1 = {AB → C} סכמה R2=AC עם G2 = {C → A} למעשה ב- R1 מתקיימת גם הת"פ C → A אבל היא לא ניתנת באופן מפורש ע"י האלגוריתם, ואין צורך לדעת זאת כדי להראות שימור הת"פ

עדיף לשלב את שתי הסכמות לסכמה אחת נניח ששומרים את שתי סכמות סכמה R1=ABC עם G1 = {AB → C} סכמה R2=AC עם G2 = {C → A} עדיין צריך לוודא שהתלות C → A מתקיימת ב- R1 לפיכך, עדיף לחזור לסכמה המקורית R=ABC ו- F = {AB → C, C → A} במקרה הכללי, אם סכמה אחת מכילה את כל האטריביוטים של סכמה שניה, אז עדיף למזג את שתי הסכמות לסכמה אחת, שיש לה את הת"פ של שתי הסכמות

אבל צריך לזכור שמאבדים את היכולת לשמור מידע חלקי אם ממזגים את שתי הסכמות, אז באופן מעשי מאבדים את היכולת לשמור מידע חלקי עבור AC, כי B הוא אטריביוט ששייך למפתח של הסכמה ABC (ובמערכות מסדי נתונים קיימות, כגון אורקל, אי אפשר לשמור ערכי NULL באטריביוטים של מפתח)

תלויות רב-ערכיות ותלויות צירוף Multivalued Dependencies and Join Dependencies

דוגמה לסכמה שניתנת לפירוק שמקיים את תכונת הצירוף ללא אובדן היחס הסכמה היא SCT ומתקיימת הת"פ C → T ניתן לפרק ל- SC ול- CT Student Course Teacher T C S Smith DB Cohen Jones OS Levy

האם ייתכן שהסכמה ניתנת לפירוק גם אם אין אף ת"פ? בין קורסים לסטודנטים קיים יחס של רבים לרבים בין קורסים למורים תיתכנה מספר אפשרויות לקורס יש תמיד יש מורה יחיד, כלומר מתקיימת הת"פ C → T ויש פירוק ללא אובדן לקורס יש מספר מורים – נדון במקרה הזה בשקפים הבאים

אפשרות א': כל תלמיד לומד אצל כל המורים אפשרות א': כל תלמיד לומד אצל כל המורים מספר מורים (אחד או יותר) מתחלקים ביניהם בהעברת הקורס אם זה תמיד המצב, אז מהו בעצם ייצוג נכון של הנתונים ביחס עבור הסכמה SCT? קל יותר לראות מה הייצוג הנכון ב- SC ו- CT C S DB Cohen Levy T C Jones DB Smith

כל תלמיד בקורס לומד אצל כל מורה של הקורס, לכן היחס מעל SCT שמייצג נכון את הנתונים הוא בדיוק הצירוף של SC ו- CT C S DB Cohen Levy T C Jones DB Smith ⋈ = T C S Smith DB Cohen Jones Levy

במקרה שתיארנו מתקיימת התלות הרב-ערכית C →→ T באופן שקול, התלות הרב-ערכית מתקיימת בכל יחס שמקיים ⋈ CT(r) = r(r)SC לכן, אם היחסים האפשריים הם רק אלה שמקיימים את התלות הרב ערכית C →→ T, אז הפירוק של SCT ל- SC ול- CT הנו ללא אובדן

אפשרות ב': אין חוקיות המקשרת בין סטודנט לבין קבוצת המורים שמלמדת אותו האם יתכן שהפירוק של SCT ל- SC, CT ו- ST הנו ללא אובדן? נתונות העובדות הבאות משה מלמד את לוי (אפשרי שיש ללוי מורים נוספים) לוי לומד ב- OS (וכמובן שהוא לומד גם בקורסים אחרים) משה הוא אחד המורים של OS משלושת העובדות האלה לא בהכרח נובע שמשה הוא מורה של לוי ב- OS לכן, אין אפשרות לפרק את SCT

אפשרות ג': יש חוקיות המקשרת בין מורה לסטודנט, אבל היא מצריכה הוספת אטריביוט הקורס מחולק לקבוצות, כאשר כל סטודנט שייך לקבוצה אחת ולכל קבוצה מורה יחיד צריך להוסיף אטריביוט G שמציין קבוצה לכן R=SGCT ו- F = {G → C, G → T}

סביר יותר ש- G היא ישות חלשה (המפתח שלה מורכב ממספר קבוצה וממספר קורס) במקרה זה R=SGCT והתלויות הן F = {SC → G, CG → T} פירוק ל- 3NF נותן R1=SCG ו- F1 = {SC → G} R2=CGT ו- F2 = {CG → T}

תלויות צירוף אפשר להכליל את המושג של תלות רב-ערכית באופן הבא אם אפשר לפרק ללא אובדן את R למספר סכמות Rn,…,R2 R1, (n≥1), אז אומרים שמתקיימת תלות הצירוף [ Rn ,… ,R2 R1,] ⋈ מתי הדבר שימושי?

באלגוריתם לפירוק ל- 3NF כזכור, בשלב האחרון של האלגוריתם, אם הפירוק שנוצר מהכיסוי אינו חסר אובדן, אז מוסיפים סכמה R שהיא מפתח של הסמכה המקורית בסכמה R אין ת"פ, אבל ייתכן שניתן לפרק אותה למספר סכמות קטנות יותר, בגלל תלות רב-ערכית או תלות צירוף

לדוגמה נניח ש- S, C, ו- T הם חלק מהאטריביוטים, שכל אחד מייצג ישות אחרת ואין ביניהם ת"פ יש אטריביוטים נוספים שמתארים את התכונות של ישויות אלה, לדוגמה S → Name לכן, בפירוק ל- 3NF תהיינה שלוש סכמות, עבור שלושת הישויות, ובנוסף הסכמה SCT, שהיא מפתח ניתן לפרק את SCT לפי תלות רב-ערכית ל- SC ו- CT