Artigo Engenharia de Software 19 - Usando banco de dados objeto-relacionais

Este artigo tem por objetivo apresentar um SGBD-OR (sistema gerenciador de banco de dados objeto-relacional), comparando-o com o modelo vigente em mercado, o SGBD-R.

Esse artigo faz parte da revista Engenharia de Software 19 edição especial. Clique aqui para ler todos os artigos desta edição



Projeto

Usando banco de dados objeto-relacionais

Transição das classes para um modelo de dados objeto-relacional

De que trata o artigo:

Este artigo tem por objetivo apresentar um SGBD-OR (sistema gerenciador de banco de dados objeto-relacional), comparando-o com o modelo vigente em mercado, o SGBD-R (sistema gerenciador de banco de dados relacional). Além disso, será demonstrado como é feita a transição de um modelo de classes para um modelo objeto-relacional, usando como exemplos de implementação, o banco de dados Oracle.

Para que serve:

Fornecer aos desenvolvedores ou estudantes da área de sistemas exemplos práticos de como transpor um modelo de classes para o projeto de banco por meio de um modelo objeto-relacional implementado em um SGBDOR.

Em que situação o tema é útil:

Para entender como a ligação entre os modelos de classes e o modelo de dados pode ser mais transparente quando esse banco pertence ao mesmo paradigma; além de compreender como o Oracle trabalha como um banco de objetos.

 

Em tempos remotos, pensar em forma de armazenamento era pensar em dados organizados em coleções logicamente relacionadas compondo arquivos. Contudo, mesmo com a separação física de programas e dados, toda a gerência destes dados ainda ficava embutida no código-fonte dos programas.

A evolução ocorreu na década de 60 com o surgimento dos sistemas de bancos de dados, reunindo num só lugar todas as funções necessárias à localização e manipulação dos dados, tornando-se uma camada lógica entre a aplicação e os dados propriamente ditos.

Os bancos de dados trabalham com uma arquitetura que separa a parte física das aplicações por meio de três esquemas:

·Esquema interno: descreve a estrutura física de armazenamento do banco de dados, sua organização de arquivos e os seus métodos de acesso;

·Esquema conceitual: descreve a estrutura do banco de dados sob o ponto de vista do usuário, escondendo os detalhes de armazenamento e concentrando-se na descrição de entidades, atributos, relacionamentos, operações do usuário e restrições sobre os dados;

·Esquema externo (ou visões do usuário): descreve as partes do banco de dados que são do interesse de um grupo de usuários, escondendo as demais.

 

Os esquemas são apenas camadas lógicas, pois o único nível que realmente existe armazenando os dados é o nível interno. A representação dos conceitos de cada nível é feita com o uso de modelos de dados.

No esquema interno são utilizados modelos físicos de dados, que são usados para descrever a organização dos arquivos e os métodos de acesso, tal como é definido no esquema.

Nos esquemas conceitual e externo existem duas categorias de modelos: o modelo conceitual, um modelo de alto nível que traz conceitos próximos da percepção que os usuários têm dos dados; e o modelo lógico, um modelo de nível intermediário que traz conceitos que podem ser entendidos pelos usuários finais, mas que não estão muito distantes do formato como os dados são organizados no computador.

O Modelo de Entidades-Relacionamentos (ER) é o modelo conceitual mais utilizado no projeto de banco de dados.

Os modelos de dados em rede, hierárquico, relacional e OO são conhecidos como modelos lógicos.

O modelo relacional foi introduzido por E. Codd em 1970, propondo o trabalho com tabelas, baseando-se em conceitos matemáticos da Álgebra Relacional. Nos últimos anos, novas demandas surgiram a partir das aplicações não-convencionais. Contudo, os requisitos necessários para se atender a essas demandas não eram encontrados nos modelos lógicos existentes. Este problema incitou o surgimento dos modelos relacionais estendidos ou objeto-relacionais, que trazem em sua essência a incorporação de características do paradigma orientado a objetos como extensões aos sistemas relacionais.

Os modelos de dados OO apresentam conceitos de: objetos (com encapsulamento), classes (com atributos e métodos), relacionamentos (herança, associação e agregação) e identidade de objetos.

Cada objeto encapsula os atributos e os métodos.

São características da identidade de objetos, conhecida como OID (object identifier):

  são gerados pelo sistema;

  não são visíveis aos usuários;

  são independentes do endereço de armazenamento;

  não sofrem mutações;

  é desejado que seja utilizado uma única vez (mesmo após a exclusão do objeto).

O modelo relacional trouxe a realidade de SGBD-Rs (Sistemas Gerenciadores de Bancos de Dados Relacionais) robustos e eficientes, que atenderam ao mercado por várias décadas. Contudo, com o surgimento e solidificação do paradigma da orientação a objetos, as limitações dos bancos relacionais tornaram-se mais evidentes, trazendo à discussão:" [...] continue lendo...

Artigos relacionados