Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados OO
Maiores informaes: http://www.odbms.org/ A informao a ser armazenada o objeto Apenas para nichos especficos
Telecomunicaes espao sade Multimedia CAD/CAM/CAE
Tipos de objetos
Os objetos podem ser persistentes ou transientes. Objetos transientes: existem somente na memria principal.
Objetos de controle e objetos de fronteira.
Objetos persistentes: tm uma existncia que perdura durante vrias execues do sistema.
Precisam ser armazenados e recuperados. Tipicamente objetos de entidade.
Associaes entre linhas: valores de uma coluna fazem referncia a valores de uma outra coluna. (chave estrangeira) .
Uma chave estrangeira tambm pode conter valores nulos , representados pela constante NULL.
O NULL normalmente usado para indicar que um valor no se aplica, ou desconhecido, ou no existe.
Para atributos o que vale de forma geral que um atributo ser mapeado para uma ou mais colunas. Nem todos os atributos de uma classe so persistentes (atributos derivados).
Mapeamento de associaes
O procedimento utiliza o conceito de chave estrangeira . H trs casos, cada um correspondente a um tipo de conectividade. Nos exemplos dados a seguir, considere o seguinte diagrama de classes:
Mapeamento de agregaes
Forma especial de associao mesmo procedimento para realizar o mapeamento de associaes pode ser utilizado. A diferena semntica influi na forma como o SGBDR deve agir quando um registro da relao correspondente ao todo deve ser excludo ou atualizado.
Remoo ou atualizao em cascata. Pode ser implementado como gatilhos (triggers) e procedimentos armazenados (stored procedures) .
Mapeamento de Herana
Trs formas alternativas de mapeamento:
Uma tabela para cada classe da hierarquia Uma tabela para toda a hierarquia Uma tabela para cada classe concreta da hierarquia
Nenhuma das alternativas de mapeamento de generalizao pode ser considerada a melhor dentre todas.
Cada uma delas possui vantagens e desvantagens. Escolha de uma delas depende do software sendo desenvolvido. A equipe de desenvolvimento pode decidir implementar mais de uma alternativa.
Mapeamento de herana
A 1 alternativa (uma relao para cada classe da hierarquia) a que melhor reflete o modelo OO.
Desvantagem: desempenho da manipulao das relaes.
Inseres, remoes e junes.
Mapeamento de herana
A 2 alternativa de implementao bastante simples, alm de facilitar situaes em que objetos mudam de classe.
Desvantagem: alterao de esquema
Adio ou remoo de atributos. tem o potencial de desperdiar bastante espao de armazenamento
Mapeamento de herana
A 3 alternativa apresenta a vantagem de agrupar os objetos de uma classe em uma nica relao. Desvantagem: quando uma classe modificada, cada uma das tabelas correspondentes as suas subclasses deve ser modificada. Todas as tabelas correspondentes a subclasses devem ser modificadas quando a definio da superclasse modificada.
Camada de Persistncia
Para isolar os objetos do negcio de detalhes de comunicao com o SGBD, uma camada de persistncia pode ser utilizada. O objetivo de uma camada de persistncia isolar os objetos do software de mudanas no mecanismo de armazenamento. Se um SGBD diferente tiver que ser utilizado pelo sistema, somente a camada de persistncia modificada; Os objetos da camada de negcio permanecem intactos. Diminuio do acoplamento entre os objetos e a estrutura do banco de dados torna o software mais flexvel e mais portvel.
Camada de persistncia
No entanto, as vantagens de uma camada de persistncia no vm de graa.
A intermediao feita por essa camada entre os objetos do domnio e o SGBD traz uma sobrecarga de processamento . A camada de persistncia pode aumentar a complexidade computacional da realizao de operaes que seriam triviais com o uso direto de SQL.
As vantagens adquiridas pela utilizao de uma camada de software, principalmente em sistemas complexos , geralmente compensam a perda no desempenho e a dificuldade de implementao.
Estratgias de persistncia
H diversas estratgias que podem ser utilizadas para definir a camada de persistncia de um software:
Acesso direto ao banco de dados Uso de um SGBDOO ou de um SGBDOR Uso do padro DAO (Data Access Object ) Uso de um frameworks
Acesso direto
Uma estratgia simples para o mapeamento objetorelacional cada objeto persistente possuir comportamento que permita a sua restaurao, atualizao ou remoo.
H cdigo escrito em SQL para realizar a insero, remoo, atualizao e consulta das tabelas onde esto armazenados os objetos.
Essa soluo de fcil implementao em Linguagens de quarta gerao, como o Visual Basic, e o Delphi. Essa estratgia de mapeamento objeto-relacional justificvel para sistemas simples.
Dificuldades de manuteno e extenso do cdigo fonte praticamente probe a utilizao desta estratgia em sistemas complexos.
Nessa estratgia, um software obtm acesso a objetos de negcio atravs de uma interface, a chamada interface DAO. O software interage com o objeto DAO atravs de uma interface. O objeto DAO isola completamente os seus clientes das particularidades do mecanismo de armazenamento (fonte de dados) sendo utilizado.
Ex. JDBC, ODBC, ADO.NET