RDBMS vs OODBMS
Un sistema di gestione dei database orientato agli oggetti (OODBMS), a volte indicato come ODMS (Object Database Management System), è un sistema di gestione dei database (DBMS) che supporta la modellazione e la creazione di dati come oggetti. OODBMS fornisce supporto per classi di oggetti, proprietà di classe ed ereditarietà dei metodi da parte di sottoclassi e relativi oggetti. Anche un sistema di gestione di database relazionali (RDBMS) è un DBMS ma si basa sul modello relazionale. I DBMS più diffusi attualmente in uso sono gli RDMS.
Come accennato in precedenza, RDBMS si basa sul modello relazionale ei dati in un RDMS sono archiviati sotto forma di tabelle correlate. Quindi, un database relazionale può essere visto semplicemente come una raccolta di una o più relazioni o tabelle con colonne e righe. Ogni colonna corrisponde a un attributo della relazione e ogni riga corrisponde a un record costituito da valori di dati per un'entità. Gli RDMS sono sviluppati estendendo i modelli gerarchici e di rete, che erano due precedenti sistemi di database. Gli elementi principali di un RDBMS sono i concetti di integrità relazionale e normalizzazione. Questi concetti si basano sulle 13 regole per un sistema relazionale sviluppato da Ted Codd. Di seguito tre importanti fondamentali dovrebbero essere seguiti da un RDBMS. In primo luogo, tutte le informazioni devono essere conservate sotto forma di tabella. In secondo luogo, ogni valore trovato nelle colonne della tabella non deve essere ripetuto e infine deve essere utilizzato lo Standard Query Language (SQL). Il più grande vantaggio degli RDBMS è la facilità con cui gli utenti possono creare/accedere ed estendere i dati. Dopo aver creato un database, l'utente può aggiungere nuove categorie di dati al database senza modificare l'applicazione esistente. Ci sono anche alcune limitazioni notevoli negli RDBMS. Una limitazione è che la loro mancanza di efficienza quando si lavora con linguaggi diversi da SQL e anche tutte le informazioni devono trovarsi in tabelle in cui le relazioni tra le entità sono definite da valori. Inoltre, gli RDMS non dispongono di un'area di archiviazione sufficiente per gestire dati come immagini, audio digitale e video. Attualmente la maggior parte dei DBMS dominanti come la famiglia DB2 di IBM, Oracle, Microsoft Access e SQL Server sono RDMS.
OODBMS è un DBMS che consente di rappresentare le informazioni sotto forma di oggetti utilizzati nella programmazione orientata agli oggetti. Gli OODBMS sono stati sviluppati negli anni '80 per superare i limiti degli RDMS come la gestione di dati grandi e complessi. Gli OODBMS forniscono un ambiente di sviluppo di applicazioni integrato unendo la programmazione orientata agli oggetti con la tecnologia dei database. Gli OODBMS applicano concetti di programmazione orientata agli oggetti come incapsulamento, polimorfismo ed ereditarietà, nonché concetti di gestione del database come Atomicità, Coerenza, Isolamento e Durabilità. I linguaggi orientati agli oggetti come Java, C, Visual Basic. NET e C++ possono funzionare bene con gli OODBMS. Poiché sia il linguaggio di programmazione che OODBMS utilizzano lo stesso modello orientato agli oggetti, i programmatori possono mantenere facilmente la coerenza tra i due ambienti.
Anche se RDBMS e OODBMS sono entrambi DBMS, differiscono nel modello utilizzato per rappresentare i dati. Gli OODBMS utilizzano il modello orientato agli oggetti mentre gli RDBMS utilizzano il modello relazionale. Entrambi hanno i loro vantaggi e svantaggi. OODBMS può archiviare/accedere a dati complessi in modo più efficiente rispetto a RDBMS. Ma l'apprendimento di OODBMS può essere complesso a causa della tecnologia orientata agli oggetti, rispetto all'apprendimento di RDBMS. Pertanto la scelta dell'uno rispetto all' altro dipende dal tipo e dalla complessità dei dati che devono essere archiviati/gestiti.