Uno schema di database è un modo per descrivere la struttura e le relazioni delle informazioni che verranno utilizzate e mantenute all’interno di un database. Alcuni schemi sono scritti in un linguaggio che può essere interpretato da un software di gestione di database (DBMS), mentre altri sono diagrammi completamente astratti. Gli elementi primari di uno schema di database sono entità e tabelle. Un’entità è un modello di dati per un oggetto in un database, mentre una tabella è una sequenza memorizzata di valori o altre entità. Come un progetto, uno schema ben progettato può essere utilizzato per vedere esattamente come è costruita l’architettura di un database.
A volte sono necessari schemi di database per mostrare in modo esplicito come viene archiviato il dato e come si relaziona al resto del database. Un’entità è una rappresentazione di una raccolta di dati. Come qualsiasi struttura dati, può avere un numero di campi. Tuttavia, le entità di solito hanno un campo di identificazione univoco. Questa è chiamata chiave primaria.
Una chiave primaria è un collegamento a una tabella. La chiave deve essere univoca tra tutti gli altri elementi della tabella. Un esempio potrebbe essere un numero cliente per un database che tiene traccia degli acquisti in negozio. Ogni entità può avere una sola chiave primaria.
Le entità possono anche avere un numero qualsiasi di chiavi esterne. Una chiave esterna è spesso la chiave primaria di un’altra entità in un’altra tabella. Nell’esempio sopra, una chiave esterna potrebbe essere un numero d’ordine per quel cliente.
Nei database relazionali, le chiavi primarie ed esterne vengono utilizzate per esprimere il concetto molto importante di relazioni uno-a-molti. Nell’esempio fornito, un cliente può avere molti ordini e numeri d’ordine diversi. Non è vero il contrario, perché l’ordine può avere un solo cliente. Le relazioni uno-a-molti sono parte del motivo per cui è necessario uno schema di database.
Un altro tipo di relazione è chiamato molti a molti. Questa è un’istanza in cui un’entità non può solo avere molte relazioni con un singolo tipo, ma può anche essere inclusa in molti tipi da un altro tipo. Un esempio di ciò è il modo in cui un numero qualsiasi di clienti può ordinare lo stesso prodotto. Allo stesso tempo, un cliente può ordinare un numero qualsiasi di prodotti. Questa relazione molti a molti è comune, ma richiede una modellazione dei dati speciale per funzionare all’interno dello schema del database.
Sebbene ci siano alcune convenzioni standard che vengono seguite durante la creazione di uno schema di database, esistono anche molti modi per rappresentare i modelli di dati. Il modo esatto in cui ogni oggetto dello schema è rappresentato in un disegno astratto è a discrezione del modellatore di dati. In alcune situazioni, un sistema DBMS sarà in grado di accettare uno schema di database scritto in un modo specifico e implementare effettivamente parte del design automaticamente.