Entity Framework - Configurazione del database
In questo tutorial utilizzeremo un semplice database universitario. Un database universitario può essere molto più complesso nel suo insieme, ma per scopi dimostrativi e di apprendimento, stiamo usando la forma più semplice di questo database. Il diagramma seguente contiene tre tabelle.
- Student
- Course
- Enrollment
Ogni volta che viene utilizzato un database di termini, una cosa viene direttamente alla nostra mente e si tratta di diversi tipi di tabelle che hanno una sorta di relazione. Esistono tre tipi di relazioni tra tabelle e la relazione tra tabelle diverse dipende da come sono definite le colonne correlate.
- Rapporto uno-a-molti
- Relazione molti-a-molti
- Rapporto uno a uno
Rapporto uno-a-molti
La relazione uno-a-molti è il tipo di relazione più comune. In questo tipo di relazione, una riga nella tabella A può avere molte righe corrispondenti nella tabella B, ma una riga nella tabella B può avere solo una riga corrispondente nella tabella A. Ad esempio, nel diagramma sopra, la tabella Studente e Iscrizione ne ha una -to-many, ogni studente può avere più iscrizioni, ma ciascuna iscrizione appartiene a un solo studente.
Relazione molti-a-molti
In una relazione molti a molti, una riga nella tabella A può avere molte righe corrispondenti nella tabella B e viceversa. Si crea tale relazione definendo una terza tabella, chiamata tabella di giunzione, la cui chiave primaria è costituita dalle chiavi esterne sia dalla tabella A che dalla tabella B. Ad esempio, la tabella Studente e Corso hanno una relazione molti-a-molti definita da una relazione uno-a-molti da ciascuna di queste tabelle alla tabella di registrazione.
Rapporto uno a uno
Nella relazione uno a uno, una riga nella tabella A non può avere più di una riga corrispondente nella tabella B e viceversa. Viene creata una relazione uno a uno se entrambe le colonne correlate sono chiavi primarie o hanno vincoli univoci.
Questo tipo di relazione non è comune perché la maggior parte delle informazioni correlate in questo modo sarebbero tabelle all-in-one. Potresti usare una relazione uno-a-uno per -
- Dividi una tabella con molte colonne.
- Isolare parte di una tabella per motivi di sicurezza.
- Memorizza dati di breve durata e possono essere facilmente eliminati semplicemente eliminando la tabella.
- Memorizza le informazioni che si applicano solo a un sottoinsieme della tabella principale.