# Banco de dados orientado a componentes

Banco de dados orientado a componentes (CODB) é um paradigma de administração de dados e programação de SGBDs herdando conceitos da orientação a componentes.

## Conceitos

O modelo da orientação a componentes (CO) consiste num aprimoramento da orientação a objetos (OO) em programação e modelagem de dados, levando ao paroxismo as possibilidades de reúso. Neste tipo de modelo, classes são agregadas em células chamadas componentes, as quais executam um papel semelhante ao da função na programação estruturada, uma forma de processar informação que é contemporênea ao banco de dados relacional
Assim, a orientação a componentes reúne um complexo de características dos modelos antecedentes. Seu entendimento torna-se simples a partir da ideia do componente visual, que consiste numa aplicação ou mesmo numa miniaplicação ("applet") que, ao ser compilada, não resulta num executável ou num bytecode, mas num ícone, que pode ser situado no interior de outra aplicação, sendo que, durante a execução da segunda aplicação, ao clicar no ícone, se realizam determinadas tarefas. Tal ícone pode ser replicado em várias aplicações, daí a ideia de reúso. Então, esses conceitos podem ser estendidos aos componentes não visuais
No âmbito das atividades de TI que dizem respeito a bancos de dados, o componente, visual ou não, é um agregado de classes, no sentido dado pela OO, que pode ser ligado a outros (componentes) através de adaptadores.
Como a partir da concepção do modelo OO, dados e códigos de programação são misturados num mesmo contexto, sem distinção de textos, há dificuldade no entendimento de como a programação CO e o CODB se distinguem. Embora haja esta dificuldade conceitual, na práxis do processamento de dados, não se trata de algo importante, tendo em vista o uso em larga escala de modelos de mapeamento como o ORDBMS e o CRDB (banco de dados componente-relacional), nos quais a separação de dados e programas ainda é bem definida

## Implementação

Na atividade de programação, a CO usualmente aparece com o uso de linguagens OO de uso amplo (como C++ ou Java) com um mapeamento. No projeto, este paradigma é realizado pela UML. Nas atividades de modelagem de dados, administração de dados e administração de banco de dados, o mapeamento é semelhante ao do paradigma ORDBMS. O paradigma adaptado para o modelo baseado em componentes é chamado de banco de dados componente-relacional (CRDB).

## Vantagens

A principal vantagem do pensamento orientado a compnentes, como visto nos capítulos anteriores, é a otimização da reusabilidade do trabalho. Indo além do resultado do uso do modelo OO, a CO permite o uso de aplicações "prontas" como módulos para novos e maiores projetos.
É preciso notar que estas características técnicas não são alcançadas nos modelos da tradicional OO, apesar da ideia de compnente surgir naturalmente do pensamento OO. A base da CO comporta noções como encapsulamento, herança e polimorfismo, as quais, entretanto, sozinhas não levam à ideia de reutilizar aplicações como módulos de novos trabalhos. O pensamento CO, além disto, assegura que componentes totalmente testados (por serem oriundos de aplicações) são as partes da composição de uma nova aplicação: daí o paroxismo do reúso, assim como a característica da facilidade de entendimento para o usuário final são corolários do modo aplicação->compnente de realizar tarefas em TI.
Mesmo usando os mesmos softwares presentes no paradigma OO, há várias consequências específicas no mundo das atividades orientadas a dados. Numa analogia, modelos compostos de classes podem ser tratados como partes (componentes) dentro de um modelo mais abrangente$^[$.