Supponiamo di avere un diagramma E-R concettuale, non fisico, che descriva un database relazionale. Voglio ordinare tutte le tabelle nel database usando un ordinamento topologico, in cui l'ordinamento parziale tra le tabelle è la Tabella 1 ha una chiave esterna nella Tabella 2.
Quando si eliminano le tabelle dopo aver inserito i dati di test, è necessario prima cancellare la tabella 1, quindi la tabella 2, per non violare i riferimenti FK. Un ordinamento topologico sulla relazione FK mi dà un ordine per cancellare le tabelle.
È possibile avere una tabella con un FK a sé stessa, fornendo un semplice esempio di contatore in cui vi è un ciclo e, successivamente, nessun ordinamento topologico. Tuttavia, questa relazione personale può anche essere rappresentata usando una tabella di join, che elenca 2 righe della tabella, in cui una fa riferimento all'altra, e in questo caso ci sarebbe un ordinamento topologico.
Sostituendo i riferimenti FK diretti tra tabelle con tabelle join, è sempre possibile arrivare a una struttura che può essere ordinata topologicamente?