Il termine "schema di database" può riferirsi a una rappresentazione visiva di un database, a un insieme di regole che governano un database o all'intero insieme di oggetti appartenenti a un determinato utente. Continua a leggere per saperne di più sugli schemi di database e su come vengono utilizzati.
4 minuti di lettura
Vuoi creare un tuo diagramma di database? Prova Lucidchart. È rapido, semplice e completamente gratuito.
Che cos'è uno schema di database?
Uno schema di database rappresenta la configurazione logica di tutto o parte di un database relazionale. Può esistere sia come rappresentazione visiva che come insieme di formule note, come vincoli di integrità che regolano un database. Queste formule sono espresse in un linguaggio di definizione dei dati, ad esempio SQL. In un dizionario di dati, uno schema di database indica come le entità che compongono il database si relazionano tra loro, comprese le tabelle, le viste, le procedure memorizzate e altro ancora.
In genere, un progettista di database crea uno schema di database per aiutare i programmatori il cui software interagirà con il database. Il processo di creazione di uno schema di database si chiama modellazione dei dati. Quando si segue l'approccio a tre schemi per la progettazione del database, questo passaggio segue la creazione di uno schema concettuale. Gli schemi concettuali si concentrano sui bisogni informativi di un'organizzazione piuttosto che sulla struttura di un database.
Esistono due tipi principali di schema di database:
- Uno schema di database logico trasmette i vincoli logici che si applicano ai dati archiviati. Può definire vincoli, viste e tabelle di integrità.
- Uno schema di database fisico illustra come i dati vengono memorizzati fisicamente su un sistema di archiviazione in termini di file e indici.
Al livello più elementare, uno schema di database indica quali tabelle o relazioni compongono il database, nonché i campi inclusi in ciascuna tabella. Pertanto, i termini diagramma di schema e diagramma entità-relazione sono spesso intercambiabili.
Lo schema nel sistema di database Oracle
Nel sistema di database Oracle, il termine schema di database, noto anche come "schema SQL", ha un significato diverso. Qui, un database può avere più schemi. Ognuno di essi contiene tutti gli oggetti creati da un utente specifico del database. Questi oggetti possono includere tabelle, viste, sinonimi e altro. Alcuni oggetti non possono essere inclusi in uno schema, ad esempio utenti, contesti, ruoli e oggetti di directory.
Agli utenti può essere concesso l'accesso per accedere a singoli schemi caso per caso, e la proprietà è trasferibile. Dato che ogni oggetto è associato a un particolare schema, che serve come una specie di spazio dei nomi, è utile fornire alcuni sinonimi, che consentono ad altri utenti di accedere a quell'oggetto senza prima fare riferimento allo schema a cui appartiene.
Questi schemi non indicano necessariamente le modalità in cui vengono archiviati fisicamente i file di dati. Invece, gli oggetti degli schemi sono archiviati logicamente all'interno di un tablespace. L'amministratore del database può specificare la quantità di spazio da assegnare a un determinato oggetto all'interno di un file di dati.
Infine, gli schemi e i tablespace non necessariamente si allineano perfettamente: gli oggetti di uno schema si possono trovare in più tablespace, mentre un tablespace può includere oggetti di diversi schemi.
Vuoi creare un tuo diagramma di database? Prova Lucidchart. È rapido, semplice e completamente gratuito.
Crea un diagramma di databaseIstanza di database o schema di database?
Questi termini, sebbene correlati, non hanno lo stesso significato. Uno schema di database è uno schizzo di un database pianificato. Non contiene nessun dato.
Un'istanza di database è un'istantanea di un database come si presentava in un determinato momento. Pertanto, le istanze di database possono cambiare nel tempo, mentre uno schema di database è generalmente statico, poiché è difficile cambiare la struttura di un database una volta che è operativo.
Gli schemi di database e le istanze di database possono influenzarsi a vicenda attraverso un sistema di gestione dei database (DBMS). Il DBMS garantisce che ogni istanza del database sia conforme ai vincoli imposti dai progettisti del database nello schema del database.
Requisiti di integrazione dello schema
Può essere utile integrare più origini in un singolo schema. Assicurati che questi requisiti siano soddisfatti, per garantire una transizione senza interruzioni:
Conservazione delle sovrapposizioni
Ogni elemento sovrapposto negli schemi che stai integrando dovrebbe trovarsi in una tabella dello schema del database.
Conservazione estesa delle sovrapposizioni
Gli elementi che appaiono solo in una fonte, ma sono associati a elementi sovrapposti, devono essere copiati nello schema del database risultante.
Normalizzazione
Le relazioni e le entità indipendenti non dovrebbero essere raggruppate nella stessa tabella dello schema del database.
Minimalità
È l'ideale se non si perde nessuno degli elementi di nessuna delle fonti.
Tipi di schema di database
Nella progettazione di schemi di database si sono sviluppati alcuni modelli.
Lo schema a stella, ampiamente utilizzato, è anche il più semplice. In esso, una o più tabelle dei fatti sono collegate a un numero qualsiasi di tabelle dimensionali. È la soluzione migliore per gestire domande semplici.
Il relativo schema a fiocco di neve viene utilizzato anche per rappresentare un database multidimensionale. In questo modello, tuttavia, le dimensioni sono normalizzate in molte tabelle separate, creando l'effetto espansivo di una struttura simile a un fiocco di neve.