PostgreSQL e porque você não precisa de NoSQL. Matheus de Oliveira <matheus.oliveira@dextra.com.br>

Tamanho: px
Começar a partir da página:

Download "PostgreSQL e porque você não precisa de NoSQL. Matheus de Oliveira <matheus.oliveira@dextra.com.br>"

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.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 mais

Universidade 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 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 mais

Banco de Dados. Maurício Edgar Stivanello

Banco 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 mais

Prof. Daniela Barreiro Claro

Prof. 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 mais

Prof. Daniela Barreiro Claro

Prof. 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 mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introduçã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 mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introduçã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 mais

Banco de Dados. Prof. Antonio

Banco 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 mais

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

Interoperabilidade 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 mais

Comandos de Manipulação

Comandos 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 mais

Escalabilidade, as modas e (No)SQL. Fernando Ike

Escalabilidade, 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 mais

Administração de Banco de Dados

Administraçã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 mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 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 mais

E N AT O M O L I N A T O T H

E 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 mais

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL 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 mais

SQL Structured Query Language

SQL 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 mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade 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 mais

Introduçã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) 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 mais

SQL 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 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 mais

P 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 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 mais

Gerenciamento de um Sistema de

Gerenciamento 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 mais

Bá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) 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 mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem 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 mais

Bancos 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. 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 mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS 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 mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 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 mais

Treinamento PostgreSQL - Aula 03

Treinamento 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 mais

NoSQL: onde, como e por quê? Rodrigo Hjort rodrigo@hjort.co

NoSQL: 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 mais

Bancos de Dados: impossível viver sem eles...

Bancos 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 mais

CRIANDO 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 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 mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem 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 mais

Bases 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 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 mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade 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 mais

Faculdade 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 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 mais

FAPLAN - 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 mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco 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 mais

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33

Escrito 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 mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO 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 mais

Neo4j 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. 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 mais

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. 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 mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: 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 mais

Treinamento sobre SQL

Treinamento 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 mais

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD 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 mais

PostgreSQL. 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 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 mais

CONCORRÊ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 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 mais

BANCO 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 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 mais

O que são Bancos de Dados?

O 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 mais

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

PgAdmin. 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 mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

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 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Introdução a Banco de Dados

Introduçã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 mais

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Pollyanna 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 mais

Linguagem SQL Parte I

Linguagem 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 mais

UNIVERSIDADE 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 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 mais

Banco 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. 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 mais

A empresa brasileira de PostgreSQL

A 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 mais

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Triggers 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 mais

PostgreSQL Performance

PostgreSQL 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 mais

Exercícios de Lógica Exercícios de Fixação 08

Exercí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 mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) 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 mais

SQL 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 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 mais

Linguagem SQL (Parte I)

Linguagem 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 mais

T-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra.

T-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 mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA 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 mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP 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 mais

Uma Breve Introdução. Andréa Bordin

Uma 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 mais

Integrando Java com Banco de Dados

Integrando 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 mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco 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 mais

Regras de Negócios é com o Elefante!

Regras 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 mais

Linguagem SQL Sub-linguagem DDL

Linguagem 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 mais

A Evolução paquidérmica: para o alto, e avante!

A 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 mais

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL 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 mais

Bancos de dados NOSQL (Not Only SQL)

Bancos 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 mais

8. 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) 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 mais

Structured Query Language (SQL)

Structured 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 mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introduçã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 mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programaçã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 mais

PGBR 2013. Como lidar com cargas de trabalho mistas Flavio Gurgel

PGBR 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 mais

YesSQL. 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. 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 mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 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 mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma 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 mais

Criando 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 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 mais

Manter estatísticas atualizadas é uma das regras de ouro na busca por performance.

Manter 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 mais

BANCO 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 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 mais

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

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 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 mais

Projeto e Implementação

Projeto 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 mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. 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 mais

Tuning para Desenvolvedores DB2

Tuning 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 mais

Banco de Dados. Prof. Leonardo Barreto Campos 1

Banco 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 mais

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Armazenamento 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 mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco 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 mais

Usando 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 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 mais

SQL 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. 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 mais

Como utilizar o ScadaBR para monitorar os sensores da linha Comet.

Como 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 mais

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 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 mais

Microsoft 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 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 mais

Programação Orientada a Objetos JDBC Java Database Connectivity

Programaçã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 mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. 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 mais

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft 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