Banco De Dados
Artigos Científicos: Banco De Dados. Pesquise 861.000+ trabalhos acadêmicosPor: mcalx • 16/5/2014 • 9.395 Palavras (38 Páginas) • 270 Visualizações
1 DESENVOLVIMENTO:D
1.1 BANCO DE DADOS ORIENTADO A OBJETO
O SGBD Orientado Objeto é mais adequado para o tratamento de objetos complexos. Esses objetos são classificados como estruturados e não estruturados. Sendo que um objeto complexo não estruturado possui um tipo de dado que requer um grande volume de armazenamento, por adquirir novos tipos de dados para armazenamento de imagens ou textos longos. E os estruturados são definidos pela aplicação de determinados construtores de tipos, como, conjunto (coleções), tupla, lista ou array (ordem) (NAVATHE, 2005).
Conforme Setzer (2005), o desenvolvimento do referido SGBD teve combinação de ideias dos modelos de dados tradicionais e das linguagens de programação orientada a objetos. E, o contexto rico desses objetos é verificado no nível lógico e possui características não encontradas nas linguagens de programações tradicionais, como operadores de manipulação de estruturas, gerenciamento de armazenamento e outros.
Na verdade, para que um sistema de banco de dados seja considerado orientado a objetos, é importante a presença de Identificadores de Objetos (OID), mecanismo de herança (única ou múltipla), objetos complexos e persistência de objetos.
A seguir são apresentados alguns conceitos importantes para a orientação a objetos que foram recomendados para adicionar as funcionalidades de banco de dados às linguagens de programação orientada a objetos.
3.1.1 Objetos Complexos
Quando nos referimos a um objeto, o mesmo possui, caracteristicamente, dois componentes: estado (valores) e comportamento (operações). Assim, é semelhante a uma variável de programa em uma linguagem de programação, exceto que geralmente terá uma estrutura de dados complexa.
Um conceito mais simples relacionado a um objeto é que o mesmo é uma entidade lógica que contém dado e código com o objetivo de manipular esses dados. Os dados são destinados como sendo atributos do objeto, e o código que o manipula é denominado de método. Sendo que um método é uma função que manipula a estrutura de dados do objeto.
Objetos complexos são formados por construtores (conjuntos, listas, tuplas, registros, coleções, array) aplicados a objetos simples (inteiros, booleanos, string). A distinção do modelo OO em relação ao modelo relacional, é que no modelo OO qualquer construtor pode ser aplicado a qualquer objeto, já no modelo relacional este não é o caso, visto que só é possível aplicar o construtor de conjuntos nas tuplas e o construtor de registros nos valores atômicos (ARBEGAUS, 2003). Para tal, existem praticamente dois tipos de objetos complexos em um SGBDOO:
• Objetos embutidos: são caracterizados como “objetos filhos”, que constituem os atributos, que só podem ser acessados pelo seu “objeto-pai”. São resultados da estrutura de agregação ou “todo-parte”. Objetos embutidos não possuem OID próprio e são, em geral, armazenados na mesma estrutura física de seu “objeto pai”. Os mesmos possuem como exemplo os casos dos relacionamentos dependentes, como os “itens de um pedido de venda”. Nesse exemplo, os “itens” são objetos embutidos dos “pedidos de venda”.
• Objetos referenciados: são caracterizados como objetos originários das regras de integridade referencial. Qualquer relacionamento, como por exemplo, de uma “Cidade” com o seu respectivo “Estado” corresponde à criação de um objeto composto do tipo referenciado. Os objetos referenciados possuem OID próprio e podem ser acessados diretamente ou através de seus objetos relacionados.
3.1.2 Identificador de Objetos
No SGBDOO, o OID é dito persistente, ou seja, a identidade do objeto persiste não só entre execuções de programas, mas também durante reorganizações estruturais de dados. A identidade do objeto é geralmente gerada pelo sistema quando o objeto é criado. No entanto, segundo Silva (2001) um OID em SGBDOO não pode ser:
a) Um endereço (como um nome de variável ou referencia de memória de uma linguagem de programação) porque não é externo ao objeto;
b) Uma chave (como chave primária de um BDR) porque não é um valor de dados mutável;
c) Um register ID porque não é uma coluna lógica.
Para Silva (2001) a identidade de objetos tende a eliminar anomalias de atualização e de integridade referencial, uma vez que a atualização de um objeto será automaticamente refletida nos objetos que o referenciam e que o identificador de um objeto não tem seu valor alterado.
Para Navathe (2005), a identidade única de cada objeto armazenado na base de dados é geralmente implementada por meio de um identificador de objeto (OID). Sendo que o valor de um OID não é visível para um usuário externo, mas é utilizado internamente pelo sistema, com a finalidade de identificar univocamente cada objeto.
3.1.3 Herança Única e Múltipla
Um conceito essencial no banco de dados OO é que a herança é um tipo de relacionamento entre classes, onde uma classe compartilha (herda) estrutura de dados (atributos) e métodos (operações) de outras classes.
Logo, há dois tipos de herança, que são classificados como herança simples e múltipla. Na herança simples, uma classe é subclasse de apenas uma superclasse. Na herança múltipla, uma classe pode ser subclasse de várias superclasses, herdando variáveis e métodos de várias classes (GONÇALVES, 2008).
As “Classes de Coleção” ou “Classes de Sistema” são exemplos principais das características de herança em um SGBDOO. A maior parte desses SGBD possuem uma coleção própria de classes de objetos, onde estas classes são organizadas numa hierarquia. Na verdade, uma determinada aplicação pode desenvolver sua própria classe e herdar atributos ou métodos de alguma classe do sistema. Logo, as classes de sistema dos SGBDOO implementam os métodos de armazenamento, manipulação, controle de concorrência, entre outros (ARBEGAUS, 2003).
Para Arbegaus (2003), os SGBDOO armazenam as declarações das classes, confeccionando-as como parte do esquema do banco de dados. Logo, uma hierarquia de classes proporciona muito mais flexibilidade para modificar a estrutura de um banco de dados (incluindo novos atributos ou métodos nos objetos) possibilitando a evolução do esquema do banco de dados por meio da adição de novas classes na hierarquia.
3.1.4 Persistência de Objetos
Nas linguagens de programação
...