Banco de Dados
Orientado a Objetos
( BDOO )
O Kaio Henrique
Graduando em análise e desenvolvimento de sistemas- FAFICA
Desenvolvedor Web e Front-end
Um pouco de História...
O Até meados dos anos 60 os dados eram
armazenados em arquivos.
Um pouco de História...
1960
O No início dos anos 70 surgiram as
primeiras linguagens de alto nível,
permitindo assim a manipulação eficiente
dos dados.
Um pouco de História...
1970
O A partir dos anos 80 as aplicações
evoluíram juntamente com as máquinas,
surgindo a necessidade de tratar os
dados mais complexos.
Um pouco de História...
1980
O Durante a década de 80, vieram novas
aplicações, para essas aplicações, os
modelos de dados tradicionais, baseados
no modelo relacional, não eram
adequados.
Um pouco de História...
1980
O Nada mais que a junção entre conceitos
de OO com conceitos de SGBD.
O que é BDOO?
Em uma aplicação o objeto existe somente
durante a execução do programa. O Banco
de dados Orientado a objetos possibilita a
capacidade de um objeto ser criado e existir
permanentemente, ou seja persistir.
Objetos e Identidade
Cada objeto é associado um estado e um
comportamento.
O estado é representado pelos valores dos
atributos do objetos.
O comportamento é definido pelos métodos que
agem sobre o estado do objeto pela invocação.
Como identificar cada Objeto?
O Cada objeto armazenado no banco é
associado a um identificador ( OID: Object
Identifier ).
O valor do OID deve ser:
O Imutável;
O Utilizado unicamente.
(OID)
O No BDOO os identificadores de objetos
têm uma identidade muito mais forte que
a linguagem de POO, pois os objetos têm
a necessidade de continuar a existir.
Persistência de Objetos
Para que o BD00 posa funcionar é preciso
aplicar a estrutura da persistência de
objetos em sua aplicação.
Existem várias formas dentre elas podem-
se considerar as seguintes:
Persistência de Objetos
O Por tipo de Classe onde os objetos
pertencentes às classes assim declaradas
serão persistentes.
O Por chamada explicita onde o objeto pode
ser tornar persistente após a sua criação
através de comandos reservados
Objetos Complexos
O Para uma representação direta de objetos
complexos, Nota-se que essa forma não é
respeitada nos BDs, pois podemos
representar em um objeto valores não
atômicos,
Herança
O Todo o conceito de OO está presente no
BDOO.
O Uma Hierarquia de classes oferece muito
mais flexibilidade para efetuar alterações
na estrutura do banco.
Conceitos de BDOO
O Transações
O Transações demoradas
O Transações aninhadas
O Transações em cooperação
O Concorrência
O Gerenciamento de Recuperação
Transações
O Transação é um conceito fundamental de todo
o sistema de banco de dados. A base
fundamental de transações é englobar vários
passos em uma única operação.
O Teste ACID
O (Atomicidade, Coerência, Isolamento e
Durabilidade)
Transações demoradas
O Algumas transações tendem a levar um
tempo relativamente longo, isto por que o
BDOO interagem com muitos objetos
complexos.
Transições aninhadas
O Utilizadas para melhorar as transações
demoradas, esse modelo consiste em
decompor a transação principal em
subtransações.
Transações em cooperação
O Este modelo de transação é utilizado
para resolver os problemas de
transações que necessitam trabalhar
em conjunto para serem concluídas,
sendo que essas transações podem ser
executadas por diversos usuários.
Concorrência
O Concorrência para SGBDOO permite o acesso
simultâneo aos dados para diferentes usuário.
O Tem um algoritmo notável de controle de
concorrência que funciona em forma de
bloqueios.
O Tipos de Bloqueios simples: Leitura e Gravação
Aspectos do controle de concorrência
O Bloqueio de hierarquia de classe.
O Bloqueio de objeto complexo
Gerenciamento de recuperação
O Os BDOO possuem muitas formas de
contornar algum possível problema
relacionado à falha do sistema.
O Mecanismo de duplicação
O Espelhamento de dados
O Logs (mais utilizado)
Logs
O Consiste em armazenar imagens
anteriores e posteriores dos objetos
atualizados.
Prática
Após isto abra o Eclipse
Agora vai ser
ao vivo...
Ele tá
ferrado!

Banco de dados Orientado à objetos

  • 1.
    Banco de Dados Orientadoa Objetos ( BDOO )
  • 2.
    O Kaio Henrique Graduandoem análise e desenvolvimento de sistemas- FAFICA Desenvolvedor Web e Front-end
  • 3.
    Um pouco deHistória...
  • 4.
    O Até meadosdos anos 60 os dados eram armazenados em arquivos. Um pouco de História... 1960
  • 5.
    O No iníciodos anos 70 surgiram as primeiras linguagens de alto nível, permitindo assim a manipulação eficiente dos dados. Um pouco de História... 1970
  • 6.
    O A partirdos anos 80 as aplicações evoluíram juntamente com as máquinas, surgindo a necessidade de tratar os dados mais complexos. Um pouco de História... 1980
  • 7.
    O Durante adécada de 80, vieram novas aplicações, para essas aplicações, os modelos de dados tradicionais, baseados no modelo relacional, não eram adequados. Um pouco de História... 1980
  • 8.
    O Nada maisque a junção entre conceitos de OO com conceitos de SGBD. O que é BDOO?
  • 9.
    Em uma aplicaçãoo objeto existe somente durante a execução do programa. O Banco de dados Orientado a objetos possibilita a capacidade de um objeto ser criado e existir permanentemente, ou seja persistir.
  • 11.
    Objetos e Identidade Cadaobjeto é associado um estado e um comportamento. O estado é representado pelos valores dos atributos do objetos. O comportamento é definido pelos métodos que agem sobre o estado do objeto pela invocação.
  • 12.
    Como identificar cadaObjeto? O Cada objeto armazenado no banco é associado a um identificador ( OID: Object Identifier ). O valor do OID deve ser: O Imutável; O Utilizado unicamente.
  • 13.
    (OID) O No BDOOos identificadores de objetos têm uma identidade muito mais forte que a linguagem de POO, pois os objetos têm a necessidade de continuar a existir.
  • 14.
    Persistência de Objetos Paraque o BD00 posa funcionar é preciso aplicar a estrutura da persistência de objetos em sua aplicação. Existem várias formas dentre elas podem- se considerar as seguintes:
  • 15.
    Persistência de Objetos OPor tipo de Classe onde os objetos pertencentes às classes assim declaradas serão persistentes. O Por chamada explicita onde o objeto pode ser tornar persistente após a sua criação através de comandos reservados
  • 16.
    Objetos Complexos O Parauma representação direta de objetos complexos, Nota-se que essa forma não é respeitada nos BDs, pois podemos representar em um objeto valores não atômicos,
  • 17.
    Herança O Todo oconceito de OO está presente no BDOO. O Uma Hierarquia de classes oferece muito mais flexibilidade para efetuar alterações na estrutura do banco.
  • 18.
    Conceitos de BDOO OTransações O Transações demoradas O Transações aninhadas O Transações em cooperação O Concorrência O Gerenciamento de Recuperação
  • 19.
    Transações O Transação éum conceito fundamental de todo o sistema de banco de dados. A base fundamental de transações é englobar vários passos em uma única operação. O Teste ACID O (Atomicidade, Coerência, Isolamento e Durabilidade)
  • 20.
    Transações demoradas O Algumastransações tendem a levar um tempo relativamente longo, isto por que o BDOO interagem com muitos objetos complexos.
  • 21.
    Transições aninhadas O Utilizadaspara melhorar as transações demoradas, esse modelo consiste em decompor a transação principal em subtransações.
  • 22.
    Transações em cooperação OEste modelo de transação é utilizado para resolver os problemas de transações que necessitam trabalhar em conjunto para serem concluídas, sendo que essas transações podem ser executadas por diversos usuários.
  • 23.
    Concorrência O Concorrência paraSGBDOO permite o acesso simultâneo aos dados para diferentes usuário. O Tem um algoritmo notável de controle de concorrência que funciona em forma de bloqueios. O Tipos de Bloqueios simples: Leitura e Gravação
  • 24.
    Aspectos do controlede concorrência O Bloqueio de hierarquia de classe. O Bloqueio de objeto complexo
  • 25.
    Gerenciamento de recuperação OOs BDOO possuem muitas formas de contornar algum possível problema relacionado à falha do sistema. O Mecanismo de duplicação O Espelhamento de dados O Logs (mais utilizado)
  • 26.
    Logs O Consiste emarmazenar imagens anteriores e posteriores dos objetos atualizados.
  • 27.
  • 32.
    Após isto abrao Eclipse
  • 39.
    Agora vai ser aovivo... Ele tá ferrado!

Notas do Editor

  • #2 Introdução apresentação do que é a palestra UM POUCO DE HISTORÍA DEFINICÃO QUAIS CARACTERÍSTICAS COMO FUNCIONA PRÁTICA
  • #5 geralmente como partes integrantes da aplicação. A partir dessa época, surgiram os primeiros Sistemas Gerenciadores de Bancos de Dados (SGBDs) comerciais, provendo armazenamento dos dados de forma independente da aplicação, contudo, sem mecanismos de acesso eficientes.
  • #6 A partir dos anos 80 as aplicações computacionais evoluíram, juntamente com o poder de processamento das máquinas, surgindo a necessidade de tratar dados mais complexos, não-convencionais.
  • #7 Devido a esse aumento na complexidade dos dados, surgiu a necessidade de formas mais adequadas de representação e armazenamento, como as bases de dados orientadas a objetos.
  • #8 Durante a década de 80, como resultado das inovações de hardware, emergiram novas aplicações com utilização intensiva de dados. Para essas aplicações, os modelos de dados tradicionais, baseados no modelo relacional, não eram adequados. Alguns exemplos de aplicações desse tipo incluem sistemas de design e produção, como CAD (Computer-Aided Design) e CAM (Computer-Aided Manufacturing), sistemas para as áreas científica e médica, sistemas de informação geográfica e bases de dados com informações multimídia. Essas aplicações possuem requisitos e características,
  • #10 Ex: Aplicação objeto PESSOA com NOME IDADE
  • #14 Mesmo após a finalização do programa, prq precisaram serem usados futuramente.
  • #15 Persistência de dados consiste em não deixar com que objetos deixem de existir, Tendo o seu estado armazenado de um meio físico persistente
  • #17 Ex: Conjuntos, Listas e vetores Assim como as linguagem OO a representação se torna extremamente fácil.
  • #18 Caso necessário, uma determinada aplicação pode herdar atributos e métodos das classes do sistema. Pois a maioria dos SGBDOO possuem uma coleção de classes e objetos
  • #19 Algumas adaptações internas no BDOO sobre o conceitos de OO a objetos possibilitam o uso de alguns recursos como:
  • #20  Os espaços intermediários entre esses passos não são vistos pelas demais transações simultâneas e caso alguma falha impeça por ventura a finalização da transação, então nenhum dos passos intermediários irá afetar o banco de dados, Uma transação deve levar o banco de dados de um estado coerente para outro. Para que essa coerência ocorra, cada transação de um banco de dados deve passar pelo teste de ACID (Atomicidade, Coerência, Isolamento e Durabilidade). Atomicidade emprega o conceito de que uma transação é executada por completo ou não é executada. Coerência emprega o conceito de que as transações mapeiam um banco de dados persistente de um estado coerente para o outro Isolamento emprega o conceito de que transações não leem resultados intermediários de outras transações não efetivadas. Durabilidade emprega o conceito de que uma vez que uma transação é efetivada, seus efeitos ficam permanentemente no banco de dados, mesmo que ocorram falhas.
  • #21 CONTROLE DE PONTO
  • #22 Caso uma subtransações venha por ventura falhar, fica a critério da transação de alto nível tentar executá-la novamente ou ate mesmo cancelá-la.
  • #23 Em um contraste das transações mais tradicionais, as transações em cooperação podem ver os resultados imediatos umas das outras.
  • #24 Em SGBDOO cada objeto persistente pode ser bloqueado. Isto normalmente é feito por meio de uma LISTA de bloqueio que armazena os OID dos objetos bloqueados. O modo de leitura (modo compartilhado) permite que diversas transações de operações de leituras sejam executadas no mesmo objeto concorrentemente O modo de gravação (modo exclusivo) reserva o acesso (operações de leitura e gravação) de um objeto à transação que contem esse bloqueio no momento. Exemplo a SEGUIR
  • #25 Bloqueio de hierarquia de classe: as classes em BDOO são organizadas em hierarquias de herança. Caso uma superclasse venha a ser bloqueada o mesmo ocorrerá de forma implícita para todas as suas subclasses, que são descendentes diretas da superclasses Bloqueio de objeto complexo: os BDOO podem conter objetos que referenciam ou incorporam outros objetos, isto pode causar problemas, pois algum objeto complexo pode possuir subobjetos bloqueados, ocasionando problemas de atualizações e/ou possíveis problemas de acesso. Tal problema pode ser resolvido pelo bloqueio de intenção. Neste bloqueio as subclasses de uma classe não são bloqueadas implicitamente. Somente as instancia dependentes do objeto-pai são bloqueadas. Diante disso as outras instancias ficam livres para serem acessadas
  • #27 A imagem anterior é o estado do objeto antes de sua atualização e a imagem posterior é o estado do objeto após sua atualização.