Uno schema di database definisce in che modo i dati vengono organizzati all'interno di un database relazionale; questo include vincoli logici quali nomi di tabelle, campi, tipi di dati e le relazioni tra queste entità.
Gli schemi utilizzano di solito rappresentazioni visive per comunicare l'architettura del database, facendo da base per la gestione dei dati di un'organizzazione. Questo processo di progettazione dello schema di database è noto anche come data modeling.
Questi modelli di dati svolgono una serie di ruoli quali utenti di database, amministratori di database e programmatori. Ad esempio, può aiutare gli amministratori di database a gestire i processi di normalizzazione per evitare la duplicazione dei dati. In alternativa, può consentire agli analisti di navigare in queste strutture di dati per condurre report o altre preziose analisi aziendali. Questi diagrammi servono come preziosa documentazione all'interno del sistema di gestione del database (DBMS), garantendo l'allineamento tra i vari stakeholder.
Uno schema di database è considerato il "blueprint" di un database che descrive il modo in cui i dati possono essere correlati ad altre tabelle o ad altri modelli di dati. Tuttavia, lo schema non contiene effettivamente dati.
Un campione di dati di un database in un singolo momento è noto come istanza di database. Contiene tutte le proprietà descritte dallo schema come valori di dati. Dal momento che le istanze di database sono solo un'istantanea in un determinato momento, è probabile che cambino nel tempo, a differenza degli schemi di database.
Sebbene il termine schema sia ampiamente utilizzato, in genere si riferisce a tre diversi tipi di schema: uno schema di database concettuale, uno schema di database logico e uno schema di database fisico.
In entrambi gli schemi logici e schemi fisici, le tabelle di database avranno una chiave primaria o una chiave esterna, che avrà funzione da identificatore univoco per singole voci in una tabella. Queste chiavi vengono utilizzate nelle istruzioni SQL per unire le tabelle, creando una vista unificata delle informazioni. I diagrammi di schema sono particolarmente utili per mostrare le relazioni tra le tabelle e consentono agli analisti di capire quali sono le chiavi su cui devono unirsi. Esistono due ulteriori tipi di schemi a cui si fa comunemente riferimento anche nel contesto dei sistemi di gestione di database relazionali (RDBMS); questi sono conosciuti come schemi a stella e schemi a fiocco di neve.
Mentre gli schemi concettuali, logici e fisici contengono diversi livelli di informazioni sui database nei loro diagrammi, gli schemi a stella e a fiocco di neve rappresentano tali relazioni tra le entità in modo diverso. Più specificamente, uno schema a stella è un tipo di schema di database relazionale composto da un'unica tabella dei fatti centrale circondata da tabelle delle dimensioni. Questo schema tende a essere considerato più semplice rispetto allo schema a fiocco di neve.
Uno schema a fiocco di neve è costituito da una tabella dei fatti collegata a numerose tabelle delle dimensioni, che possono essere collegate ad altre tabelle delle dimensioni attraverso una relazione molti-a-uno. Questo schema offre il vantaggio di bassi livelli di ridondanza dei dati, ma non è altrettanto efficace quando si tratta di prestazioni di query.
Come suggerisce il nome, uno schema a stella tende ad assomigliare a una stella mentre uno schema a fiocco di neve tende ad assomigliare a un fiocco di neve.
Con la continua crescita dei big data, gli oggetti e gli schemi di database sono fondamentali per garantire l'efficienza nelle operazioni aziendali quotidiane. Se i modelli relazionali sono mal organizzati e mal documentati, saranno più difficili da mantenere, creando problemi sia agli utenti sia all'azienda.
Alcuni dei vantaggi fondamentali degli schemi di database includono:
Usa le soluzioni di database di IBM per soddisfare varie esigenze di workload nell'hybrid cloud.
Esplora IBM DB2, un database relazionale che offre prestazioni, scalabilità e affidabilità elevate per l'archiviazione e la gestione di dati strutturati. È disponibile come SaaS su IBM Cloud o in self-hosting.
Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.