Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Che tipo di vincolo e' quello nella figura?
venerdì 15 settembre 2006 - 10.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
ven 15 set 2006 - 10:27
salve, quando una tabella si presenta in questo modo che tipo di vincolo sta ad indicare??
saluti
Enzo
288x151
7Kb
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
ven 15 set 2006 - 10:50
>salve, quando una tabella si presenta in questo modo che tipo
>di vincolo sta ad indicare??
>
>saluti
>
>Enzo
>
>
Si tratta di una Foreign Key "circolare", impostata cioè sulla tabella stessa anzichè verso un'altra tabella.
Un esempio potrebbe essere di una struttura gerarchica di Nodi dove ogni nodo figlio dovrebbe avere
un riferimento al nodo padre (ospitato sulla stessa tabella Nodi).
Ciao, Michele
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 15 set 2006 - 10:50
>salve,
Ciao
>quando una tabella si presenta in questo modo che tipo
>di vincolo sta ad indicare??
A parte il fatto che non indichi quale sia la foreign key e quali siano i campi che definiscono la relazione, si tratta di una foreign key (appunto) dove viene definita una relazione 1:n tutta sulla medesima tabella.
Un esempio classico è quello di una gerarchia.. ad esempio una tabella dei dipendenti fatta così:
id_dipendente, nome, cognome, livello, id_responsabile.
l'id_dipendente viene legato in uno a molti con l'id_responsabile in modo da definire una relazione e dei determinati vincoli. Anche perchè l'id_responsabile deve essere un altro id_dipendente.
>
>saluti
>
>Enzo
>
Ciao
Alx81 =)
http://blogs.dotnethell.it/suxstellino
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 15 set 2006 - 11:04
>salve, quando una tabella si presenta in questo modo che tipo
>di vincolo sta ad indicare??
Ciao Enzo,
è un costraint FOREIGN KEY che fa riferimento alla tabella stessa.
Viene utilizzato per generare una relazione gerarchica in una tabella.
Il classico esempio è la relazione tra Manager ed Impiegato.
Se dai un'occhiata alla tabella Employees del database Northwind troverai proprio questo tipo di relazione.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
ven 15 set 2006 - 15:22
scusami che significa una relazione gerarchica?
ciao
EDIT: Da quello che ho capito si usa solamente per definire relazioni molto a uno, quindi come nel caso di employee tale tabella e' relazionata con un altra, e quella simbologia ne evidenzia che la relazione e'molto a uno?
saluti
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 15 set 2006 - 18:38
>scusami che significa una relazione gerarchica?
Il termine che ho usato è un po' fuori luogo, volevo semplicemente farti capire il concetto di gerarchia all'interno della tabella impiegati. n impiegati hanno 1 capo il quale a sua volta ha il suo capo... e così via fino all'amministratore delegato.
>EDIT: Da quello che ho capito si usa solamente per definire relazioni
>molto a uno, quindi come nel caso di employee tale tabella e'
>relazionata con un altra, e quella simbologia ne evidenzia che
>la relazione e'molto a uno?
No, sono relazioni 1 a molti. 1 capo può avere n dipendenti e a sua volta dovrà rispondere al suo capo. L'unico che non risponde ad alcun capo è l'amministratore delegato (ManagerID = NULL) anche se nella realtà deve rispondere agli azionisti, altrimenti lo silurano
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
ven 15 set 2006 - 23:29
una catena infinita insomma!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !