PDA

View Full Version : Una domanda sui db relazionali


Edde
17-01-2007, 15:53
Posso avere una foreign key che va dalla tabella pippo a se stessa?
Non da "Pippo" a "Pluto", ma da "Pippo" a "Pippo" :confused:

Grazie

mad_hhatter
17-01-2007, 21:43
Posso avere una foreign key che va dalla tabella pippo a se stessa?
Non da "Pippo" a "Pluto", ma da "Pippo" a "Pippo" :confused:

Grazie


assolutamente si.

pensa ad esempio allo schema di relazione "dipendente dell'azienda" il quale contiene un attributo "direttore". Bene, un direttore è esso stesso dipendente quindi è possbile che tale attributo sia una chiave esterna che riferisce una tupla all'interno della stessa relazione "dipendente dell'azienda"

Edde
18-01-2007, 00:34
assolutamente si.

pensa ad esempio allo schema di relazione "dipendente dell'azienda" il quale contiene un attributo "direttore". Bene, un direttore è esso stesso dipendente quindi è possbile che tale attributo sia una chiave esterna che riferisce una tupla all'interno della stessa relazione "dipendente dell'azienda"

E' esattamente quello che penso io... eppure il capoccione della mia azienda, tra l'altro espero in db, mi ha detto il contrario....

Un'altra cosa: è anche possibile avere un "ciclo" di fk? Ovvero, la tabella A collegata con una fk alla tabella B, la B collegata ad un'altra tabella C, e la C collegata a sua volta ad A?
Immagino di si anche questo, ma mi hanno detto che non è così....

Non ci sto campendo più nulla :mbe:

thebol
18-01-2007, 08:59
E' esattamente quello che penso io... eppure il capoccione della mia azienda, tra l'altro espero in db, mi ha detto il contrario....

Un'altra cosa: è anche possibile avere un "ciclo" di fk? Ovvero, la tabella A collegata con una fk alla tabella B, la B collegata ad un'altra tabella C, e la C collegata a sua volta ad A?
Immagino di si anche questo, ma mi hanno detto che non è così....

on ci sto campendo più nulla :mbe:

tecnicamente possibile, rischi però di creare una dipendenza ciclica.(con una fk bloccante in cancellazione, non riusciresti piu a cancellare le righe di un ciclo, a meno che di tirare giu la costraint)

0rph3n
18-01-2007, 09:03
E' esattamente quello che penso io... eppure il capoccione della mia azienda, tra l'altro espero in db, mi ha detto il contrario....
a sentir loro sono tutti guru... :rolleyes:
e se non sanno fare una cosa vuol dire che non si può, non che non ne sono capaci!
ci vorrebbe un po' più di umiltà in questo mondo :(

Edde
18-01-2007, 15:19
Bene, sono riuscito ad eliminare il problema dei cicli :D

Adesso tocca eliminare tutti gli altri :cry:

In pratica dovevo visitare tutte le fk, saltando ricorsivamente da una all'altra. Inutile dire che in caso di fk su se stessi, o di fk "a ciclo" andavo avanti all'infinito...

Grazie :)

camillozzo
18-01-2007, 15:57
a sentir loro sono tutti guru... :rolleyes:
e se non sanno fare una cosa vuol dire che non si può, non che non ne sono capaci!
ci vorrebbe un po' più di umiltà in questo mondo :(

Come non darti ragione....quanta gente che spaccia fuffa nel mondo dell'informatica.....