PostgreSQL e porque você não precisa de NoSQL. Matheus de Oliveira <matheus.oliveira@dextra.com.br>
|
|
- Ilda de Mendonça Castelhano
- 8 Há anos
- Visualizações:
Transcrição
1 PostgreSQL e porque você não precisa de NoSQL Matheus de Oliveira <matheus.oliveira@dextra.com.br>
2 Matheus de Oliveira DBA PostgreSQL consultorias e suportes 24x7/8x5 Instrutor dos treinamentos PostgreSQL Concepção, desenvolvimento e suporte à produção
3 Matheus de Oliveira Mais de 15 anos trabalhando de suporte e consultoria PostgreSQL Crafting Software, Transforming Business Instrutor dos treinamentos PostgreSQL Concepção, desenvolvimento e suporte à produção
4 Matheus de Oliveira 10 anos e mais de 10 mil profissionais capacitados em todo o Brasil. Aprenda com quem faz na prática Mais de 15 anos trabalhando de suporte e consultoria PostgreSQL Crafting Software, Transforming Business Concepção, desenvolvimento e suporte à produção
5 Matheus de Oliveira 10 anos e mais de 10 mil profissionais capacitados em todo o Brasil. Aprenda com quem faz na prática Mais de 15 anos trabalhando de suporte e consultoria PostgreSQL Crafting Software, Transforming Business SaaS para análise e monitoramento PostgreSQL Facilitando a vida do DBA
6 Para pensar... A melhor solução para o seu problema agora VS A melhor solução de todas, à todo custo 3 / 48
7 Para pensar... A melhor solução para o seu problema agora VS A melhor solução de todas, à todo custo 3 / 48
8 Para pensar... Cuidado com o que você pensa ser moderno. Armazenamentos chave/valor e documentos datam de antes das teorias de bancos relacionais. A teoria relacional é baseada numa forte e sólida estrutura, e revolucionou o armazenamento de processamento de dados. Abrir mão disso por completo é regredir. 4 / 48
9 Bancos de dados relacionais e NoSQLs Bancos relacionais: Baseados no modelo relacional Transações ACID Atomicidade Consistência Isolamento Durabilidade 5 / 48 Interface de consulta padrão SQL Armazenamento em relações estrutura acoplada... Bancos NoSQL: Transações BASE: Basic Availability Soft-state Eventual consistency Interface de consulta própria Schemaless: Chave-Valor Documento Grafos... Performance como prioridade In-place update Operações assíncronas...
10 PostgreSQL one database to rule them all FOSS Free Open Source Software Quase 30 anos de experiência Robustez, confiabilidade, maturidade Diversas funcionalidades, e novas a cada versão Forte extensibilidade 6 / 48
11 Você não precisa de NoSQL para: chave/valor
12 hstore Armazenamento chave/valor Presente como uma contrib do PostgreSQL desde a versão 8.3 (2008) Armazenamento de chaves/valores como atributo (coluna) de uma tabela Diversos operadores para manipulação, navegação e filtragem (busca) Indexação B-tree, GIN e GIST Exemplo: SELECT * FROM movies WHERE ( moviedata -> imdb_rate ) :: int > 4 AND moviedata -> alternate_title = Black Mask ; 8 / 48
13 hstore Armazenamento chave/valor Limitações: Aceita apenas texto, tanto para chave quanto para valor Não aceita valores aninhados (hstore de hstore) Alternativas NoSQL: Redis Riak MemcacheDB Berkeley DB Dynamo... 9 / 48
14 Você não precisa de NoSQL para: documentos JSON
15 JSON 2012 versão 9.2 tipo json, basicamente text com validações 2013 versão 9.3 ainda json, mas com funções fantásticas (a grande adoção começa) 2014 versão 9.4 (hoje em beta2) tipo jsonb, binário (estrutura interna baseada no hstore), indexação GIN ultra-blaster-rápido 11 / 48
16 JSON CREATE TABLE booksdata ( title text PRIMARY KEY, booksdata jsonb ); 12 / 48
17 JSON SELECT title, bookdata ->> current_edition AS edition, bookdata #> {" publication_info ", 0, " isbn "} AS isbn FROM booksdata WHERE > { " publication_info " : [{" publisher ": " Avon "} ] } :: jsonb ORDER BY bookdata #> {" publication_info ", 0, " price "} DESC ; 13 / 48
18 JSON Ah!!! E eu comentei que é indexado? 14 / 48
19 JSON Ah!!! E eu comentei que é indexado? DE VERDADE CREATE INDEX booksdata_json_idx ON booksdata USING GIN ( booksdata ); 14 / 48
20 JSON Ah!!! E eu comentei que é indexado? DE VERDADE CREATE INDEX booksdata_json_idx ON booksdata USING GIN ( booksdata ); GIN to the rescue!!! 14 / 48
21 JSON Limitações: O tipo json é armazenado em texto e possui fraca indexação, mas sua evolução, o tipo jsonb é armazenado em binário Diferente do json, o jsonb possui as limitações: não armazena a ordem original das chaves (elas sempre serão mostradas em ordem lexicográfica) não aceita chaves repetidas (basicamente json armazena exatamente como você passa, mas jsonb faz um processamento extra) Eu diria que hoje, o PostgreSQL possui o mais avançado mecanismo de indexação para JSON (jsonb) dos bancos de dados open sources (de todos? provavelmente) 15 / 48
22 JSON Alguns NoSQLs orientado à documentos: MongoDB CouchDB Cassandra SimpleDB / 48
23 Você não precisa de NoSQL para: Full Text Search
24 Full Text Search FTS nativo no PostgreSQL (tsvector, tsquery,...) SELECT * FROM articles t( fts ) WHERE tsquery PostgreSQL & NewSQL ORDER BY ts_ rank ( fts, tsquery PostgreSQL & NewSQL ); Busca por similaridade (contrib pg trgm) SELECT set_limit (0.2) ; SELECT *, title <- > NewSQL AS sml FROM articles WHERE title % NewSQL ORDER BY sml DESC LIMIT 10; 18 / 48
25 Full Text Search FTS nativo no PostgreSQL (tsvector, tsquery,...) SELECT * FROM articles t( fts ) WHERE tsquery PostgreSQL & NewSQL ORDER BY ts_ rank ( fts, tsquery PostgreSQL & NewSQL ); Busca por similaridade (contrib pg trgm) SELECT set_limit (0.2) ; SELECT *, title <- > NewSQL AS sml FROM articles WHERE title % NewSQL ORDER BY sml DESC LIMIT 10; Claro, tudo devidamente indexado... GIN and GIST rocks 18 / 48
26 Full Text Search Limitações: Não processa documentos como PDF, DOC, etc. Até a versão 9.4 performance mais baixa para algumas operações (como ordenação por maior similaridade) GIN evoluiu na versão 9.4 Alguns NoSQLs com FTS: Solr Lucene Elastic Search Sphinx e também MySQL 19 / 48
27 Você não precisa de NoSQL para: grafos e hierarquias
28 Consultas em grafos e hierarquias Pode ser facilmente realizada utilizando consultas recursivas O desempenho depende do filtro e profundidade da navegação Exemplo, catálogo de roles (usuários/grupos) do PostgreSQL: WITH RECURSIVE roles AS ( SELECT r. oid AS roleid, r. rolname, 1 AS level, array [ r. rolname ] AS path FROM pg_authid r WHERE r. oid NOT IN ( SELECT m. member FROM pg_ auth_ members m) UNION ALL SELECT r. oid, r. rolname, p. level + 1, p. path r. rolname FROM pg_ auth_ members m INNER JOIN pg_authid r ON m. member = r. oid INNER JOIN roles p ON m. roleid = p. roleid ) SELECT repeat (, level -1) rolname FROM roles ORDER BY path ; 21 / 48
29 Consultas em grafos e hierarquias Resultado: administrativo comercial carla maria financeiro ana paulo ti beatriz julio matheus / 48
30 Consultas em grafos e hierarquias Limitações: Um pouco complexo, mas você acostuma Performance dependente principalmente da altura Não muito bem preparado para busca em espaços de buscas grandes ou estruturas de grafos complexas Bancos NoSQL orientados à grafos: Neo4j OrientDB / 48
31 Você não precisa de NoSQL para: operações assíncronas
32 Operações assíncronas Quando não precisamos garantir durabilidade em tempo real: Habilite o parâmetro synchronous commit: SET synchronous_commit TO off ; Para dados transientes: UNLOGGED TABLES Quando precisamos de operações não bloqueantes: PQsendQuery, PQsendPrepare, PQconsumeInput, PQisBusy,... Processamento de mensagens: Sincronia pode ser atingida com auxílio de advisory locks Troca de mensagens (ativação, pull/push, sender/receiver, etc.) com LISTEN/NOTIFY 25 / 48
33 Exemplo de fila Ideia: Processos a executar são guardados numa tabela: CREATE TABLE queue ( id serial, processed boolean default false,..., job jsonb ); Para inserir um job para execução: BEGIN ; INSERT INTO queue ( job ) VALUES ( {" jobname ": " foo ",...} ); NOTIFY jobexecutor ; COMMIT ; /* NOTIFY dispara somente depois */ job executors ficam aguardando processos a executar: LISTEN jobexecutor ; 26 / 48 e buscam trabalhos da fila...
34 Exemplo de fila job executor 1 UPDATE queue 2 SET processed = true 3 WHERE NOT processed AND id IN ( 4 SELECT id FROM ( 5 SELECT id FROM queue 6 WHERE NOT processed 7 ORDER BY id 8 LIMIT ) t 10 WHERE 11 pg_try_advisory_xact_lock ( 12 tableoid :: int, id ) 13 ORDER BY id 14 LIMIT 1 15 ) 16 RETURNING job ; 27 / 48
35 Exemplo de fila job executor 1 UPDATE queue 2 SET processed = true 3 WHERE NOT processed AND id IN ( 4 SELECT id FROM ( 6 SELECT id FROM queue 7 WHERE NOT processed 8 ORDER BY id 9 LIMIT ) t 11 WHERE 12 pg_try_advisory_xact_lock ( 13 tableoid :: int, id ) 14 ORDER BY id 15 LIMIT 1 16 ) 17 RETURNING job ; 28 / 48
36 Exemplo de fila job executor 1 UPDATE queue 2 SET processed = true 3 WHERE NOT processed AND id IN ( 4 SELECT id FROM ( 6 SELECT id FROM queue 7 WHERE NOT processed 8 ORDER BY id 9 LIMIT ) t 11 WHERE 12 pg_try_advisory_xact_lock ( 13 tableoid :: int, id ) 14 ORDER BY id 15 LIMIT 1 16 ) 17 RETURNING job ; 29 / 48
37 Exemplo de fila job executor 1 UPDATE queue 2 SET processed = true 3 WHERE NOT processed AND id IN ( 4 SELECT id FROM ( 6 SELECT id FROM queue 7 WHERE NOT processed 8 ORDER BY id 9 LIMIT ) t 11 WHERE 12 pg_try_advisory_xact_lock ( 13 tableoid :: int, id ) 14 ORDER BY id 15 LIMIT 1 16 ) 17 RETURNING job ; 30 / 48
38 Fila Limitações: Uso de funções não específicas de SQL Um pouco complicadinho, não acham? Outras opções (não só NoSQL): pgq fila alta performance em PostgreSQL RabbitMQ ActiveMQ MongoDB (tailable cursors) / 48
39 Você não precisa de NoSQL para: atualizações rápidas
40 Usando ACID em alta concorrência PostgreSQL é 100% ACID compilante Isso nos traz um poderoso controle de transações Mas... Para ter transação, precisamos de bloqueios, mais conhecido como locks 33 / 48
41 Usando ACID em alta concorrência No PostgreSQL locks são podem ser: de vários modos compartilhados, exclusivo, acesso exclusivo, etc. definidos pelo usuário advisory locks em vários níveis tuplas, páginas, tabelas, etc. São essenciais (acredite, não vai querer abrir mão disto) Mas... Muitas vezes precisamos ter um certo trabalho para reduzir o número ou tempo de bloqueios 34 / 48
42 Usando ACID em alta concorrência Regra no PostgreSQL: escritores nunca bloqueiam leitores e leitores nunca bloqueiam escritores nem outros leitores (mas escritores bloqueiam escritores) 35 / 48
43 Exemplo... Vamos supor contagem de número de acessos à uma página, onde precisamos dessa informação precisa e fácil de consultar. Logo nos vêm à cabeça: UPDATE page_ info SET access_ count = access_ count + 1 WHERE url = : url ; Para consultar, basta: SELECT access_ count FROM page_ info WHERE url = : url ; 36 / 48
44 Exemplo... UPDATE page_ info SET access_ count = access_ count + 1 WHERE url = : url ; Alguém vê o problema no cara acima? 37 / 48
45 Exemplo... UPDATE page_ info SET access_ count = access_ count + 1 WHERE url = : url ; Alguém vê o problema no cara acima? Cada transação concorrente executando esta operação ficará bloqueada, ou seja, apenas uma pessoa pode executar este comando por vez (por url). 37 / 48
46 Solução Ao invés de atualizar, vamos inserir: INSERT INTO page_ access ( url, access_ count ) VALUES (: url, 1) ; 2. Para consultar usamos um agregador: SELECT sum ( access_ count ) FROM page_ access WHERE url = : url ; 3. E claro, agora trocamos um UPDATE bloqueante por um SELECT potencialmente lento. Calma... Calma... Tem solução! 38 / 48
47 Solução... Para resolver o problema da consulta ficar lenta, devemos de tempos em tempos agrupar os registros da tabela WITH old_ itens AS ( DELETE FROM page_ access RETURNING url, access_ count ) INSERT INTO page_ access ( url, access_ count ) SELECT url, sum ( access_ count ) FROM old_ itens GROUP BY url ; Esta operação é completamente não bloqueante! Enquanto está sendo executada os INSERTs continuam e os SELECTs também. 39 / 48
48 Solução... Para resolver o problema da consulta ficar lenta, devemos de tempos em tempos agrupar os registros da tabela WITH old_ itens AS ( DELETE FROM page_ access RETURNING url, access_ count ) INSERT INTO page_ access ( url, access_ count ) SELECT url, sum ( access_ count ) FROM old_ itens GROUP BY url ; BTW, o comando WITH lá em cima é conhecido como CTE (Common Table Expressions), e é de grande utilidade. #ficaadica 39 / 48
49 Solução... Para resolver o problema da consulta ficar lenta, devemos de tempos em tempos agrupar os registros da tabela WITH old_ itens AS ( DELETE FROM page_ access RETURNING url, access_ count ) INSERT INTO page_ access ( url, access_ count ) SELECT url, sum ( access_ count ) FROM old_ itens GROUP BY url ; Por fim, adicione um índice em url e seja feliz: #ficaadica2 CREATE INDEX ON page access count (url); 39 / 48
50 ...
51 Performance O PostgreSQL é, sem dúvidas, um dos bancos de dados com melhores desempenhos num único nó. Devemos sempre olhar para: ajuste (tuning) de parâmetros de configuração; indexação; modelo de dados (normalizar ou desnormalizar); tarefas administrativas; estatísticas atualizadas;... busque por PostgreSQL Performance Tuning / 48
52 Performance E quando precisamos de mais: columnar store (extensões para o PostgreSQL cstore fdw 1 e In-Memory Columnar Store (ICMS) 2 ); particionamento de tabelas; divisão de tablespaces; 42 / 48
53 Performance Escalabilidade horizontal: replicação: replicação nativa com slave disponível para consulta (balanceamento de carga para consultas); replicação multi-master com ferramentas externas: Bucardo e BDR (a grande promessa para a versão 9.4). técnicas de sharding e/ou processamento de consulta em paralelo: divisão de processos em conexões; sharding via aplicação; sharding via postgres fdw http: // 43 / 48
54 E quando o PostgreSQL não resolve meu problema? Primeiro, tem certeza que não? 44 / 48
55 E quando o PostgreSQL não resolve meu problema? Primeiro, tem certeza que não? Absoluta? 44 / 48
56 E quando o PostgreSQL não resolve meu problema? Ok, acontece... sobrecarga de operações e do MVCC pode gerar gargalos; sem processamento paralelo ou sharding nativo (apenas o faça você mesmo ); falta de funcionalidades frente à banco de dados especializados, exemplos: estruturas de grafos são melhores tratadas em especializados como Neo4j do que com consultas recursivas; FTS do PostgreSQL comparado à outros como Lucene ou Sphinx ainda perde em funcionalidades. 45 / 48
57 E quando o PostgreSQL não resolve meu problema? Mas tudo bem usar outro. Se quiser associar, vários Foreign Data Wrappers (FDW) estão disponíveis (redis fdw, mongo fdw,...) para mapear dados externos dentro de tabelas no PostgreSQL; 46 / 48
58 E quando o PostgreSQL não resolve meu problema? DICA DE OURO: comece sempre no PostgreSQL (tiro certo), se o projeto crescer fora de escala que o PG suporte, busque outras alternativas. É muito comum utilizar bancos NoSQL junto com bancos relacionais (não é escolha única). Existem muitos bancos MPP (Massive Parallel Processing) e (100%) NewSQL baseados no PostgreSQL. comerciais: Greenplun, Amazon Redshift, Aster Data, Netezza, Vertica, entre outros; e as promessas open source: Postgres-XC e Postgres-XL. 47 / 48
59 Obrigado! Dúvidas? Matheus de Oliveira IRC irc.freenode.net: /join #postgresql,#postgresql-br,#dextra Meu nick: MatheusOl matheus LinkedIn: br.linkedin.com/in/matheusdeoliveira/ SlideShare: slideshare.net/matheus de oliveira
Técnicas de Database Refactoring para ambientes 24x7. Matheus de Oliveira <matheus.oliveira@dextra.com.br>
Técnicas de Database Refactoring para ambientes 24x7 Matheus de Oliveira Matheus de Oliveira DBA PostgreSQL consultorias e suportes 24x7/8x5
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 maisBanco de Dados. Maurício Edgar Stivanello
Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado
Leia maisProf. Daniela Barreiro Claro
Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relação aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento
Leia maisProf. Daniela Barreiro Claro
Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relacao aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento
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 maisIntrodução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Leia maisBanco de Dados. Prof. Antonio
Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards
Leia maisInteroperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL
Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Geomar A. Schreiner Ronaldo S. Mello Departamento de Informática e Estatística (INE) Programa de Pós-Graduação em
Leia maisComandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Leia maisEscalabilidade, as modas e (No)SQL. Fernando Ike
Escalabilidade, as modas e (No)SQL Fernando Ike SQL SQL Por que? Bala de Prata Bala de Prata + de 20 anos como A solução ORM (Object-relational mapping) Transação Chave Composta Chave Estrangeira Porto
Leia maisAdministração de Banco de Dados
Administração de Banco de Dados Adriano J. Holanda http://holanda.xyz 28/8/2015 Índices Para os testes com os índices criaremos uma tabela chamada tteste com o comando teste=> CREATE TABLE tteste (id int4);
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 maisE N AT O M O L I N A T O T H
no:sql Not only SQL Renato Molina Toth ww.renatomolina.in R E N AT O M O L I N A T O T H O que é? O que é? Não é uma nova tecnologia, é uma nova abordagem Propõe um modelo alternativo de banco de dados
Leia maisSQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL
SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas
Leia maisSQL Structured Query Language
Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa
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 maisIntrodução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)
Introdução aos Bancos de Dados Não-Relacionais Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Conteúdo Histórico de BDs não-relacionais na Web 4 Categorias de bancos NoSQL Exemplos de
Leia maisSQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE
Leia maisP L A N I F I C A Ç Ã O A N U A L
P L A N I F I C A Ç Ã O A N U A L DEPARTAMENTO: MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS ÁREA DISCIPLINAR: 550 - INFORMÁTICA DISCIPLINA: PSI CURSO: Profissional DE: Téc. de Gestão e Programação de Sist. Informáticos
Leia maisGerenciamento de um Sistema de
SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no
Leia maisBásico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)
Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de
Leia maisLinguagem de Consulta Estruturada SQL- DML
Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisEXEMPLOS DE COMANDOS NO SQL SERVER
EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;
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 maisTreinamento PostgreSQL - Aula 03
Treinamento PostgreSQL - Aula 03 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 29 de Maio de 2013 Eduardo Ferreira dos Santos
Leia maisNoSQL: onde, como e por quê? Rodrigo Hjort rodrigo@hjort.co
NoSQL: onde, como e por quê? Rodrigo Hjort rodrigo@hjort.co Quem aqui usa banco de dados? Por que precisamos de SQL? Onde usamos SQL (i.e. ACID)? MAS... Universo digital em expansão Fonte: IDC White Paper,
Leia maisBancos de Dados: impossível viver sem eles...
Bancos de Dados: impossível viver sem eles... Vanessa Braganholo vanessa@ic.uff.br Vocês já sabem programar... Problema: eu preciso calcular a média de uma turma de Estruturas de Dados II public static
Leia maisCRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Leia maisConsistem num conjunto de apontadores para instâncias especificas de cada relação.
Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de
Leia maisBases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática
Bases de Dados Relacional/Objeto e NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SGBDs Principais tarefas Gerir grandes volumes de dados Suportar acessos eficientes Garantir
Leia maisFaculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível
Leia maisFaculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do
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 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 maisEscrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33
Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando
Leia maisNeo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora?
Neo4j Aprendendo conceitos por trás do Neo4j Universidade Federal do Paraná - UFPR Programa de Pós-Graduação em Informática - PPGInf Oficina de Banco de Dados - CI829 Profa: Dra. Carmem Hara Aluno: Walmir
Leia maisNoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014
NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um
Leia maisEx.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )
PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES
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 maisBD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de
Leia maisPostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br
PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,
Leia maisCONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo
CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia maisO que são Bancos de Dados?
SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados
Leia maisPgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.
1/20 PgAdmin O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX. Site para download. Caso queira a última versão - http://www.pgadmin.org/download/ É uma
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisIntrodução a Banco de Dados
Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05
Leia maisPollyanna Gonçalves. Seminário da disciplina Banco de Dados II
Pollyanna Gonçalves Seminário da disciplina Banco de Dados II Web 2.0 vem gerando grande volume de dados Conteúdo gerado por redes sociais, sensores inteligentes, tecnologias de colaboração, etc. Novas
Leia maisLinguagem SQL Parte I
FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS
Leia maisBanco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.
Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação
Leia maisA empresa brasileira de PostgreSQL
NoSQL + SQL = PostgreSQL A empresa brasileira de PostgreSQL DBA Brasil 1.0, São Paulo, 2016-04-16 Palestrante Fabrízio de Royes Mello Desenvolvedor PostgreSQL Líder do PostgreSQL Brasil Pós-Graduando Uniritter
Leia maisTriggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Leia maisPostgreSQL Performance
PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices
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 mais3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.
NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary
Leia maisSQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix
Leia maisLinguagem SQL (Parte I)
Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução
Leia maisT-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra.
T-SQL Mitos Mito T-SQL: COUNT(1) é mais rápido que COUNT(*) Já escutei algumas pessoas afirmarem, inclusive DBAs, que usar COUNT(1) é mais performático que COUNT(*). Além disso, também ouço programadores
Leia maisAPOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisUma Breve Introdução. Andréa Bordin
Uma Breve Introdução Andréa Bordin O que significa? NoSQL é um termo genérico que define bancos de dados não-relacionais. A tecnologia NoSQL foi iniciada por companhias líderes da Internet - incluindo
Leia maisIntegrando Java com Banco de Dados
Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java
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 maisRegras de Negócios é com o Elefante!
Regras de Negócios é com o Elefante! HARDWARE SOFTWARE Pesquisa Quantas camadas? Regras na Aplicação? Regras numa Camada Intermediária? Regras no Banco de Dados? Explain / Plano de Consulta? E as minhas
Leia maisLinguagem SQL Sub-linguagem DDL
Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas
Leia maisA Evolução paquidérmica: para o alto, e avante!
Evolução do PostgreSQL 1 Comunidade Brasileira de PostgreSQL IV Conferência brasileira de PostgreSQL 2011-11-3 História Prehistória 1975 Ingres. 1985 Postgres: extensibilidade. 1995 Postgre95: SQL. 1996
Leia maisSQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.
SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]
Leia maisBancos de dados NOSQL (Not Only SQL)
Bancos de dados NOSQL (Not Only SQL) Qual banco de dados utilizado pelo Facebook e Twitter???? E pelo Google? Quando você digita pindamonhangaba no Google, e ele traz: "Aproximadamente 7.220.000 resultados
Leia mais8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras
Leia maisStructured Query Language (SQL)
SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas
Leia maisIntrodução a listas - Windows SharePoint Services - Microsoft Office Online
Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição
Leia maisProgramação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza
PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível
Leia maisPGBR 2013. Como lidar com cargas de trabalho mistas Flavio Gurgel
PGBR 2013 Como lidar com cargas de trabalho mistas Flavio Gurgel Flavio Gurgel Engenheiro eletricista - UFPR Líder de projetos especiais 4Linux EnterpriseDB Certified Postgres Plus Associate Experiência:
Leia maisYesSQL. Como os recursos avançados do PostgreSQL podem ajudar o desenvolvedor de aplicações rails. quinta-feira, 3 de novembro de 11
YesSQL Como os recursos avançados do PostgreSQL podem ajudar o desenvolvedor de aplicações rails. mas antes de mais nada... Essa palestra não é...... um início de uma guerra com os entusiastas de opções
Leia maisIF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1
IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685
Leia maisUma expressão básica em SQL consiste em três cláusulas: select, from e where.
Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra
Leia maisCriando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL
Leia maisManter estatísticas atualizadas é uma das regras de ouro na busca por performance.
Atualização de Estatísticas Um objeto de estatística pode ser atualizado manualmente pelo usuário, através dos comandos SP_UPDATESTATS e/ou UPDATE STATISTICS. Enquanto que a procedure SP_UPDATESTATS atualiza
Leia maisBANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição
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 maisProjeto e Implementação
Felipe Nery Rodrigues Machado Banco de Dados Projeto e Implementação 2 Edição 4 Reimpressão São Paulo 2011 Editora Érica Ltda. 3 Projeto Sumário Capítulo 1 O Que É Projeto de Banco de Dados 15 Modelagem
Leia maisSQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:
SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências
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 maisBanco de Dados. Prof. Leonardo Barreto Campos 1
Banco de Dados Prof. Leonardo Barreto Campos 1 Sumário Introdução; Banco de Dados Relacionais; SQL; MySQL; Manipulando Banco de Dados com o JDBC; Bibliografia; Prof. Leonardo Barreto Campos 2/25 Introdução
Leia maisArmazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;
Conjunto de informações relacionadas entre si; Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas; Conjunto de Tabelas onde cada linha é um vetor de dados específico;
Leia maisBanco de Dados Oracle 10g: Introdução à Linguagem SQL
Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,
Leia maisUsando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak
Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições
Leia maisSQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL
Leia maisComo utilizar o ScadaBR para monitorar os sensores da linha Comet.
Como utilizar o ScadaBR para monitorar os sensores da linha Comet. Para acessar os dados dos monitores de temperatura da linha Comet utilizando a solução open source ScadaBR, basta seguir a rotina abaixo.
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 maisMicrosoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos
Microsoft Access: Criar relações para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: relações são essenciais Lição: inclui oito seções Tarefas práticas sugeridas Teste Cartão
Leia maisProgramação Orientada a Objetos JDBC Java Database Connectivity
Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java
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 maisMicrosoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos
Microsoft Access: Criar consultas para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: consultas são essenciais Lição: inclui sete seções Tarefas práticas sugeridas Teste.
Leia mais