Banco de Dados Orientado a Objetos
para Aplicações Android - ORMLite
Alex Manoel Coelho1, Cristhian Heck2
1Aluno 7ª fase do Curso de Ciência da Computação do Instituto Federal
Catarinense - Campus Rio do Sul
2Professor de Ensino Superior do Instituto Federal Catarinense - Campus Rio
do Sul
ORMLite
• É um dos vários bancos de dados orientados a objetos (BDOO);
• O motivo da escolha, é porque facilita a implementação do software e
também tende a apresentar na maioria dos casos, um desempenho
melhor, quando comparado a um banco de dados relacional.
• Além de facilitar e agilizar o desenvolvimento.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 2
Adicionando as bibliotecas
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 3
Persistindo a classe disciplina
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 4
Persistindo a classe estudante
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 5
Modelo de Entidades e Relacionamentos
(MER)
• Desta forma, indicando para o ORMLite que um estudante poderá
estar em várias disciplinas, e em uma disciplina poderá ter apenas um
estudante.
• De fato, na realidade não é isso o que acontece, para este caso teria
que ser uma relação muitos para muitos, onde um estudante poderá
estar em várias disciplinas, e uma disciplina poderá ter vários
estudantes.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 6
Conexão
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 7
Classes DAO
• Como o framework trabalha com o padrão Data Access Object (DAO).
Após ter criado a classe da conexão, é preciso criar as classes DAO de
cada entidade envolvida no projeto.
• DAO é um padrão de projeto que abstraí e encapsula os mecanismos
de acesso a dados, escondendo os detalhes da execução ao originar
dos dados. (MORENO; SILANS, 2009).
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 8
DisciplinaDAO
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 9
EstudanteDAO
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 10
Operações com o banco de dados
• Na explicação das operações no BD, será utilizado uma Activity,
contendo as variáveis que estão no próximo slide;
• Activity é um módulo único e independente que está relacionada com
uma tela de interface de usuário e suas funcionalidades
correspondentes. (Android Developers, 2017).
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 11
Variáveis
• Dando destaque apenas as linhas 20, 21 e 22, que conforme pode ser
visto na Figura 7, instanciam as classes “DatabaseHelper”,
“EstudanteDAO” e “DisciplinaDAO”, respectivamente. E na linha 23
temos um ArrayList que guardará uma lista de estudantes.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 12
Chamando a conexão
• Para todas as operações no BD, como inserções, consultas, alterações,
logicamente será preciso ter uma conexão, e conforme ilustrado na
figura abaixo, pode ser feita da seguinte forma.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 13
Inserindo registros
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 14
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017)
12:38
Estudante
Código
Nome Disciplina
Cadastro Disciplina
Salvar Cancelar
Selecionado os registros
• Na linha 67, podemos perceber o uso do método queryForAll,
responsável por pegar todos os registros de uma determinada
entidade.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 16
Outra forma de consultar dados
• Na linha 81 pode-se notar o Script SQL que foi passado através do
método queryRaw, por sua vez este método exige a criação de um
método construtor (linha 86 e 87), que recebe como parâmetro um
array de campos (atributos), e um array dos valores de seus
respectivos campos. Para percorrer todos os registros encontrados,
pode ser utilizado iterações, de acordo com a linha 91.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 17
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 18
Deletando registros
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 19
Alterando registros
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 20
Referências
• Elmasri, R. e Navathe S. B. Sistemas de Banco de Dados. 6 a edição. Editora Addison-
Wesley, (2011).
• Mansueli, V. A. P. (2016) Bancos de Dados Orientados a Objetos - SQL Magazine 78.
Disponível em: <http://www.devmedia.com.br/bancos-de-dados-orientados-a-objetos-
sql-magazine-78/17717>. Acesso em: 23 maio 2017.
• SQLite (2017). Site oficial do SQLite. Disponível em: <http://www.sqlite.org/>. Acesso
em: 23 maio 2017.
• Moreno, Bruno Neiva; Silans, Alain Passerat De. Implementação de um sistema de
informação para tratamento dos dados do BEER. João Pessoa-PB, 2009.
• Neto, José Dijon de O.; Maia, Iverton P. L.; Lemos, Emilio C. L.; Castro, Angélica Félix de.
Análise comparativa de desempenho de aplicação Android com persistência em Banco
de Dados Relacional e Banco de Dados Orientado a Objetos. Mossoró – RN, 2017.
• Watson, Gray. (2016). ORMLite Package. Disponível em:
<http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite.html>. Acesso em: 31 maio
2017.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 32

Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite

  • 1.
    Banco de DadosOrientado a Objetos para Aplicações Android - ORMLite Alex Manoel Coelho1, Cristhian Heck2 1Aluno 7ª fase do Curso de Ciência da Computação do Instituto Federal Catarinense - Campus Rio do Sul 2Professor de Ensino Superior do Instituto Federal Catarinense - Campus Rio do Sul
  • 2.
    ORMLite • É umdos vários bancos de dados orientados a objetos (BDOO); • O motivo da escolha, é porque facilita a implementação do software e também tende a apresentar na maioria dos casos, um desempenho melhor, quando comparado a um banco de dados relacional. • Além de facilitar e agilizar o desenvolvimento. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 2
  • 3.
    Adicionando as bibliotecas CONGRESSOCATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 3
  • 4.
    Persistindo a classedisciplina CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 4
  • 5.
    Persistindo a classeestudante CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 5
  • 6.
    Modelo de Entidadese Relacionamentos (MER) • Desta forma, indicando para o ORMLite que um estudante poderá estar em várias disciplinas, e em uma disciplina poderá ter apenas um estudante. • De fato, na realidade não é isso o que acontece, para este caso teria que ser uma relação muitos para muitos, onde um estudante poderá estar em várias disciplinas, e uma disciplina poderá ter vários estudantes. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 6
  • 7.
    Conexão CONGRESSO CATARINENSE DECIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 7
  • 8.
    Classes DAO • Comoo framework trabalha com o padrão Data Access Object (DAO). Após ter criado a classe da conexão, é preciso criar as classes DAO de cada entidade envolvida no projeto. • DAO é um padrão de projeto que abstraí e encapsula os mecanismos de acesso a dados, escondendo os detalhes da execução ao originar dos dados. (MORENO; SILANS, 2009). CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 8
  • 9.
    DisciplinaDAO CONGRESSO CATARINENSE DECIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 9
  • 10.
    EstudanteDAO CONGRESSO CATARINENSE DECIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 10
  • 11.
    Operações com obanco de dados • Na explicação das operações no BD, será utilizado uma Activity, contendo as variáveis que estão no próximo slide; • Activity é um módulo único e independente que está relacionada com uma tela de interface de usuário e suas funcionalidades correspondentes. (Android Developers, 2017). CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 11
  • 12.
    Variáveis • Dando destaqueapenas as linhas 20, 21 e 22, que conforme pode ser visto na Figura 7, instanciam as classes “DatabaseHelper”, “EstudanteDAO” e “DisciplinaDAO”, respectivamente. E na linha 23 temos um ArrayList que guardará uma lista de estudantes. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 12
  • 13.
    Chamando a conexão •Para todas as operações no BD, como inserções, consultas, alterações, logicamente será preciso ter uma conexão, e conforme ilustrado na figura abaixo, pode ser feita da seguinte forma. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 13
  • 14.
    Inserindo registros CONGRESSO CATARINENSEDE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 14
  • 15.
    CONGRESSO CATARINENSE DECIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 12:38 Estudante Código Nome Disciplina Cadastro Disciplina Salvar Cancelar
  • 16.
    Selecionado os registros •Na linha 67, podemos perceber o uso do método queryForAll, responsável por pegar todos os registros de uma determinada entidade. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 16
  • 17.
    Outra forma deconsultar dados • Na linha 81 pode-se notar o Script SQL que foi passado através do método queryRaw, por sua vez este método exige a criação de um método construtor (linha 86 e 87), que recebe como parâmetro um array de campos (atributos), e um array dos valores de seus respectivos campos. Para percorrer todos os registros encontrados, pode ser utilizado iterações, de acordo com a linha 91. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 17
  • 18.
    CONGRESSO CATARINENSE DECIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 18
  • 19.
    Deletando registros CONGRESSO CATARINENSEDE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 19
  • 20.
    Alterando registros CONGRESSO CATARINENSEDE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 20
  • 21.
    Referências • Elmasri, R.e Navathe S. B. Sistemas de Banco de Dados. 6 a edição. Editora Addison- Wesley, (2011). • Mansueli, V. A. P. (2016) Bancos de Dados Orientados a Objetos - SQL Magazine 78. Disponível em: <http://www.devmedia.com.br/bancos-de-dados-orientados-a-objetos- sql-magazine-78/17717>. Acesso em: 23 maio 2017. • SQLite (2017). Site oficial do SQLite. Disponível em: <http://www.sqlite.org/>. Acesso em: 23 maio 2017. • Moreno, Bruno Neiva; Silans, Alain Passerat De. Implementação de um sistema de informação para tratamento dos dados do BEER. João Pessoa-PB, 2009. • Neto, José Dijon de O.; Maia, Iverton P. L.; Lemos, Emilio C. L.; Castro, Angélica Félix de. Análise comparativa de desempenho de aplicação Android com persistência em Banco de Dados Relacional e Banco de Dados Orientado a Objetos. Mossoró – RN, 2017. • Watson, Gray. (2016). ORMLite Package. Disponível em: <http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite.html>. Acesso em: 31 maio 2017. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 32