1/97 PGBR2013. Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos. Pablo Filetti Moreira pablo.filetti@gmail.
|
|
- Joaquim Lisboa Custódio
- 8 Há anos
- Visualizações:
Transcrição
1 1/97 PGBR2013 Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos Pablo Filetti Moreira pablo.filetti@gmail.com
2 2/97 Agenda Baixa performance... ORM Mapeamento Objeto/Relacional JPA Java Persistence API Hibernate Fetching Eager Fetching Lazy Collection Fetching Lazy Collection Fetching Eager Cache do 1º Nível Cache do 2º Nível DynamicUpdate Query com NEW Batch Update Batch Binários Query com FETCH BatchSize
3 3/97 Baixa performance... Para Fernando Ike de Oliveira 60% Problem são relacionados ao mau uso de expressões SQL. 20% Problem são relacionados a má modelagem do BD's. 10% Problem são relacionados a má configuração do SGDB. 10% Problem são relacionados a má configuração do SO. (OLIVEIRA,
4 4/97 Baixa performance... Para Fábio Telles Rodriguez Por mais que os desenvolvedores reclamem do servidor de banco de dados, em 80% dos cos o problema está na aplicação e em 20% no SGDB. Não que a aplicação seja ruim em si, m ela pode não usar o SGDB de forma eficiente. Existem vári form de se obter os mesmos dados de forma ineficiente. Pior, uma consulta que funcionava bem num SGDB pode ter uma performance cattrófica em outro SGDB. Infelizmente isto pode ocorrer também com migrações para outra versão do mesmo SGDB. Mesmo sim, a culpa ainda não é do SGDB. A aplicação que tem (infelizmente) de adaptar às especificidades de cada fornecedor e cada versão. Na verdade, se formos levar a questão de forma mais ponderada, a lei não seria 80/20, seria 99,9/0,01. Isto ocorre por um motivo simples, ajustes de SQL e modelagem podem resultar em ganhos de performance da ordem de 10, 100 ou até 1000 vezes. Enquanto isso, ajustes no SO e SGDB tem ganhos da ordem de até 10 vezes. Portanto, antes de mais nada aprenda a modelar bem e conheça minúci do SQL do seu SGDB. Depois aprenda a analisar com profundidade os planos de execução e reescreva consult complex a partir deste tipo de análise. (RODRIGUES,
5 5/97 Baixa performance... Para Kenia Milene 65% d caus de baixa performance em Bancos de Dados são causad pel aplicações. Dificilmente temos no mesmo ambiente um DBA Desenvolvedor ou um Desenvolvedor DBA, sendo sim, muito, m muito cuidado na criação d consult. 25% são causados pelos modelos de dados. Banco mal modelado tende a ser terrível. A melhor forma é normalizar o modelo, com isso ganhamos economia de espaço e a não repetição dos dados. Porém é necessário uma análise, pois em relatórios muito grandes não é aconselhável normalização quando falamos de ganho de performance. 5% são problem do SGDB, acontece do gerenciador do banco não ter um algoritmo eficiente, ou não consegue manter informações necessári na memória por tempo eficiente. Atenção na aplicação de patchs e upgrades de versões. 5% são causad por configurações ou deficiênci do Sistema Operacional. Atenção no fluxo da rede, muit vezes o servidor esta com uma placa de rede não adequada para a quantidade de fluxo de informações que trafega. Verificações de parâmetros de Kernel também são consideráveis, pois o S.O pode não estar deixando o banco escalonar que influencia no impacto do sistema. (MILENE,
6 6/97 Baixa performance... Para Claudia Machado Sistema operacional, co tenha sido mal parametrizado; SGBD Relacional, por causa de inadequad configurações relacionad às áre de buffers, organização do logging, alocação de arquivos, entre outros; Rede, no co de impactos no tráfego em razão de processamento de dados efetuados no servidor ou na rede; Modelo físico de dados, em razão de inadequação na definição da estrutura d tabel e índices; Aplicação, quando ocorrem problem na estrutura lógica efetuada pelo programador, o que compreende a linguagem hospedeira e os comandos em SQL. (MACHADO,
7 7/97 A culpa é de quem??? Desenvolvedores Este Banco é uma carroça DBAs Esta aplicação é cheia de gambiarr
8 8/97 ORM Mapeamento Objeto/Relacional Por muitos anos, persistência tem sido um tópico quente de debates na comunidade Java. Muitos desenvolvedores nem mesmo concordam com o escopo do problema. Será a persistência um problema que já foi resolvido pela tecnologia relacional e su extensões como procedimentos armazenados (stored procedures), ou ele é um problema mais amplo que precisa ser endereçado por modelos de componentes Java especiais, como os entity beans (componentes de entidade) do EJB? Devemos escrever à mão até mesmo mais primitiv operações CRUD (criar, ler, atualizar, deletar create, read, update, delete) em SQL e JDBC, ou esse trabalho deve ser automatizado? Como alcançamos portabilidade se todo sistema de gerenciamento de banco de dados possui o seu próprio dialeto SQL? Devemos abandonar o SQL em definitivo e adotar uma tecnologia diferente de banco de dados, como o sistema de banco de dados orientado para objetos? O debate continua, m agora a solução chamada mapeamento objeto/relacional (ORM object/relational mapping) tem uma grande aceitação. (BAUER e KING, 2007, p.4)
9 9/97 JPA Java Persistence API Especificação Providers Hibernate EclipseLink OpenJPA TopLink
10 10/97 Hibernate O Hibernate é um projeto ambicioso que visa ser uma solução completa para o problema de gerenciar dados persistentes em Java. Ele medeia a interação da aplicação com o banco de dados relacional, deixando o desenvolvedor livre para se concentrar no problema de negócio que tem n mãos. O Hibernate é uma solução não intrusiva. Não é necessário que você siga muit d regr e dos padrões de projeto específicos do Hibernate quanto estiver escrevendo a sua lógica de negócio e su clses persistentes; é por essa razão que o Hibernate se integra tranquilamente à maioria d nov e existentes aplicações e não necessita de mudanç incômod ao resto da aplicação. (BAUER e KING, 2007, p.4)
11 11/97 Hibernate Produtivade Multibanco Sem SQL Criteria + JPQL (HQL) Cache Envers Auditoria Hibernate Statistics
12 12/97 Fetching Clse Produto
13 13/97 Fetching Eager
14 14/97 Fetching Eager produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome produto0_.nome nome1_2_, nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id tipoprodut2_.id id2_1_, id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on produto0_.tipo_id=tipoprodut2_.id on produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?
15 15/97 Fetching Mapeamento Lazy
16 16/97 Fetching Lazy
17 17/97 Fetching Lazy produtofet0_.id produtofet0_.id id1_0_, id1_0_, produtofet0_.descricao produtofet0_.descricao descricao1_0_, descricao1_0_, produtofet0_.fabricante_id produtofet0_.fabricante_id fabricante5_1_0_, fabricante5_1_0_, produtofet0_.nome nome1_0_, produtofet0_.nome nome1_0_, produtofet0_.tipo_id produtofet0_.tipo_id tipo6_1_0_, tipo6_1_0_, produtofet0_.valor valor1_0_ produtofet0_.valor valor1_0_ public.produto public.produtoprodutofet0_ produtofet0_ produtofet0_.id=? produtofet0_.id=?
18 18/97 Fetching Lazy fabricante0_.id fabricante0_.id id0_0_, id0_0_, fabricante0_.nome fabricante0_.nome nome0_0_ nome0_0_ public.fabricante public.fabricantefabricante0_ fabricante0_ fabricante0_.id=? fabricante0_.id=?
19 19/97 Fetching Lazy tipoprodut0_.id tipoprodut0_.id id2_0_, id2_0_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_0_ descricao2_0_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_ tipoprodut0_.id=? tipoprodut0_.id=?
20 20/97 Collection Fetching Clse Fabricante
21 21/97 Collection Fetching Lazy fabricante0_.id fabricante0_.id id0_0_, id0_0_, fabricante0_.nome fabricante0_.nome nome0_0_ nome0_0_ public.fabricante public.fabricantefabricante0_ fabricante0_ fabricante0_.id=? fabricante0_.id=?
22 22/97 Collection Fetching Lazy produtos0_.fabricante_id produtos0_.fabricante_id fabricante5_0_2_, fabricante5_0_2_, produtos0_.id id2_, produtos0_.id id2_, produtos0_.id produtos0_.id id1_1_, id1_1_, produtos0_.descricao produtos0_.descricao descricao1_1_, descricao1_1_, produtos0_.fabricante_id produtos0_.fabricante_id fabricante5_1_1_, fabricante5_1_1_, produtos0_.nome nome1_1_, produtos0_.nome nome1_1_, produtos0_.tipo_id produtos0_.tipo_id tipo6_1_1_, tipo6_1_1_, produtos0_.valor valor1_1_, produtos0_.valor valor1_1_, tipoprodut1_.id tipoprodut1_.id id2_0_, id2_0_, tipoprodut1_.descricao tipoprodut1_.descricao descricao2_0_ descricao2_0_ public.produto public.produtoprodutos0_ produtos0_ inner join inner join public.tipo_produto public.tipo_produtotipoprodut1_ tipoprodut1_ on produtos0_.tipo_id=tipoprodut1_.id on produtos0_.tipo_id=tipoprodut1_.id produtos0_.fabricante_id=? produtos0_.fabricante_id=?
23 23/97 Collection Fetching Mapeamento Eager
24 24/97 Collection Fetching Eager
25 25/97 Collection Fetching Eager Hibernate: Hibernate: fabricante0_.id fabricante0_.id id0_2_, id0_2_, fabricante0_.nome fabricante0_.nome nome0_2_, nome0_2_, produtos1_.fabricante_id produtos1_.fabricante_id fabricante5_0_4_, fabricante5_0_4_, produtos1_.id produtos1_.id id4_, id4_, produtos1_.id produtos1_.id id1_0_, id1_0_, produtos1_.descricao produtos1_.descricao descricao1_0_, descricao1_0_, produtos1_.fabricante_id produtos1_.fabricante_id fabricante5_1_0_, fabricante5_1_0_, produtos1_.nome nome1_0_, produtos1_.nome nome1_0_, produtos1_.tipo_id produtos1_.tipo_id tipo6_1_0_, tipo6_1_0_, produtos1_.valor produtos1_.valor valor1_0_, valor1_0_, tipoprodut2_.id tipoprodut2_.id id2_1_, id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.fabricante public.fabricantefabricante0_ fabricante0_ left leftouter outerjoin join public.produto public.produtoprodutos1_ produtos1_ on fabricante0_.id=produtos1_.fabricante_id on fabricante0_.id=produtos1_.fabricante_id left leftouter outerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onprodutos1_.tipo_id=tipoprodut2_.id produtos1_.tipo_id=tipoprodut2_.id fabricante0_.id=? fabricante0_.id=?
26 26/97 Cache de 1º Nível 1º Exemplo
27 27/97 produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome nome1_2_, produto0_.nome nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor produto0_.valor valor1_2_, valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id tipoprodut2_.id id2_1_, id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on produto0_.fabricante_id=fabricante1_.id on produto0_.fabricante_id=fabricante1_.id inner join inner join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on produto0_.tipo_id=tipoprodut2_.id on produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=? Cache de 1º Nível 1º Exemplo
28 28/97 Cache de 1º Nível 1º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de1º1ºnível Nível
29 29/97 Cache de 1º Nível 1º Exemplo HhCode HhCodepri. pri.produto: produto:
30 30/97 Cache de 1º Nível 1º Exemplo HhCode HhCodeseg. seg.produto: produto:
31 31/97 Cache de 1º Nível 1º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:true true
32 32/97 Cache de 1º Nível 1º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:true true
33 33/97 Cache de 1º Nível 2º Exemplo
34 34/97 Cache de 1º Nível 2º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome nome1_2_, produto0_.nome nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner innerjoin join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?
35 35/97 Cache de 1º Nível 2º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome nome1_2_, produto0_.nome nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner innerjoin join public.fabricante public.fabricantefabricante1_ fabricante1_ on produto0_.fabricante_id=fabricante1_.id on produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?
36 36/97 Cache de 1º Nível 2º Exemplo HhCode HhCodepri. pri.usuário: usuário:
37 37/97 Cache de 1º Nível 2º Exemplo HhCode HhCodeseg. seg.usuário: usuário:
38 38/97 Cache de 1º Nível 2º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:false false
39 39/97 Cache de 2º Nível Providers EhCache OSCache Terracotta Infinispan
40 40/97 Cache de 2º Nível Persistence.xml
41 41/97 Cache de 2º Nível Mapeamento Cache
42 42/97 Cache de 2º Nível Estratégi READ_ONLY - Esta é a estratégia mais restritiva, indicada para entidades que são apen lid e nunca modificad pela aplicação. READ_WRITE - A estratégia leitura e escrita é a mais abrangente e suporta escrita mais frequente, garantido que a última versão do cache é a mesma do banco. NONSTRICT_READ_WRITE - Indicada para objetos que são raramente atualizados e que têm probabilidade de atualizações simultâne muito baix e é a mais comum. Co muit atualizações ocorram "simultaneamente" pode ser que a última versão comitada no banco não seja a mesma que acabou ficando no seu cache. TRANSACTIONAL - É totalmente transacional, com suporte a caches distribuídos. Poucos providers oferecem esse suporte. O provider EhCache não tem suporte a esta estratégia.
43 43/97 Cache de 2º Nível 1º Exemplo
44 44/97 Cache de 2º Nível 1º Exemplo tipoprodut0_.id tipoprodut0_.id id2_0_, id2_0_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_0_ descricao2_0_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_ tipoprodut0_.id=? tipoprodut0_.id=?
45 45/97 Cache de 2º Nível 1º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de2º2ºnível Nível
46 46/97 Cache de 2º Nível 1º Exemplo HhCode HhCodepri. pri.tipo tipode deproduto: produto:
47 47/97 Cache de 2º Nível 1º Exemplo HhCode HhCodeseg. seg.tipo tipode deproduto: produto:
48 48/97 Cache de 2º Nível 1º Exemplo Resultado Resultadoda dacomparação comparaçãoequals: equals:false false
49 49/97 Cache de 2º Nível 2º Exemplo
50 50/97 Cache de 2º Nível 2º Exemplo tipoprodut0_.id tipoprodut0_.id id2_, id2_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_ descricao2_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_
51 51/97 Cache de 2º Nível 2º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de2º2ºnível Nível
52 52/97 Cache de 2º Nível 2º Exemplo Não Nãofaz fazconsulta consultano nobd. BD. AAEntidade esta no Cache de Entidade esta no Cache de2º2ºnível Nível
53 53/97 DynamicUpdate 1º Exemplo
54 54/97 DynamicUpdate 1º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome produto0_.nome nome1_2_, nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?
55 55/97 DynamicUpdate 1º Exemplo update update public.produto public.produto set set descricao=?, descricao=?, fabricante_id=?, fabricante_id=?, nome=?, nome=?, tipo_id=?, tipo_id=?, valor=? valor=? id=? id=?
56 56/97 DynamicUpdate Mapeamento
57 57/97 DynamicUpdate 2º Exemplo
58 58/97 DynamicUpdate 2º Exemplo produto0_.id produto0_.id id1_2_, id1_2_, produto0_.descricao produto0_.descricao descricao1_2_, descricao1_2_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_2_, fabricante5_1_2_, produto0_.nome produto0_.nome nome1_2_, nome1_2_, produto0_.tipo_id produto0_.tipo_id tipo6_1_2_, tipo6_1_2_, produto0_.valor valor1_2_, produto0_.valor valor1_2_, fabricante1_.id fabricante1_.id id0_0_, id0_0_, fabricante1_.nome fabricante1_.nome nome0_0_, nome0_0_, tipoprodut2_.id id2_1_, tipoprodut2_.id id2_1_, tipoprodut2_.descricao tipoprodut2_.descricao descricao2_1_ descricao2_1_ public.produto public.produtoproduto0_ produto0_ inner join inner join public.fabricante public.fabricantefabricante1_ fabricante1_ on onproduto0_.fabricante_id=fabricante1_.id produto0_.fabricante_id=fabricante1_.id inner innerjoin join public.tipo_produto public.tipo_produtotipoprodut2_ tipoprodut2_ on onproduto0_.tipo_id=tipoprodut2_.id produto0_.tipo_id=tipoprodut2_.id produto0_.id=? produto0_.id=?
59 59/97 DynamicUpdate 2º Exemplo update update public.produto public.produto set set nome=? nome=? id=? id=?
60 60/97 Query com NEW 1º Exemplo
61 61/97 Query com NEW 1º Exemplo
62 62/97 Query com NEW 1º Exemplo produto0_.id produto0_.id id1_, id1_, produto0_.descricao produto0_.descricao descricao1_, descricao1_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_, fabricante5_1_, produto0_.nome nome1_, produto0_.nome nome1_, produto0_.tipo_id produto0_.tipo_id tipo6_1_, tipo6_1_, produto0_.valor valor1_ produto0_.valor valor1_ public.produto public.produtoproduto0_ produto0_ order by order by produto0_.nome produto0_.nome
63 63/97 Query com NEW 2º Exemplo
64 64/97 Query com NEW 2º Exemplo
65 65/97 Query com NEW 2º Exemplo produto0_.id produto0_.id col_0_0_, col_0_0_, produto0_.nome produto0_.nome col_1_0_ col_1_0_ public.produto public.produtoproduto0_ produto0_ order by order by produto0_.nome produto0_.nome
66 66/97 Batch Update 1º Exemplo
67 67/97 Batch Update 1º Exemplo Hibernate: Hibernate: produto0_.id produto0_.id id1_, id1_, produto0_.descricao produto0_.descricao descricao1_, descricao1_, produto0_.fabricante_id produto0_.fabricante_id fabricante5_1_, fabricante5_1_, produto0_.nome nome1_, produto0_.nome nome1_, produto0_.tipo_id produto0_.tipo_id tipo6_1_, tipo6_1_, produto0_.valor valor1_ produto0_.valor valor1_ public.produto public.produtoproduto0_ produto0_ Para Paracada cadaitem itemdo doresultado resultadoacima acimafaz: faz: Hibernate: Hibernate: fabricante0_.id fabricante0_.id id0_0_, id0_0_, fabricante0_.nome fabricante0_.nome nome0_0_ nome0_0_ public.fabricante public.fabricantefabricante0_ fabricante0_ fabricante0_.id=? fabricante0_.id=? Hibernate: Hibernate: tipoprodut0_.id tipoprodut0_.id id2_0_, id2_0_, tipoprodut0_.descricao tipoprodut0_.descricao descricao2_0_ descricao2_0_ public.tipo_produto public.tipo_produtotipoprodut0_ tipoprodut0_ tipoprodut0_.id=? tipoprodut0_.id=?...
68 68/97 Batch Update 1º Exemplo Executa Executapara paracada cadaitem itemdo doresultado resultadoda dalista. lista. Hibernate: Hibernate: update update public.produto public.produto set set valor=? valor=? Id=? Id=?...
69 69/97 Batch Update 2º Exemplo
70 70/97 Batch Update 2º Exemplo update update public.produto public.produto set set valor=valor*? valor=valor*?
71 71/97 Batch... Batch Insert Batch Delete
72 72/97 Binários
73 73/97 Binários
74 74/97 Binários
75 75/97 Binários processo0_.id processo0_.id id6_0_, id6_0_, processo0_.datadistribuicao processo0_.datadistribuicao datadist2_6_0_, datadist2_6_0_, processo0_.numero numero6_0_ processo0_.numero numero6_0_ public.processo public.processoprocesso0_ processo0_ processo0_.id=? processo0_.id=?
76 76/97 Binários movimentos0_.processo_id movimentos0_.processo_id processo5_6_1_, processo5_6_1_, movimentos0_.id id1_, movimentos0_.id id1_, movimentos0_.id movimentos0_.id id8_0_, id8_0_, movimentos0_.data movimentos0_.data data8_0_, data8_0_, movimentos0_.descricao movimentos0_.descricao descricao8_0_, descricao8_0_, movimentos0_.numero numero8_0_, movimentos0_.numero numero8_0_, movimentos0_.processo_id movimentos0_.processo_id processo5_8_0_ processo5_8_0_ public.movimento public.movimentomovimentos0_ movimentos0_ movimentos0_.processo_id=? movimentos0_.processo_id=?
77 77/97 Binários AAcada cadaiteração iteraçãodo dofor FORdo domovimento movimentofaz: faz: arquivos0_.movimento_id arquivos0_.movimento_id movimento7_8_1_, movimento7_8_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo arquivos0_.conteudo conteudo7_0_, conteudo7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo3_7_0_, conteudo3_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data4_7_0_, data4_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquivo public.arquivoarquivos0_ arquivos0_ arquivos0_.movimento_id=? arquivos0_.movimento_id=?
78 78/97 Binários Somente Somentequando quandooousuário usuárioclicar clicar neste link que vamos mostrar o conteúdo neste link que vamos mostrar o conteúdo do doarquivo. arquivo.????????
79 79/97 Binários
80 80/97 Binários
81 81/97 Binários
82 82/97 Binários
83 83/97 Binários processo0_.id processo0_.id id6_0_, id6_0_, processo0_.datadistribuicao processo0_.datadistribuicao datadist2_6_0_, datadist2_6_0_, processo0_.numero numero6_0_ processo0_.numero numero6_0_ public.processo public.processoprocesso0_ processo0_ processo0_.id=? processo0_.id=?
84 84/97 Binários movimentos0_.processo_id movimentos0_.processo_id processo5_6_1_, processo5_6_1_, movimentos0_.id id1_, movimentos0_.id id1_, movimentos0_.id movimentos0_.id id8_0_, id8_0_, movimentos0_.data movimentos0_.data data8_0_, data8_0_, movimentos0_.descricao movimentos0_.descricao descricao8_0_, descricao8_0_, movimentos0_.numero numero8_0_, movimentos0_.numero numero8_0_, movimentos0_.processo_id movimentos0_.processo_id processo5_8_0_ processo5_8_0_ public.movimento public.movimentomovimentos0_ movimentos0_ movimentos0_.processo_id=? movimentos0_.processo_id=?
85 85/97 Binários AAcada cadaiteração iteraçãodo dofor FORdo domovimento movimentofaz: faz: arquivos0_.movimento_id arquivos0_.movimento_id movimento7_11_1_, movimento7_11_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo_id arquivos0_.conteudo_id conteudo6_7_0_, conteudo6_7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo2_7_0_, conteudo2_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data3_7_0_, data3_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquiv0 public.arquiv0arquivos0_ arquivos0_ arquivos0_.movimento_id=? arquivos0_.movimento_id=?
86 86/97 Query com FETCH
87 87/97 Query com FETCH process0x0_.id process0x0_.id id4_0_, id4_0_, movimentos1_.id movimentos1_.id id9_1_, id9_1_, process0x0_.datadistribuicao process0x0_.datadistribuicao datadist2_4_0_, datadist2_4_0_, process0x0_.numero numero4_0_, process0x0_.numero numero4_0_, movimentos1_.data movimentos1_.data data9_1_, data9_1_, movimentos1_.descricao movimentos1_.descricao descricao9_1_, descricao9_1_, movimentos1_.numero numero9_1_, movimentos1_.numero numero9_1_, movimentos1_.processo_id movimentos1_.processo_id processo5_9_1_, processo5_9_1_, movimentos1_.processo_id processo5_4_0, movimentos1_.processo_id processo5_4_0, movimentos1_.id movimentos1_.id id0 id0 public.process0 public.process0process0x0_ process0x0_ left outer join left outer join public.moviment0 public.moviment0movimentos1_ movimentos1_ on process0x0_.id=movimentos1_.processo_id on process0x0_.id=movimentos1_.processo_id process0x0_.id=? process0x0_.id=?
88 88/97 Query com FETCH Agora Agoranão nãofaz faznada, nada,jájácarregou carregouos os movimentos na consulta anterior. movimentos na consulta anterior.
89 89/97 Query com FETCH AAcada cadaiteração iteraçãodo dofor FORdo domovimento movimentofaz: faz: arquivos0_.movimento_id arquivos0_.movimento_id movimento7_11_1_, movimento7_11_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo_id arquivos0_.conteudo_id conteudo6_7_0_, conteudo6_7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo2_7_0_, conteudo2_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data3_7_0_, data3_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquiv0 public.arquiv0arquivos0_ arquivos0_ arquivos0_.movimento_id=? arquivos0_.movimento_id=?
90 90/97 BatchSize
91 91/97 BatchSize
92 92/97 BatchSize
93 93/97 BatchSize process0x0_.id process0x0_.id id4_0_, id4_0_, movimentos1_.id movimentos1_.id id9_1_, id9_1_, process0x0_.datadistribuicao process0x0_.datadistribuicao datadist2_4_0_, datadist2_4_0_, process0x0_.numero numero4_0_, process0x0_.numero numero4_0_, movimentos1_.data movimentos1_.data data9_1_, data9_1_, movimentos1_.descricao movimentos1_.descricao descricao9_1_, descricao9_1_, movimentos1_.numero numero9_1_, movimentos1_.numero numero9_1_, movimentos1_.processo_id movimentos1_.processo_id processo5_9_1_, processo5_9_1_, movimentos1_.processo_id processo5_4_0, movimentos1_.processo_id processo5_4_0, movimentos1_.id movimentos1_.id id0 id0 public.process0 public.process0process0x0_ process0x0_ left outer join left outer join public.moviment0 public.moviment0movimentos1_ movimentos1_ on process0x0_.id=movimentos1_.processo_id on process0x0_.id=movimentos1_.processo_id process0x0_.id=? process0x0_.id=?
94 94/97 BatchSize Agora Agoranão nãofaz faznada, nada,jájácarregou carregouos os movimentos na consulta anterior. movimentos na consulta anterior.
95 95/97 BatchSize arquivos0_.movimento_id arquivos0_.movimento_id movimento7_11_1_, movimento7_11_1_, arquivos0_.id id1_, arquivos0_.id id1_, arquivos0_.id arquivos0_.id id7_0_, id7_0_, arquivos0_.conteudo_id arquivos0_.conteudo_id conteudo6_7_0_, conteudo6_7_0_, arquivos0_.conteudo_tipo arquivos0_.conteudo_tipo conteudo2_7_0_, conteudo2_7_0_, arquivos0_.data_verificacao_sinatura arquivos0_.data_verificacao_sinatura data3_7_0_, data3_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.movimento_id movimento7_7_0_, arquivos0_.nome arquivos0_.nome nome7_0_, nome7_0_, arquivos0_.signatario arquivos0_.signatario signatario7_0_ signatario7_0_ public.arquiv0 public.arquiv0arquivos0_ arquivos0_ arquivos0_.movimento_id arquivos0_.movimento_idinin( (?,?,?,?,?,?,?,?,?? ))
96 96/97 Utilizar A vontade Hibernate Statistics Paginação query.setfirstresult() - Offset query.setmaxresults() - Limit Pool de conexões Aplication server Ex: JBOSS AS C3P0 Com cautela Sql nativo - Procedures Desnormalização
97 97/97 Obrigado :)
Persistência de Dados em Java com JPA e Toplink
Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida
Leia maisPersistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com
Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco
Leia maisUma Abordagem sobre Mapeamento Objeto Relacional com Hibernate
Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,
Leia maisFerramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl
Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração
Leia maisJPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education
JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências
Leia maisAula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)
Persistência com JDBC e JPA Aula 5 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Quem é sábio procura aprender, mas os tolos estão satisfeitos com a sua própria ignorância..
Leia maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
Leia maisMAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Leia maisProcedimentos para Reinstalação do Sisloc
Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...
Leia maisUniversidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2
Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de
Leia maisALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API
ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagobalduino77@gmail.com
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisDisciplina de Banco de Dados Parte V
Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após
Leia maisHIBERNATE EM APLICAÇÃO JAVA WEB
HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados
Leia maisPersistindo dados com TopLink no NetBeans
Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos
Leia maisGuia de Atualização TOTVS Segurança e Acesso 12.1
06/2015 Sumário 1 Prefácio... 3 1.2 Finalidade... 3 1.3 Público Alvo... 3 1.4 Organização deste Guia... 3 1.5 Documentações Importantes... 3 2 Atualização... 4 2.1 Executando o Updater de Atualização...
Leia mais1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)
Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:
Leia maisProcedimentos para Instalação do Sisloc
Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação
Leia maisUNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.
UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL Java Peristence API 1.0 Salvador-Ba Março/2009 1 RAMON PEREIRA LOPES Java Peristence API
Leia maisVVS Sistemas (21)3405-9500
Índice Assunto Página Apresentação... 2 Funcionamento do Módulo... 3 Instalação do Módulo... 4 Configurações no C-Plus NF-e... 9 Acessando os arquivos... 11 Apresentação Apresentamos o módulo C-Plus NF-e
Leia maisArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02
ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA
Leia maisINTRODUÇÃO. Diferente de Bando de Dados
INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.
Leia maisFundamentos dos Sistemas de Informação Organização de Dados e Informações
Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação
Leia maisSISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS
SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica
Leia maisFábrica de Software 29/04/2015
Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se
Leia maisProcessamento de Dados
Processamento de Dados Execução de Programas Os computadores não entendem nada além de comandos, dados e endereços escritos em linguagem binária, também chamada de linguagem de baixo nível. Ela utiliza
Leia maisHoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é
Leia maisruirossi@ruirossi.pro.br
Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos
Leia maisAula 2 - Revisão de JPA (Java Persistence API)
Aula 2 - Revisão de JPA (Java Persistence API) Professor: Ricardo Luis dos Santos IFSUL 2015 Tabela para Revisão Assunto (JPA) Interesse? 1 Vantagens e Desvantagens 4 2 Principais Conceitos 7 3 Anotações
Leia maisSQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec
SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisBanco de Dados Oracle. Faculdade Pernambucana - FAPE
Faculdade Pernambucana - FAPE Visão Geral dos Componentes Principais da Arquitetura Oracle Servidor Oracle É o nome que a Oracle deu ao seu SGBD. Ele consiste de uma Instância e um Banco de Dados Oracle.
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia maisPROCEDIMENTOS ARMAZENADOS (Stored Procedures)
PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisFAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
Leia maisA lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisComunidade de Suporte e Feedback
Comunidade de Suporte e Feedback O objetivo deste complemento é criar um canal simples, barato e eficiente de suporte aos clientes, onde eles possam na maioria das vezes aproveitar dúvidas já respondidas,
Leia maisManual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011
Manual de backup do banco de dados PostgreSQL - Versão 2 Setembro-2011 E-Sales Oobj Tecnologia da Informação Av. D, n. 246, Qd. A-04, Lt.02, Ap. 02, Jardim Goiás Goiânia/GO, CEP: 74805-090 Fone: (62) 3086-5750
Leia maisArquitetura de Banco de Dados
Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group
Leia maisMicrosoft Access XP Módulo Um
Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo
Leia maisRevisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL
Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014
Leia maisHibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
Hibernate Mapeamento Objeto-Relacional Baseado nas notas de aula de João Dalyson e Raphaela Galhardo Fernandes Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender MOR usando Hibernate
Leia maisComparativo de desempenho do Pervasive PSQL v11
Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive
Leia maisTreinamento sobre SQL
Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na
Leia maisBI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.
16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto
Leia maisProcedimentos para Instalação do SISLOC
Procedimentos para Instalação do SISLOC Sumário 1. Informações Gerais...3 2. Instalação do SISLOC...3 Passo a passo...3 3. Instalação da Base de Dados SISLOC... 11 Passo a passo... 11 4. Instalação de
Leia maisSQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL
SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens
Leia maisResolvendo objeto-relacional impedance mismatch com hibernate
Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter
Leia maisProf. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br
Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Leia maisProgramação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisManipulação de Banco de Dados com Java 1. Objetivos
Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A
Leia maisBanco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL
Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas
Leia maisDisciplina: Unidade I: Prof.: E-mail: Período:
Encontro 02 Disciplina: Sistemas de Banco de Dados Unidade I: Introdução aos Sistemas de Banco de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 1. Introdução aos Sistemas
Leia maisIntrodução Banco de Dados
Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em
Leia maisUNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta
Leia maisGerenciamento de software como ativo de automação industrial
Gerenciamento de software como ativo de automação industrial INTRODUÇÃO Quando falamos em gerenciamento de ativos na área de automação industrial, fica evidente a intenção de cuidar e manter bens materiais
Leia maisConfig. do módulo MSA com dispositivos REP.
Config. do módulo MSA com dispositivos REP. 23/05/2011 Config. do módulo MSA com disp. REP. Sumário Sumário... 2 1 Configurando os novos serviços para os REP... 3 1.1 Configurando o devices.xml... 3 1.2
Leia maisProgramação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.
Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL Prof. MSc. Hugo Souza Na última aula falamos um pouco sobre as ferramentas
Leia maisFeature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Leia maisProgramação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
Leia mais04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância
Leia mais*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional.
Arquitetura Oracle e seus componentes Hoje irei explicar de uma forma geral a arquitetura oracle e seus componentes. Algo que todos os DBA s, obrigatoriamente, devem saber de cabo a rabo. Vamos lá, e boa
Leia maisAuditoria Avançada de Persistência com Hibernate, JPA e Envers
a r t i g o José Yoshiriro Ajisaka Ramos (jyoshiriro@gmail.com): bacharel em Sistema de Informação (IESAM). Mestrando em Ciência da Computação (UFPA). Instrutor na Equilibrium Web e na UAB. Engenheiro
Leia maisTuning para Desenvolvedores DB2
Tuning para Desenvolvedores DB2 Perallis IT Innovation Soluções em Armazenamento de dados www.perallis.com contato@perallis.com +55 19 3203-1002 SOBRE ESTE CURSO PÚBLICO-ALVO O curso Tuning para Desenvolvedores
Leia maisExercícios de Lógica Exercícios de Fixação 08
Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa
Leia maisSEU NEGÓCIO ONLINE EM 4 PASSOS
SEU NEGÓCIO ONLINE EM 4 PASSOS A quem se destina este passo-a-passo? Esta instrução passo-a-passo foi criada pensando nos pequenos empreendedores que querem iniciar seu negócio na internet - ou aqueles
Leia maisBanco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011
Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva
Leia maisSAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00
SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 Conteúdo 1. INTRODUÇÃO...3 1.1 CONVENÇÕES, TERMOS E ABREVIAÇÕES... 3 1.1.1 Identificação dos Requisitos... 3 1.1.2 Prioridades
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II
UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de
Leia maisUSANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE
USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes
Leia mais14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan
Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,
Leia maisFICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção
Título: SQL Magazine Notas de Título Feita para Desenvolvedores de Software e DBAs. Descrição Geral: Revista focada em banco de dados, análise, projeto e modelagem. Editor(es): Diretor responsável Gladstone
Leia maisManual do Instar Mail v2.0
Manual do Instar Mail v2.0 Sumário Conteúdo Menu Principal... 2 Menu Cliente... 3 Pagina Categorias do Instar-Mail... 4 Importação... 4 Campanhas... 8 Cadastramento de campanhas do Instar-Mail... 9 Ações
Leia maisProcesso de Controle das Reposições da loja
Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisIntrodução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos
Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária
Leia maisFaculdade Lourenço Filho - ENADE 2011-1
1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode
Leia maisTreinamento. DBA Oracle 11g. Duração: 120 horas
Treinamento DBA Oracle 11g Duração: 120 horas Neste curso no primeiro módulo (Introdução ao Oracle 11g SQL e PL_SQL) é oferecido um curso introdutório à tecnologia do banco de dados Oracle 11g. Também
Leia maisEtc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44
Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Leia maisAula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)
Persistência com JDBC e JPA Aula 4 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) A sabedoria não se transmite, é preciso que nós a descubramos fazendo uma caminhada que ninguém
Leia maisFundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)
Fundamentos da Plataforma Java EE Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como a plataforma Java EE trata o SERVIÇO DE NOMES Serviço de Nomes Num sistema distribuído os componentes necessitam
Leia maisPrática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Leia maisAlgoritmos e Estruturas de Dados II. Trabalho Prático 2
Algoritmos e Estruturas de Dados II Entrega: 24/09/08 Devolução: 15/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Você foi contratado pela XOL X Online para desenvolver
Leia mais? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER
Leia mais