PostgreSQL e porque você não precisa de NoSQL. Matheus de Oliveira

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

Download "PostgreSQL e porque você não precisa de NoSQL. Matheus de Oliveira "

Transcrição

1 PostgreSQL e porque você não precisa de NoSQL Matheus de Oliveira

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 fts 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 fts 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: //www.infoq.com/br/presentations/postgresql-com-newsql 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

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

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

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

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

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

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

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

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

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

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

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

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

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

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

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

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

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

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

Treinamento PostgreSQL - Aula 01

Treinamento PostgreSQL - Aula 01 Treinamento PostgreSQL - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 27 de Maio de 2013 Eduardo Ferreira dos Santos

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

A empresa brasileira de PostgreSQL

A empresa brasileira de PostgreSQL PostgreSQL 9.4: O que vem por aí A empresa brasileira de PostgreSQL 03/03/2015 Sobre este material Copyright 2015 Timbira. Todos os direitos reservados. Embora este material tenha sido elaborado com toda

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

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi Controle de Concorrência Banco de Dados II Profa. Késsia R. C. Marchi Transação Transação é uma unidade lógica de trabalho, envolvendo diversas operações de bancos dados. C. J. Date Uma transação inicia-se,

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

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

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

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

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 Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

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

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

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

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

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

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 13 de Junho de 2013

Leia mais

PostgreSQL 8.0. Diogo Biazus

PostgreSQL 8.0. Diogo Biazus PostgreSQL 8.0 Diogo Biazus PostgreSQL 7.X Totalmente ACID MVCC Tipos e operadores customizáveis Diversas linguagens procedurais Hot backup Código aberto (BSD) Facilidade de extensão PL/pgSQL, PL/Python,

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

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

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

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

PROVA ESPECÍFICA Cargo 04

PROVA ESPECÍFICA Cargo 04 10 PROVA ESPECÍFICA Cargo 04 QUESTÃO 21 Analise as seguintes afirmativas: I. Uma das funções de um DBA é gerenciar os mecanismos de segurança de acesso aos dados armazenados em um SGBD (Sistema Gerenciador

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

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

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

SQL. Hélder Antero Amaral Nunes

SQL. Hélder Antero Amaral Nunes SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

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

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

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Material de Banco de Dados

Material de Banco de Dados Material de Banco de Dados Versão 2016 Rodrigo Dornel 22/06/2016 Sumário 1 Informações 3 1.1 Licença................................................ 3 2 Introdução 5 3 Linguagem SQL 7 3.1 CREATE...............................................

Leia mais

Engenharia de software 2011A. Trabalho sobre

Engenharia de software 2011A. Trabalho sobre Engenharia de software 2011A Trabalho sobre NOSQL Not only SQL NoSQL Not only SQL GRUPO - 9 Cléverton Heming Jardel Palagi Jonatam Gebing Marcos Wassem NOSQL O Termo NoSQL, foi utilizado pela primeira

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

de dados para o pgcluster

de dados para o pgcluster : Uma implementação de fragmentação de dados para o pgcluster Gustavo Tonini 1 Frank Siqueira (orientador) 1 1 INE - Departamento de Informática e Estatística Universidade Federal de Santa catarina Curso

Leia mais

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL Autores: Nicolas Ignácio RYBERG 1,2 ;; Angelo Augusto FROZZA 3 Identificação autores: 1 Bolsista PIBIC-EM/CNPq;; 2 Aluno do curso Técnico em Informática

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

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

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

NoSQL: Vantagens, Desvantagens e Compromissos. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

NoSQL: Vantagens, Desvantagens e Compromissos. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) NoSQL: Vantagens, Desvantagens e Compromissos Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Agenda Definição de NoSQL Atributos de qualidade e trocas Modelo de dados Escalabilidade Transações

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

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

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

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema

Leia mais

MAC5855 - NoSQL. Mauricio De Diana mdediana@ime.usp.br @mdediana

MAC5855 - NoSQL. Mauricio De Diana mdediana@ime.usp.br @mdediana MAC5855 - NoSQL Mauricio De Diana mdediana@ime.usp.br @mdediana Web 2.0 Data is the Next Intel Inside Inteligência Coletiva Grande volume de dados Escala global (Internet scale services) Web 2.0 Alto grau

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

André Milani. Novatec

André Milani. Novatec André Milani Novatec Sumário Agradecimentos...19 Sobre o autor...21 Prefácio...23 Capítulo 1 Bem-vindo ao PostgreSQL...25 1.1 O que é o PostgreSQL?...25 1.1.1 História do PostgreSQL...26 1.1.2 Licença

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

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO

Leia mais

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

SQL e Modelo Relacional

SQL e Modelo Relacional TREINAMENTOS SQL e Modelo Relacional Modelo Relacional e SQL 30 de julho de 2012 Sumário i Sobre a K19 1 Seguro Treinamento 2 Termo de Uso 3 Cursos 4 1 Introdução 1 1.1 SGBD................................................

Leia mais

Introdução à linguagem SQL

Introdução à linguagem SQL Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial

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

Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri

Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri O que é computação em nuvem (CN)? Vantagens e desvantagens da computação em nuvem Serviços da computação em nuvem SaaS, IasS, PasS e DbasS

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

NoSQL - 2014. Edward Ribeiro

NoSQL - 2014. Edward Ribeiro NoSQL - 2014 Edward Ribeiro Edward Pesquisador independente (UnB) Professor Universitário Analista de Sistemas (Senado) Contribuidor de software livre Agenda 1. Motivação 2. Definição 3. Descrição a. Modelos

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

Utilização da Classe de Banco de Dados NOSQL como Solução para Manipulação de Diversas Estruturas de Dados

Utilização da Classe de Banco de Dados NOSQL como Solução para Manipulação de Diversas Estruturas de Dados Utilização da Classe de Banco de Dados NOSQL como Solução para Manipulação de Diversas Estruturas de Dados Ricardo Cardoso de Almeida 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação

Leia mais

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22 Sumário Agradecimentos... 19 Sobre o autor... 20 Prefácio... 21 Capítulo 1 Bem-vindo ao MySQL... 22 1.1 O que é o MySQL?...22 1.1.1 História do MySQL...23 1.1.2 Licença de uso...23 1.2 Utilizações recomendadas...24

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

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Banco de Dados com PHP

Banco de Dados com PHP Linguagem de Programação III Banco de Dados com PHP Conceitos de Banco de Dados - é uma coleção de dados interrelacionados, representando informações sobre um domínio específico - sempre que for possível

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

Análise Comparativa do Teorema CAP Entre Bancos de Dados NoSQL e Bancos de Dados Relacionais

Análise Comparativa do Teorema CAP Entre Bancos de Dados NoSQL e Bancos de Dados Relacionais FACULDADE FARIAS BRITO CIÊNCIA DA COMPUTAÇÃO Gleidson Sobreira Leite Análise Comparativa do Teorema CAP Entre Bancos de Dados NoSQL e Bancos de Dados Relacionais Fortaleza, 2010 Gleidson Sobreira Leite

Leia mais

NoSQL. Arthur Azevedo Rafael Benedito

NoSQL. Arthur Azevedo Rafael Benedito NoSQL Arthur Azevedo Rafael Benedito Aviso! O que você vai ver/aprender nessa apresentação: Conceitos de banco de dados NoSQL; Taxonomia de banco de dados NoSQL; Conceitos de Banco de Dados distribuídos;

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL Complementos da Linguagem SQL - Eliminando Tuplas Repetidas Exemplo: Obter o código das editoras que têm livros publicados CodEditora Titulo Publicacao... 04 Banco de Dados 1989 02 Análise 2000 01 XML

Leia mais

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS LINGUAGEM SQL PARA CSULTAS EM MICROSOFT ACCESS Objetivos: Neste tutorial serão apresentados os principais elementos da linguagem SQL (Structured Query Language). Serão apresentados diversos exemplos práticos

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

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

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

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

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