Un sistema di gestione del database orientato agli oggetti (OODBMS) aiuta i programmatori a far sì che gli oggetti creati in un linguaggio di programmazione si comportino come un oggetto di database. La programmazione orientata agli oggetti si basa su una serie di oggetti di lavoro. Ogni oggetto è un’applicazione o un programma funzionante in modo indipendente, a cui è assegnato un compito o un ruolo specifico da eseguire. Un sistema di gestione di database orientato agli oggetti è un database relazionale progettato per gestire tutti questi programmi indipendenti, utilizzando i dati prodotti per rispondere rapidamente alle richieste di informazioni da parte di un’applicazione più grande.
Per illustrare un OODBMS, possiamo utilizzare una semplice cucina commerciale con tre membri dello staff: capocuoco, cuoco e secondo cuoco. Il cuoco è responsabile della bistecca e il secondo cuoco è responsabile delle patatine fritte e dell’insalata. Entrambi sono impegnati a svolgere le loro funzioni, anche senza alcun ordine. Il capo chef è il sistema di gestione del database orientato agli oggetti, il cuoco e il secondo cuoco sono entrambi oggetti. Un cliente ordina una bistecca, patatine fritte e insalata che il cameriere consegna al capocuoco. Il capo chef chiama l’ordine. Il cuoco fornisce rapidamente la bistecca cotta nel piatto, allo stesso tempo il secondo cuoco aggiunge le patatine fritte e l’insalata e dice allo chef che l’ordine è fatto. Entrambi sono in grado di fornire esattamente ciò che è richiesto immediatamente, perché stavano eseguendo in anticipo i loro compiti individuali.
Ogni elemento avrebbe potuto essere eseguito da una singola applicazione o dal capo chef, ma avrebbe richiesto più tempo e avrebbe suddiviso le risorse in più direzioni, riducendo ulteriormente i tempi di risposta. Gli oggetti oi cuochi possono essere utilizzati come programmi separati, ma il tempo di risposta è più rapido e le informazioni vengono fornite in un unico pacchetto coeso quando coordinato dallo chef o da OODBMS.
Il maggiore utilizzo di linguaggi di programmazione orientati agli oggetti come Python, Java, C#, Visual Basic, .Net, C++, Objective-C e Smalltalk hanno tutti aumentato la popolarità di OODBMS.
Un sistema di gestione del database orientato agli oggetti è generalmente utilizzato al meglio nelle applicazioni aziendali in cui è richiesta un’elaborazione ad alte prestazioni in un ambiente complesso. Le industrie con una forte domanda per questo tipo di programmazione sono tipicamente nei settori dell’ingegneria, delle telecomunicazioni, dei servizi finanziari specializzati e della ricerca scientifica.
L’Object Data Management Group è un gruppo di database di oggetti e fornitori di mappe, accademici e altri che si sono riuniti per creare un insieme di specifiche standard per programmi orientati agli oggetti. Tale standard potrebbe potenzialmente migliorare la portabilità delle applicazioni scritte per il sistema di gestione del database orientato agli oggetti e quindi ridurre i costi sostenuti per la creazione di nuovo codice ogni volta. Il gruppo si è sciolto nel 2001, ma vari gruppi e iniziative stanno ancora tentando di definire uno standard per consentire applicazioni interfunzionali.