·

Sistemas de Informação ·

Banco de Dados

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Company LOGO Banco de Dados II Banco de Dados de Objetos Prof Dr Everton C Tetila Agenda 1 Introdução 2 Conceitos de banco de dados de objetos 3 Padrões de Banco de Dados de Objetos 4 Db4objects Db4o 5 Operações CRUD Introdução BDO foram propostos para atender a algumas das necessidades de aplicações mais complexas Especifica A estrutura dos objetos complexos As operações que podem ser aplicadas a esses objetos Introdução Banco de Dados OR versus OO FIGURA 1 Demonstração de armazenamento de dados Banco de Dados OR versus OO Conceitos de banco de dados de objetos Estrutura de objeto Um modo formal de representar os objetos em bancos de dados OO é visualizar cada objeto como uma tripla i c v i é o identificador único do objeto OID c é o construtor de tipo ele indica como o estado do objeto é construído v é o estado do objeto ou valor corrente Conceitos de banco de dados de objetos Identidade de objeto OID Garante que cada objeto tenha uma identidade única gerada pelo SGBDOO O OID não depende dos dados armazenados no objeto e não é visível aos usuários externos É usado pelo sistema para identificar o objeto criar e gerar referência entre eles Conceitos de banco de dados de objetos Construtores de tipos Especifica como a estrutura do do objeto é construída Atom Formado por um valor atômico como inteiros números reais cadeias de caracteres boleanos etc Tuple São construídos através da união de atributos como tuplas tipos de registro no modelo relacional básico Set Representa um conjunto de elementos distintos todos do mesmo tipo Bag Representa um conjunto de elementos do mesmo tipo onde os valores podem se repetir List É uma lista ordenada de elementos do mesmo tipo com um número arbitrário de elementos Array É um vetor unidimensional de elementos ordenados do mesmo tipo com um número determinado de elementos Conceitos de banco de dados de objetos Exemplo Conceitos de banco de dados de objetos Encapsulamento de operações Este conceito é aplicado separando os atributos em visíveis e ocultos Os Atributos Visíveis podem ser acessados diretamente já os Atributos Ocultos só são acessados através de métodos específicos para cada objeto Métodos São utilizados para manipular os dados ocultos do banco de dados eles podem ser utilizados para criar destruir recuperar fazer cálculos e atualizar os dados Polimorfismo Um mesmo nome de operação pode se referir a várias implementações distintas Conceitos de banco de dados de objetos Nas aplicações desenvolvidas em linguagens de programações OO podem existir dois tipos de objetos Objetos transientes São os objetos que quando a aplicação é encerrada deixam de existir Objetos persistentes São os objetos que podem ser armazenados no banco de dados Conceitos de banco de dados de objetos Persistência Há duas maneiras de tornar um objeto persistente nomeação e por alcançabilidade Nomeação Consiste em dar um nome persistente ao objeto Todos os nomes devem ser únicos para cada objeto em um determinado banco de dados O nome persistente será utilizado para iniciar o acesso ao banco de dados Alcançabilidade Todos os objetos que forem alcançados através de um objeto persistente também se tornam persistentes Conceitos de banco de dados de objetos Exemplo Conceitos de banco de dados de objetos Hierarquias de tipo e herança Quando um tipo é definido através de um tipo predefinido podese chamá lo de Subtipo e o tipo que deu origem a ele de Supertipo Um subtipo herda todos os métodos e atributos que estejam definidos para o seu supertipo PESSOA Nome Endereco DataNascimento Idade Cpf FUNCIONARIO subtypeof PESSOA Salario Datacontratacao Nivel ALUNO subtypeof PESSOA Curso RGA Conceitos de banco de dados de objetos Objetos complexos Podem ser divididos em estruturados e não estruturados Nãoestruturados O SGBDOO não conhece a sua estrutura Ex imagens e textos longos Estruturados têm suas estruturas conhecidas pois são objetos derivados do uso recursivo dos construtores existentes fornecidos pelo SGBDOO Referência de objetos complexos Existem dois tipos de semânticas Semântica de Propriedade ou épartede e é componentede Semântica de Referência ou éassociadocom Padrões de banco de dados de objetos ODMG O padrão ODMG fornece um modelo de dados padrão para banco de dados orientados a objetos O padrão é composto pelos componentes Modelo de objetos Object Definition Language ODL Object Query Language OQL Padrões de banco de dados de objetos Modelo de objetos Fornece os tipos de dados os tipos construtores e outros conceitos para especificar esquemas de bancos de dados de objetos No modelo de objetos ODMG objetos e literais são os blocos de construção básicos do modelo de objetos Objetos Possui um OID e um estado ou valor atual Literais Possui somente um valor mas não um OID Padrões de banco de dados de objetos Um Objeto tem cinco aspectos Identificador identificação única para o objeto em todo o banco de dados OID Nome São utilizados como ponto de entrada para o banco de dados Tempo de vida Define se os objetos são persistentes ou transientes Estrutura Especifica como ele é construído pelos construtores de tipos Criação Referese à maneira como ele é criado operação new Um Literal é um valor que não possui um OID Padrões de banco de dados de objetos Object Definition Language ODL Define as construções semânticas do modelo de objeto ODMG e é independente de qualquer linguagem de programação em particular Object Query Language OQL Define a sintaxe para as consultas ODMG Db4objects Db4o Db4objects Db4o É um banco de dados orientado a objetos desenvolvido como projeto software livre de código aberto opensource De acordo com o site do fabricande avaliações de banco de dados mostram que o Db4o pode ser até 44 vezes mais rápido que o Hibernate e MySQL Operações CRUD A seguir serão demonstradas as operações Create Read Update e Delete para a manipulação de objetos no Db4O Abrir o banco Para abrir o banco de dados a classe Db4oEmbedded possui o método estático openFile import comdb4oDb4oEmbedded import comdb4oObjectContainer public class Main public static void mainString args ObjectContainer db Db4oEmbeddedopenFileCprojetoBDyap try Códigos para as operações CRUD finally dbclose Operações CRUD Criar Para armazenar o aluno no banco de dados é necessário passar o objeto como parâmetro para o método store import comdb4oDb4oEmbedded import comdb4oObjectContainer public class Main public static void mainString args ObjectContainer db Db4oEmbeddedopenFileCprojetoBDyap try Aluno novo new Aluno1 Danilo Pedroso dbstorenovo SystemoutprintlnAluno armazenado novo finally dbclose Operações CRUD Consultar Para recuperar todos os alunos com o nome Danilo Pedroso independente do número de seu código atributo utilizase o método queryByExample import comdb4oDb4oEmbedded import comdb4oObjectContainer import comdb4oObjectSet public class Main public static void mainString args ObjectContainer db Db4oEmbeddedopenFileCprojetoBDyap Aluno novo new Aluno0Danilo Pedroso ObjectSetAluno lista dbqueryByExample novo while listahasNext Systemoutprintlnlistanext Operações CRUD Alterar Para alterar o aluno no banco de dados é necessário utilizar o método store import comdb4oDb4oEmbedded import comdb4oObjectContainer import comdb4oObjectSet public class Main public static void mainString args ObjectContainer db Db4oEmbeddedopenFileCprojetoBDyap ObjectSetAluno lista dbqueryByExample new Aluno 1Danilo Pedroso Aluno aluno listanext alunosetNomeDanilo Pedroso Vargas dbstorealuno lista dbqueryByExample Alunoclass while listahasNext Systemoutprintlnlistanext Operações CRUD Excluir Para excluir o aluno no banco de dados é necessário utilizar o método delete import comdb4oDb4oEmbedded import comdb4oObjectContainer import comdb4oObjectSet public class Main public static void mainString args ObjectContainer db Db4oEmbeddedopenFileCprojetoBDyap ObjectSetAluno lista dbqueryByExample new Aluno 1Danilo Pedroso Vargas Aluno aluno listanext dbdeletealuno lista dbqueryByExample Alunoclass while listahasNext Systemoutprintlnlistanext Referências ELMASRI R NAVATHE S B Sistemas de Banco de Dados 6ª ed Addison Wesley 2011 DB4OBJECTS Db4o tutorial 2013 Disponível em httpwwwodbmsorgwpcontentuploads201311db4o 710tutorialnetpdf