Si consideri il seguente schema ER:
// Schema 1 (rimuovo l'arco C -> A nel grafo delle relazioni funzionali) db(A*) A(KA, R*, T) R(B) B(KB, S*, U*) S(C) C(KC) U(D) D(KD) T(KC) // Vincoli referenziali KEY(A.KA) KEY(B.KB) KEY(C.KC) KEY(D.KD) KEYREF(T.KC -> C.KC) // Schema 2 (rimuovo l'arco B -> C nel grafo delle relazioni funzionali) db(C*) C(KC, T*, S) T(A) A(KA, R*) R(B) B(KB, U*) U(D) D(KD) S(KB) // Vincoli referenziali KEY(A.KA) KEY(B.KB) KEY(C.KC) KEY(D.KD) KEYREF(S.KB -> B.KB) // Schema 3 (rimuovo l'arco A -> B nel grafo delle relazioni funzionali) db(B*) B(KB, U*, S*, R) U(D) D(KD) S(C) C(KC, T*) T(A) A(KA) R(KA) // Vincoli referenziali KEY(A.KA) KEY(B.KB) KEY(C.KC) KEY(D.KD) KEYREF(R.KA -> A.KA)La soluzione da preferire è lo schema 2 perchè favorisce un maggior annidamento delle entità (6 annidamenti). A scalare, la seconda soluzione è lo schema 1, in quanto sfrutta un maggior annidamento (5 annidamenti) rispetto allo schema 3 (4 annidamenti).