Relazioni tra tabelle in SQL Server

martedì 25 maggio 2010 - 21.07

86Marco Profilo | Expert

Salve,
da poco mi sono orientato a qualche applicazione con l'uso di SQL Server Express.
Creao le tabelle e setto i tipi di dati, tutto ok.
Desideravo una informazione:
Come si fa a a creare le relazioni tra due o più tabelle cosi come si procede con microsoft access?

Sxo possiate rispondermi presto
Grazie

lbenaglia Profilo | Guru

>Come si fa a a creare le relazioni tra due o più tabelle cosi
>come si procede con microsoft access?

Ciao Marco,

Le relationship si definiscono mediante i constraint FOREIGN KEY (sia in Access che in qualunque altro RDBMS ).
http://msdn.microsoft.com/it-it/library/aa933117.aspx

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

86Marco Profilo | Expert

Ei ciao grazie innanzitutto per la celerità e disponibilità,
tecnicamente so come si creano le relazioni in qualsiasi database.

La mia dmanda era se c'era una particolare procedura "grafica" per crearle un po come lo strumento relazioni in access :)

Grazoe

lbenaglia Profilo | Guru

>tecnicamente so come si creano le relazioni in qualsiasi database.
>
>La mia dmanda era se c'era una particolare procedura "grafica"
>per crearle un po come lo strumento relazioni in access :)
I tools grafici sono "il male" in quanto perdi i dettagli delle operazioni eseguite dietro le quinte (spesso poco ottimizzate).
Finché non ti scontri con la shell o comunque un client che accetti esclusivamente comandi SQL, non capirai mai fino in fondo come "fare le cose".

Ad ogni modo se fai click sul link "Creating and Modifying FOREIGN KEY Constraints" che trovi in fondo alla pagina che ti ho suggerito, troverai TUTTI i modi per definire un constraint FK (tool grafico compreso "How to: Create Relationships Between Tables (Visual Database Tools)").

>Grazoe
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

86Marco Profilo | Expert

Ok grazie.
un ultima domanda se posso:
Che differenza c'è tra diagrammi database e relazioni? A che servono i diagrammi?
Grazie

lbenaglia Profilo | Guru

>Che differenza c'è tra diagrammi database e relazioni? A che
>servono i diagrammi?
I diagrammi entity-relationship sono una rappresentazione grafica dello schema di un database (io li disegno ancora a matita su un foglio di carta ).
Le relationship costituiscono una correlazione logica tra "elementi" (relation) di una base dati.
Un constraint FK permette di definire un vincolo sui dati tra due relation, evitando ad esempio la presenza di righe orfane nella relation referenziata oppure abilitando operazioni a cascata (update e delete).

Per una trattazione più approfondita puoi fare riferimento a wikipedia:
http://en.wikipedia.org/wiki/Relational_database
http://en.wikipedia.org/wiki/Entity-relationship_model

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

86Marco Profilo | Expert

ok. Perfetto.
Quindi diciamo che se dovessi creare relazioni tra due tabelle sicuramente non dovrò farlo da Diagrammi... no?
Grazie
successivamente alla risp chiudo il post.
Grazie

lbenaglia Profilo | Guru

>Quindi diciamo che se dovessi creare relazioni tra due tabelle
>sicuramente non dovrò farlo da Diagrammi... no?
I Database Diagrams tra le altre cose ti permettono di definire le relationship:
http://technet.microsoft.com/en-us/library/ms189049.aspx

Che poi sia opportuno farle a mano è un altro discorso

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5