YesSQL. Como os recursos avançados do PostgreSQL podem ajudar o desenvolvedor de aplicações rails. quinta-feira, 3 de novembro de 11

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

Download "YesSQL. Como os recursos avançados do PostgreSQL podem ajudar o desenvolvedor de aplicações rails. quinta-feira, 3 de novembro de 11"

Transcrição

1 YesSQL Como os recursos avançados do PostgreSQL podem ajudar o desenvolvedor de aplicações rails.

2 mas antes de mais nada... Essa palestra não é um início de uma guerra com os entusiastas de opções NoSQL (me considero um deles).... uma tentativa de pintar o PostgreSQL como a cura de todos os males.... um cachimbo (embora eu também goste deles), etc...

3 prelúdio 2 Eu, Diogo Biazus: Sócio fundador da Softa e posteriormente Engage Equipe de desenvolvimento do Mailee.me

4 Apresentando: PostgreSQL

5 Apresentando: PostgreSQL Um elefante? Pensem: Poderoso e robusto (e não gordo e lento). O slogan The world s most advanced open source database não é exagero. https://github.com/postgres/postgres Instale-o usando pacotes binários, MacPorts, Brew, é bacana e indolor.

6 Um casamento feliz!

7 E por que não seria? A tecnologia dos SGBDRs é muito madura e evoluiu muito nos últimos 30 anos. O Rails foi desenvolvido com essa tecnologia em mente.

8 Desenvolvedores Rails I don't want my database to be clever! - DHH Parecem gostar de DSLs. Compreendem A ferramenta certa para o problema. Muitos ainda usam muito pouco o potencial do seu SGBD.

9 Usando Constraints Se a integridade é importante, o SGDB é seu amigo. https://github.com/matthuhiggins/foreigner add_foreign_key(from_table, to_table, options) add_index(table, [fields], :unique => true)

10 Usando Constraints NOT NULL pelamordedeus!!! Se usamos um validates_presence_of, porque não usar um NOT NULL? Se usamos um validates_uniqueness_of que tal um daqueles índices bacanas?

11 Usando Visões no Banco Visões podem facilitar a modelagem, criar modelos em níveis mais altos de abstração. Modelos do AR as enxergam normalmente (só para leitura). Podemos relacioná-las com outros modelos e facilitar nossa vida (pensem em agregações, slugs, etc...). Não conheço uma boa GEM

12 Colisões de Períodos Feio: SELECT * FROM meetings m1, meetings m2 WHERE (m2.starts_at BETWEEN m1.starts_at AND m1.ends_at OR m2.ends_at BETWEEN m1.starts_at AND m1.ends_at) AND m1.id > m2.id; Overlaps é um operador sexy e muito pouco usado Sexy: SELECT * FROM meetings m1, meetings m2 WHERE (m2.starts_at, m2.ends_at) OVERLAPS (m1.starts_at, m1.ends_at) AND m1.id > m2.id;

13 but then again, maybe not...

14 Geolocalização Como calcular distâncias usando lat/lng? Geokit: Faz várias coisas, muito bom para geocoding (e bem popular segundo o ruby-toolbox.com). Earthdistance: É rápido para distâncias e áreas (com índices GiST/GIN). https://github.com/softa/activerecord-postgres-earthdistance

15 Geolocalização Todos gostamos de benchmarks! Pesquisa de vários raios de 1 a metros com locais https://github.com/diogob/test_geokit query geokit ( ,9ms) query earthdistance (32.684,0ms)

16 Dados Hierárquicos Nested sets approach (https://github.com/collectiveidea/ awesome_nested_set) WITH RECURSIVE LTREE (https://github.com/riscfuture/hierarchy)

17 Dados Desestruturados Campo serializado em coluna de texto. https://github.com/softa/activerecord-postgres-hstore Hstore, podemos usar índices.

18 Dados Desestruturados Nesse caso o eixo x é tempo Isso significa que o vermelho é algumas ordens de magnitude mais rápido Claro que poderíamos usar índices de trigramas para acelerar o azul :D

19 Dados Desestruturados O salvamento e atualização é transparente, basta salvar um hash no campo do tipo hstore. Registros com chave foo: Person.where("data? 'foo'") Registros onde foo = bar: Person.where("data -> 'foo' = 'bar'") Agora com índices: 'foo=>bar'")

20 Full Text Search Mecanismo nativo para busca de palavras chave. Desacentuação (contrib). Análise de trigramas (contrib). https://github.com/casecommons/pg_search https://github.com/tenderlove/texticle

21 pg_search Multisearch e Search Scopes Multisearch: Escopo de pesquisa global, cria tabela adicional :( Ótimo suporte aos recursos de FTS nativos do PostgreSQL Suporte aos contribs pg_trgm, fuzzystrmatch e unaccent

22 pg_search class BlogPost < ActiveRecord::Base include PgSearch pg_search_scope :search_by_title, :against => :title end class Beer < ActiveRecord::Base include PgSearch pg_search_scope :search_name, :against => :name, :using => [:tsearch, :trigram, :dmetaphone] end

23 pg_search e o tsearch class Superhero < ActiveRecord::Base include PgSearch pg_search_scope :whose_name_starts_with, :against => :name, :using => { :tsearch => {:prefix => true} } end batman = Superhero.create :name => 'Batman' batgirl = Superhero.create :name => 'Batgirl' robin = Superhero.create :name => 'Robin' Superhero.whose_name_starts_with("Bat") # => [batman, batgirl]

24 Tabelas sem Log de Transação Modificação rápida Tabela é truncada em caso de falha Pequeno teste

25 Importação em Warp Speed A importação de dados de CSV inocente: require 'csv' ActiveRecord::Base.transaction do CSV.foreach("#{Rails.root}/db/test100.csv") do row self.create!(:data1 => row[0], :data2 => row[1], :data3 => row[2], :data4 => row[3]) end end ,0ms

26 Importação em Warp Speed A importação de dados de CSV usando copy: self.pg_copy_from("#{rails.root}/db/test100.csv", {:delimiter => ','}) 5.116,4ms

27 Enquanto isso no mundo assíncrono A libpq implementa chamadas assíncronas há muitos anos, e elas estão disponíveis na gem pg para ruby As conexões do PostgreSQL suportam notificações assíncronas com LISTEN e NOTIFY, o que o torna uma opção atraente para o pessoal trabalhando com EM, Goliath, Node.JS, etc...

28 Precisamos de mais buzzwords A Nuvem! https://postgres.heroku.com/ em beta na EY em breve EnterpriseDB

29 Referências /index.html https://www.ruby-toolbox.com/

30 Muito Obrigado Diogo Biazus Engage (http://engage.is)

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

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2 Victor Amorim - vhca Pedro Melo pam2 Arquitetura de BDs Distribuídos Sistemas de bds distribuídos permitem que aplicações acessem dados de bds locais ou remotos. Podem ser Homogêneos ou Heterogêneos: Homogêneos

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

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

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

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

Desmistificando Replicação no PostgreSQL

Desmistificando Replicação no PostgreSQL Desmistificando Replicação no PostgreSQL Euler Taveira Timbira - A empresa brasileira de PostgreSQL 09 de novembro de 2012 Apresentação Euler Taveira Desenvolvedor PostgreSQL Líder do PostgreSQL Brasil

Leia mais

O Elefante arborícola

O Elefante arborícola ,230 0 00 0 0, Consultas recursivas com expressões comuns de tabelas 1 Comunidade Brasileira de PostgreSQL 2 ArsData III Conferência brasileira de PostgreSQL (2009) Expanda sua mente! Besteirol I NoSQL

Leia mais

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Específicos: - criar um banco de dados para armazenar registros sobre internações hospitalares; - produzir

Leia mais

Segurança de Dados no PostgreSQL

Segurança de Dados no PostgreSQL Segurança de Dados no PostgreSQL Objetivos Objetivo instruir usuários iniciantes na utilização dos recursos do PostgreSQL que contribuem para a segurança da informação. Os participantes conhecerão também

Leia mais

Dicas de Projeto Lógico Relacional

Dicas de Projeto Lógico Relacional Dicas de Projeto Lógico Relacional O que deve ser especificado? mapeamento do esquema conceitual definição das tabelas e chaves justificativas de mapeamento (se necessário) restrições de integridade (RIs)

Leia mais

Stoq - Gestão comercial open source

Stoq - Gestão comercial open source 1 of 8 23/6/2010 22:39 Stoq - Gestão comercial open source Autor: Paulo Roberto Junior - WoLF Data: 02/10/2009 Introdução Primeiramente meus agradecimentos a todos que já leram,

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

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase. ? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

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

PostgreSQL e porque você não precisa de NoSQL. Matheus de Oliveira <matheus.oliveira@dextra.com.br> PostgreSQL e porque você não precisa de NoSQL Matheus de Oliveira Matheus de Oliveira DBA PostgreSQL consultorias e suportes 24x7/8x5 Instrutor

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

II Semana de Tecnologia da Informação. Rails Framework

II Semana de Tecnologia da Informação. Rails Framework II Semana de Tecnologia da Informação Rails Framework Rails Instalação Ruby versão 1.8.7 Linux: ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz ou apt-get install ruby (Debian/Ubuntu) Windows:

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

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

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Bancos de Dados I. Integridade semântica

Bancos de Dados I. Integridade semântica Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br

Leia mais

PostgreSQL e C++ (libpq)

PostgreSQL e C++ (libpq) PostgreSQL e C++ (libpq) André Restivo Faculdade de Engenharia da Universidade do Porto April 5, 2013 André Restivo (FEUP) PostgreSQL e C++ (libpq) April 5, 2013 1 / 18 Sumário 1 Introdução 2 Ligação 3

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

Data Transformation Services (DTS) por Anderson Ferreira Souza

Data Transformation Services (DTS) por Anderson Ferreira Souza Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo

Leia mais

Python Acessando o Banco de Dados MySQL

Python Acessando o Banco de Dados MySQL Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4

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

Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder

Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder Adriano Gonçalves adriano.php4@gmail.com Agenda O PEAR e suas vantagens Abstração de banco

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

Ferramentas de Administração. PostgreSQL

Ferramentas de Administração. PostgreSQL Ferramentas de Administração ao SGBD PostgreSQL Diego Rivera Tavares de Araújo diegoriverata@gmail.com Introdução Mas o que é PostgreSQL? Introdução as ferramentas O PostgreSQL pode ser acessado a partir

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

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

Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby

Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Bruno Jurkovski Lucas Fialho Zawacki Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Recapitulando... Escopos Constantes Tipagem Métodos Input Estruturas de Controle e Repetição Classes Nativas Blocos

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

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem efetivamente executadas Uma consulta possui muitas estratégias

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

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

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

O Framework Rails. Diego Rubin http://diegorubin.com @diegorubin

O Framework Rails. Diego Rubin http://diegorubin.com @diegorubin O Framework Rails Diego Rubin http://diegorubin.com @diegorubin Introdução David Heinemeier Hansson (DHH) 2004 MVC Restful Meta-Framework Convention over configuration Rails 3.1 Ferramentas Rake Bundler

Leia mais

PROVA DE NÍVEL SUPERIOR. CARGO: Técnico de Nível Superior Júnior II - TECNOLOGIA DA INFORMAÇÃO

PROVA DE NÍVEL SUPERIOR. CARGO: Técnico de Nível Superior Júnior II - TECNOLOGIA DA INFORMAÇÃO PROVA DE NÍVEL SUPERIOR CARGO: Técnico de Nível Superior Júnior II - TECNOLOGIA DA INFORMAÇÃO 1. O ambiente Delphi suporta o desenvolvimento de aplicações orientadas a objetos por meio da linguagem Object

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1 Persistência Objeto-Relacional com Java Fernando Lozano http://www.lozano.eti.br Consultor Independente Prof. Faculdades UniABEU Prof. SENAC Editor Adjunto da Revista Java Magazine 2004 Fernando Lozano,

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia 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

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003

Leia mais

Ruby. Simplicidade e produtividade

Ruby. Simplicidade e produtividade Ruby Simplicidade e produtividade Ruby é... Uma linguagem de tipagem dinâmica e forte, com gerenciamento de memória automático, open source com foco na simplicidade e na produtividade. Tem uma sintaxe

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

Banco de Dados. O comando SELECT IGOR@LABRINCO.COM.BR 1

Banco de Dados. O comando SELECT IGOR@LABRINCO.COM.BR 1 Banco de Dados O comando SELECT SELECIONANDO DADOS IGOR@LABRINCO.COM.BR 1 Tô ligado nas paradas!!! Até aqui já aprendi... Criar e Usar Bancos de Dados Criar e Apagar Tabelas Inserir dados na tabela Selecionar

Leia mais

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 4) Clodis Boscarioli Agenda: Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; Dicas Práticas. Índice em SQL Sintaxe:

Leia mais

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014

Leia 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

Visualização de grafos a partir de yourtwapperkeeper, RStudio e Gephi

Visualização de grafos a partir de yourtwapperkeeper, RStudio e Gephi Visualização de grafos a partir de yourtwapperkeeper, RStudio e Gephi Este tutorial mostra como gerar uma visualização de dados de menções e retweets sobre um determinado tema. O processo começa com a

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

MySQL Query Browser. Professor Victor Sotero SGD

MySQL Query Browser. Professor Victor Sotero SGD MySQL Query Browser Professor Victor Sotero SGD 1 DEFINIÇÃO O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico.

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #1 Arquitetura de Banco de Dados Profs. Anderson Rocha e André Santanchè Campinas,

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

Banco de Dados Objeto Relacional

Banco de Dados Objeto Relacional Banco de Dados Objeto Relacional características Banco de Dados Objeto- Relacional (BDOR) Banco de dados relacional com extensões para manipulação de objetos e outras fatores de banco de dados orientado

Leia mais

Catálogo de Treinamentos 2017

Catálogo de Treinamentos 2017 Catálogo de Treinamentos 2017 PostgreSQL Básico PostgreSQL SQL Avançado PostgreSQL PL/pgSQL PostgreSQL Administração PostgreSQL Sintonia PostgreSQL Replicação e HA comercial@timbira.com.br Timbira: forma

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

Busca bonita e veloz

Busca bonita e veloz Indexação de Textos com o Tsearch 2 Busca bonita e veloz CAPA Vamos realizar buscas em um portal jornalístico fictício para verificar a necessidade da indexação de textos e de outros recursos oferecidos

Leia mais

Sistema básico de cadastro em Delphi com banco de dados InterBase.

Sistema básico de cadastro em Delphi com banco de dados InterBase. Sistema básico de cadastro em Delphi com banco de dados InterBase. Nesta apostila vamos abordar o uso do banco de dados Interbase e o acesso nativo com os componentes da paleta InterBase do Delphi, eu

Leia mais

Hands On para (web)developers: Docker vs Vagrant

Hands On para (web)developers: Docker vs Vagrant Hands On para (web)developers: Docker vs Vagrant Trilha Web Florianopólis, 13/04/2015 Gustavo Maestri & Ingo Gerhard Jauch Globalcode Open4education Sobre os palestrantes Gustavo Maestri Software Developer

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

O módulo possui um submódulo para a definição dos schemas da base de dados.

O módulo possui um submódulo para a definição dos schemas da base de dados. Data ABstraction (DAB) Uma camada simples para gerar strings SQL. Módulo dab O módulo possui um submódulo para a definição dos schemas da base de dados. Abaixo do módulo dab.schemas ficam os schemas das

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Prof. Romulo Fagundes Cantanhede. Node.JS. O poder do JavaScript do lado do Servidor

Prof. Romulo Fagundes Cantanhede. Node.JS. O poder do JavaScript do lado do Servidor Prof. Romulo Fagundes Cantanhede Node.JS O poder do JavaScript do lado do Servidor Agenda Quem sou eu O que é Node.JS? Mas como não falar de nosql Alguns módulos que o Node.JS possui Conclusão Quem sou

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

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para

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

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s Dio Rafael Jacobs 1, Juliano Varella de Carvalho 1 1 Centro Universitário Feevale Instituto de Ciência Exatas e Tecnológicas Novo

Leia mais

Apostila Delphi V 1.0

Apostila Delphi V 1.0 Preço: R$ 5,00 Link de download: setup.exe Tipo da licença: demonstração Limitações: perrmite visualizar até a página 12. Exige cadastro on-line para solicitar chave de registro. 1 / 7 Apostila completa

Leia mais

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com Sistema Gerador de Anúncios para Compra e Venda On-line Leandro de Oliveira ol.leandro@gmail.com Roteiro da Apresentação Motivação Conceitos e Tecnologias Objetivos do trabalho Sistema SideCart Conclusões

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

Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby

Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Bruno Jurkovski Lucas Fialho Zawacki Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Por que Ruby? Sintaxe limpa e intuitiva: Por que Ruby? Fortemente orientada à objetos Note que não temos os tipos primitivos,

Leia mais

SQL. Subqueries. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL. Subqueries. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Subqueries Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Subqueries Uma subquery ou nested query, é uma query dentro de outra query. Uma subquery é uma expressão do tipo

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

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

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

MySQL: Inserção e Seleção em Tabelas

MySQL: Inserção e Seleção em Tabelas MySQL: Inserção e Seleção em Tabelas Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ INSERT INTO Para inserir novas entradas (linhas) em um tabela, usa-se INSERT INTO.

Leia mais

Cartão de consulta rápida

Cartão de consulta rápida Web of Science Cartão de consulta rápida ISI WEB OF KNOWLEDGE SM Pesquise mais de 9.200 periódicos em mais de 5 idiomas diferentes nas áreas de ciências, ciências sociais, e artes e humanidades para encontrar

Leia mais

ETEC Dr. Emílio Hernandez Aguilar

ETEC Dr. Emílio Hernandez Aguilar ETEC Dr. Emílio Hernandez Aguilar Grupo: Leonardo; Ronaldo; Lucas; Gustavo; Fabio. 2º Informática Tarde 2º Semestre de 2009 Introdução O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objeto-relacional

Leia mais

Behaviour-Driven Development com RSpec e RSpec on Rails. Danilo Sato www.dtsato.com

Behaviour-Driven Development com RSpec e RSpec on Rails. Danilo Sato www.dtsato.com Behaviour-Driven Development com RSpec e RSpec on Rails Danilo Sato www.dtsato.com 1 Quem sou eu? Graduação/Mestrado no IME/USP AgilCoop Fundador do Dojo@SP ThoughtWorks UK 2 Programar Testar Ponto de

Leia mais

Referência Rápida Visão Geral. Comece por aqui. Descubra mais. Veja como ficou mais fácil pesquisar usando os bancos de dados de sua biblioteca.

Referência Rápida Visão Geral. Comece por aqui. Descubra mais. Veja como ficou mais fácil pesquisar usando os bancos de dados de sua biblioteca. Referência Rápida Visão Geral Comece por aqui. Descubra mais. Veja como ficou mais fácil pesquisar usando os bancos de dados de sua biblioteca. Seja bem-vindo(a) à nova experiência de pesquisa da ProQuest.

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

Documentação da Ferramenta EMap Edimar Manica

Documentação da Ferramenta EMap Edimar Manica Documentação da Ferramenta EMap Edimar Manica 1. Objetivo A ferramenta EMap (Extrai e Mapeia) tem como objetivo permitir o suporte a consultas temporais, escritas na linguagem de consulta temporal TSQL2,

Leia mais

Nos Trilhos com RAILS. Sylvestre Mergulhão

Nos Trilhos com RAILS. Sylvestre Mergulhão Nos Trilhos com RAILS Sylvestre Mergulhão Necessidades Desenvolver para a web Desenvolver para a web de forma organizada Desenvolver para a web de forma fácil de manter Desenvolver para a web de forma

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais