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
Relazione
giovedì 25 febbraio 2010 - 15.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
zerep
Profilo
| Newbie
7
messaggi | Data Invio:
gio 25 feb 2010 - 15:51
Ciao a tutti,
chiedo un chiarimento su come sia meglio progettare una relazione fra due tabelle.
Tab Aziende: Id (integer) chiave primaria, NomeAzienda (varchar)
Tab Dipendenti: Id (integer) chiave primaria, NomeDipendente
Per legare 1:n aziende:dipendenti, è meglio creare un indice Integer in Dipendenti relazionato a Id della tabella Aziende oppure un indice varchar relazionato a NomeAzienda (messo a sua volta ad indice) della tabella Aziende?
Grazie per l'aiuto.
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
gio 25 feb 2010 - 16:11
>Ciao a tutti,
>chiedo un chiarimento su come sia meglio progettare una relazione
>fra due tabelle.
>Tab Aziende: Id (integer) chiave primaria, NomeAzienda (varchar)
>Tab Dipendenti: Id (integer) chiave primaria, NomeDipendente
>
>Per legare 1:n aziende:dipendenti, è meglio creare un indice
>Integer in Dipendenti relazionato a Id della tabella Aziende
>oppure un indice varchar relazionato a NomeAzienda (messo a sua
>volta ad indice) della tabella Aziende?
>
Nella tabella aziende hai il campo id, settalo di tipo Int, e di tipo Identity e di tipo chiave primaria.
Nella seconda tabella: uda in campo di tipo int, chiamalo "idAzienda".
Questo è il modo classico con cui legare tabelle come da manuale.
Credo che legarle utilizzando campi che possono essere modificati come nomeAzienda potrebbe causarti problemi in futuro.
Ciao
>Grazie per l'aiuto.
Riccardo D'Aria
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 25 feb 2010 - 16:12
>chiedo un chiarimento su come sia meglio progettare una relazione
>fra due tabelle.
>Tab Aziende: Id (integer) chiave primaria, NomeAzienda (varchar)
>Tab Dipendenti: Id (integer) chiave primaria, NomeDipendente
>
>Per legare 1:n aziende:dipendenti, è meglio creare un indice
>Integer in Dipendenti relazionato a Id della tabella Aziende
>oppure un indice varchar relazionato a NomeAzienda (messo a sua
>volta ad indice) della tabella Aziende?
la prima, ovvero definire la colonna AziendaID nella tabella Dipendenti, creare un constraint FOREIGN KEY che definisca una relationship con la tabella Aziende(AziendaID) ed indicizzare tale colonna con un indice non clustered.
In questo modo ad 1 dipendente corrisponde 1 azienda, e ad 1 azienda corrispondono n dipendenti.
>Grazie per l'aiuto.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !