La modellazione dei dati in DBMS (Database Management System) è il processo di registrazione di progetti di sistemi software complessi come diagrammi di facile comprensione, utilizzando simboli e testo per rappresentare il modo in cui i dati devono fluire. Il diagramma può essere utilizzato per riprogettare un'applicazione legacy o come progetto per la creazione di nuovo software.
Di solito, i modelli di dati vengono creati durante l'analisi e la fase di progettazione di un progetto per la piena comprensione dei requisiti di una nuova applicazione. La modellazione dei dati può essere pensata come un diagramma di flusso che illustra le relazioni tra i dati, ma l'acquisizione di tutte le relazioni probabili in qualsiasi modello di dati può richiedere molto tempo, pertanto questo passaggio non dovrebbe essere affrettato. Modelli di dati logici, fisici e concettuali ben documentati consentono ai modellisti di rilevare errori e apportare modifiche prima di scrivere qualsiasi codice di programmazione.
I modellatori di dati utilizzano regolarmente vari modelli per visualizzare gli stessi dati e assicurarsi che tutte le entità, i processi, i flussi di dati e le relazioni siano stati identificati. Diversi approcci alla modellazione dei dati includono:
io. Modellazione concettuale dei dati - Identifica le relazioni di massimo livello tra due o più entità diverse.
ii. Enterprise Data Modeling - Simile alla modellazione concettuale dei dati. Tuttavia, affronta le necessità distintive di un particolare business.
iii. Modellazione dei dati logici - Illustra gli attributi specifici, le relazioni e le entità coinvolte in qualsiasi funzione aziendale. È semplicemente la base per la creazione del modello di dati fisici.
iv. Modellazione dei dati fisici - Rappresenta l'implementazione specifica del database e l'applicazione di modelli di dati logici.
Un modello di database descrive la progettazione logica dei dati. Il modello dati definisce le relazioni tra diverse parti di dati. Questi modelli sono normalmente utilizzati nella modellazione dei dati. Sono Modello di rete, Modello relazionale, Modello gerarchico, Modello orientato agli oggetti, ecc.
In questo modello, le entità sono rappresentate in un grafico che alcune entità possono essere recuperate attraverso numerosi percorsi. Il modello di database di rete è stato progettato per risolvere alcuni dei gravi problemi riscontrati con il modello di database gerarchico. Corregge la ridondanza dei dati dimostrando le relazioni come set anziché come gerarchia. Pertanto il modello gerarchico è il sottoinsieme del modello di rete. Questo modello supporta da molte a molte relazioni.
Nel modello relazionale, i dati sono organizzati in tabelle bidimensionali chiamate relazioni. Le tabelle / relazioni si riferiscono l'una all'altra. Questo modello è stato ampiamente adottato e considerato un ottimo modello per un'organizzazione efficiente dei dati. Attualmente, esiste un'ampia raccolta di prodotti di database relazionali disponibili che vanno da applicazioni desktop leggere a sistemi server ricchi di funzionalità con metodi di recupero altamente ottimizzati. Alcuni dei popolari RDBMS (Relational Database Management Systems) includono Oracle, Microsoft SQL server, MySQL, IBM e Microsoft Access.
Nel modello gerarchico, ogni entità ha un solo genitore ma può essere composta da diversi bambini. La radice si trova nella parte superiore della gerarchia e consiste in una sola entità. Il modello gerarchico copre un ampio spettro di concetti. Fa spesso riferimento a molte impostazioni come i modelli multilivello in cui vari livelli di dati o informazioni sono correlati a forme più grandi. Il modello gerarchico è paragonabile al modello di rete in quanto visualizza un gruppo di record negli alberi piuttosto che grafici arbitrari.
Questo modello è stato progettato per migliorare la funzionalità del database nei linguaggi di programmazione degli oggetti. I modelli di oggetti consentono l'estensione della semantica C ++, che sono i linguaggi di programmazione degli oggetti Java e Smalltalk. Solitamente vengono utilizzati per offrire funzionalità di programmazione di database complete, mantenendo allo stesso tempo la compatibilità del linguaggio naturale.
Cortesia dell'immagine:
Tipi di modelli di database di Marcel Douwe Dekker - Opera propria, CC BY-SA 3.0, tramite Wikicommons