Due dei concetti essenziali che stanno alla base dei database relazionali e che vengono usati nella fase di modellazione dati di Power BI sono la cosiddetta chiave primaria (primary key) e la chiave esterna (foreign key).
Ma prima ancora di addentrarci nel concetto andiamo ad approfondire che cosa sono le chiavi!
Chiavi: una breve definizione
Le chiavi di per sé non sono altro che degli attributi che aiutano a identificare una tupla in una tabella, o meglio una riga in una relazione. Ti consentono di trovare la relazione tra due tabelle.
Insomma, le chiavi sono un elemento cruciale all’interno di questo ambito, in quanto ti rendono possibile l’identificazione univoca di una riga in una tabella tramite una combinazione di una oppure anche più colonne in una determinata tabella.
Inoltre, non dimenticarti che la chiave di una base di dati ti viene in aiuto anche qualora tu volessi trovare una riga o un record univoci dalla tabella.
Ma che cos’è allora una primary key?
Possiamo definire un vincolo di chiave primaria come una colonna oppure un gruppo di colonne che identifica in maniera univoca ogni riga nella tabella del sistema di gestione della base di dati relazionale.
Tuttavia, è essenziale sapere che non sono ammessi duplicati, nel senso che non è permesso ad uno stesso valore apparire più di una volta all’interno della tabella.
Una tabella, quindi, non può avere più di una primary key. È possibile definire una primary key a livello di tabella o a livello di colonna. Ad esempio, nel momento in cui scegli di creare una chiave primaria composita, è opportuno definire quest’ultima a livello di tabella.
E la foreign key invece?
Niente panico, sebbene ti possa sembrare un concetto più complesso, in realtà è più intuitivo di quello che pensi!
Infatti, una foreign key è una colonna che crea una relazione fra due tabelle. Il suo obiettivo non è altro che il mantenimento dell’integrità dei dati, permettendo la navigazione tra due istanze dell’entità differenti.
Assume il ruolo di riferimento incrociato tra due tabelle, poiché si riferisce alla primary key di un’altra tabella. Inoltre, la foreign key deve supportare le relazioni nel database.
Differenza tra la chiave primaria e la chiave esterna
Vediamo ora alcune differenze che intercorrono tra le due chiavi in questione, riportate in questa tabella esemplificativa!
PRIMARY KEY | FOREIGN KEY |
Un vincolo di primary key è costituito da una colonna o da un gruppo di colonne che identifica in maniera univoca le righe della tabella del DBMS (sistema di gestione della base di dati) | La foreign key indica una colonna che va a creare una relazione tra due tabelle |
Non accetta MAI valori NULL. | Può accettare più valori NULL. |
È possibile avere una singola primary key all’interno di una tabella | È possibile avere più chiavi esterne all’interno di una tabella. |
Si tratta di un indice cluster | Per definizione non è un indice cluster |
Non sono presenti limiti per quanto concerne l’inserimento di valori all’interno della colonna della tabella | Nel momento in cui si va ad inserire un valore qualsiasi nella tabella della foreign key, è essenziale che quel valore ci sia in una colonna della primary key |
In una chiave primaria non sono ammessi valori identici in due righe | In una foreign key sono ammessi valori duplicati |
Non è possibile rimuovere il valore della chiave primaria dalla tabella padre | È possibile rimuovere il valore della chiave esterna dalla tabella figlio |
Perché dunque utilizzare la primary key?
Di seguito analizziamo alcuni motivi per cui risulta essere vantaggioso utilizzare questo tipo di chiave.
- In primis il suo obiettivo è quello di identificare ogni record nella tabella della base di dati.
- Ogni volta che decidi di organizzare la tabella DBMS, i dati vengono sono sistemati in una sequenza di indice cluster.
- Qualora eliminassi o aggiornassi i record, l’azione specificata sarà messa in pratica per assicurare l’integrità dei dati.
- Potresti usare una chiave primaria tutte le volte che non vuoi permettere a qualcuno di immettere valori NULL.
Foreign key: perché adoperarla?
Si usa la chiave esterna per le seguenti ragioni!
- Ti consentono di migrare le entità mediante l’utilizzo della primary key dalla tabella padre.
- Riesce a rendere coerenti i dati del database.
- Aiuta ad unire due o più tabelle.
- È possibile usare la foreign key per abbinare una colonna o un insieme di colonne con la chiave primaria in una tabella padre.
Dai un senso ai tuoi dati con Power BI
Avendo introdotto il concetto soprariportato, non ti resta che scoprire per davvero Power BI!
Nexsys ti propone la formazione ad hoc, incentrata su Microsoft Power BI, strumento che si basa sulla Business Intelligence, in grado di dare una vera svolta al tuo business!
Power BI ti consentirà di modellare i tuoi dati aziendali, di creare report per la loro analisi, in modo che tu possa avere una visione approfondita delle operazioni effettuate e delle prestazioni. In questa maniera ti sarà possibile prendere decisioni più informate sulla base di dati reali!
Se hai dei dubbi e desideri avere maggiori informazioni non esitare a contattarci!