Sumarizando Dados. Fabrício Olivetti de França. Universidade Federal do ABC

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

Download "Sumarizando Dados. Fabrício Olivetti de França. Universidade Federal do ABC"

Transcrição

1 Sumarizando Dados Fabrício Olivetti de França Universidade Federal do ABC

2 Sumarizando os dados

3 Sumarização Antes de extrair informações da base de dados, é importante entender seu conteúdo. Sumarização: resumir aspectos dos dados através de estatísticas. 1

4 Observação A partir desse momento os algoritmos serão descritos usando Mapper, Reducer e Combiner. A transformação / ação equivalente em Spark será indicada quando existir. 2

5 Tendência Central Quando precisamos saber a região em que a maioria dos valores de uma variável se encontra. Chute acertado para adivinhar um valor aleatório. 3

6 Média Também conhecida como Valor Esperado. Se a média de crimes diários em uma cidade é X, esperamos ter esse número em um dia qualquer. Valores muito abaixo ou muito acima podem afetar a média, pode ser necessário remover os 2% maiores e menores valores de x. x = 1 n n i=1 x i 4

7 Média media :: Num a => [a] -> a media xs = (sum xs) / (length xs) -- implementaç~ao direta mediapar :: Num a => ChunksOf [a] -> a media chunks = soma / n where soma = mapreduce id (+) chunks n = sum $ map length chunks 5

8 Spark dadosrdd.mean() 6

9 Moda O valor mais frequente em nossos dados. Se existem mais do que um valor frequente, dizemos que a distribuição é multimodal. 7

10 Moda moda :: Num a => [a] -> a moda xs = fst $ last $ sortbyvalue $ combine (+) $ map (\x -> (x,1)) xs 8

11 Exercício Escreva a função modapar usando mapreduce: modapar :: Num a => ChunksOf [a] -> a 9

12 Exercício Escreva a função modapar usando mapreduce: modapar :: Num a => ChunksOf [a] -> a modapar chunks = fst $ last $ sortbyvalue... 10

13 Exercício Escreva a função modapar usando mapreduce: modapar :: Num a => ChunksOf [a] -> a modapar chunks = fst $ last $ sortbyvalue $ mapreducebykey (\x -> (x,1)) (+) $ chunks 11

14 Moda E se o resultado do reducer não couber na memória? 12

15 Moda modapar :: Num a => ChunksOf [a] -> a modapar chunks = fst $ mapreduce id argmax $ mapreducebykey (\x -> (x,1)) (+) $ chunks 13

16 Desvio-padrão Variação nos valores de nossos dados: σ. Um valor pequena indica que os valores mensurados são todos próximos da média. Um valor grande indica que os valores estão espalhados em torno da média. σ = 1 n n (x i x) 2 i=1 14

17 Desvio-padrão - implementação sequencial desviopadrao :: Num a => [a] -> a desviopadrao xs = sqrt $ (sum devmedia) / n where devmedia = map (\x -> (x-mediax)**2) xs mediax = media xs n = length xs 15

18 Exercício desviopadraopar :: ChunksOf [Double] -> Double mediapar :: Num a => ChunksOf [a] -> a mediapar chunks = soma / n where soma = mapreduce id (+) chunks n = sum $ map length chunks 16

19 Exercício desviopadraopar :: ChunksOf [Double] -> Double desviopadraopar chunks = sqrt $ soma / n where soma = mapreduce (\x -> (x - media)^2) (+) media = mediapar chunks n = sum $ map length chunks 17

20 Desvio-padrão - Spark RDD.std() 18

21 Índice Invertido Um índice invertido é uma estrutura de dados indexada que mapeia o conteúdo de documentos para os identificadores dos documentos ao qual eles pertencem. Isso facilita a busca por documentos que contém termos. Dado uma base de dados no formato (id, word), queremos transformá-la em (word, [id]) de tal forma que, ao buscar por determinada palavra, descobrimos todos os documentos assocados a ela. 19

22 Índice Invertido indiceinvertido :: [(Id, Word)] -> (Word, [Id]) 20

23 Índice Invertido indiceinvertido :: [(Id, Word)] -> (Word, [Id]) indiceinvertido = mapreducebykey (\(x,y) -> (y,[x])) (++) 20

24 Filtrando os Dados

25 Top 10 Em muitos casos a distribuição dos dados segue uma distribuição de cauda longa, ou seja, existe um conjunto pequeno de entradas que possuem valores muito maiores do que o restante. Pode ser de interesse prático identificar tais registros para estudá-los em mais detalhes. A ideia de computação distribuída dessa tarefa é muito parecida com a estratégia em Haskell utilizando fold. 21

26 Top 10 import Data.List import Data.Ord top10 = take 10. sorton Down l = [5, 11, 3, 9, 2, 10, 8, 1, 5, 6, 4, 2, 7] main = do print (foldr (\x y -> top10 $ x:y) [] l) 22

27 Top 10 - Paralelo top10par :: Ord a => ChunksOf [a] -> [a] top10par chunks = mapreduce (\x -> [x]) concat10 $ chunks concat10 x y = top10 $ y ++ x 23

28 Top 10 - Spark RDD.takeOrdered(10, key = lambda x: -x) 24

29 Distinct Keys Quando queremos determinar o conjunto único de chaves. 25

30 Distinct Raciocínio simples: mapeia as tuplas sem fazer nada e reduz para o primeiro elemento da lista. 26

31 Distinct - Paralelo distinct :: ChunksOf [(K, V)] -> [(K,V)] 27

32 Distinct - Paralelo distinct :: ChunksOf [(K, V)] -> [(K,V)] distinct chunks = map fst $ mapreducebykey id fstval fstval x y = x 28

33 Distinct - Spark tuplas = RDD.map(lambda x : x).reducebykey(lambda v1,v2 : v1).collect() chavesunicas = map(lambda (k,v): k, tuplas) 29

34 Juntando Dados

35 Join Imagine a seguinte situação: temos uma base de dados em que existem dois possíveis tipos de tuplas: (id do usuário, cidade usuário) e (id do usuário, texto da postagem). Desejamos fazer uma análise de correlação do conteúdo de texto com os locais utilizados na postagem, para isso devemos obter (id do usuário, (local, texto)). Para isso devemos fazer a operação de join muito utilizada em bancos de dados SQL. 30

36 Join Exemplificando com as tabelas: Id Cidade 1 Santo André 2 Santos 4 São Bernardo 5 São Paulo height Id Texto 1 Esse curso está bem interessante 1 Está começando a ficar difícil 2 Pena que a UFABC fica tão longe.. 6 De onde sou? height 31

37 Inner Join No Inner Join todos os pares de ids em comum das duas tabelas sao unificados gerando novas tuplas: Id Cidade Texto 1 Santo André Esse curso está bem interessante 1 Santo André Está começando a ficar difícil 2 Santos Pena que a UFABC fica tão longe... 32

38 Outer Join No Outer Join todos os pares de ids iguais geram um novo registro, caso um id exista em uma tabela e na outra não, o campo é preenchido como Null: Id Cidade Texto 1 Santo André Esse curso está bem interessante 1 Santo André Está começando a ficar difícil 2 Santos Pena que a UFABC fica tão longe... 4 São Bernardo Null 5 São Paulo Null 6 Null De onde sou? height Existem as variações de Left Outer Join e Right Outer Join que permite o registro nulo na tabela da esquerda ou da direita, respectivamente. 33

39 Joins - Spark Esses processos necessitam de controle interno da distribuição dos arquivos, não podendo ser feito no nosso modelo em Haskell. RDD1.join(RDD2) RDD1.fullOuterJoin(RDD2) RDD1.leftOuterJoin(RDD2) RDD1.rightOuterJoin(RDD2) 34

Algoritmos de Regressão

Algoritmos de Regressão Algoritmos de Regressão com Big Data Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Regressão Linear 2. Ordinary Least Square 3. Gradiente Descendente 4. Overfitting 5. Variáveis Não-Lineares

Leia mais

MapReduce Mapeando e reduzindo

MapReduce Mapeando e reduzindo MapReduce Mapeando e reduzindo Prof. Fabrício Olivetti de França Universidade Federal do ABC Motivação Vimos até então que nosso maior problema é a quantidade de dados. O processamento não pode ser distribuído

Leia mais

Regressão. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Regressão. Prof. Fabrício Olivetti de França Universidade Federal do ABC Regressão Prof. Fabrício Olivetti de França Universidade Federal do ABC Aprendendo com Exemplos Uma das formas de aprendizado de máquina é definido como: Dado um conjunto de exemplos X, com cada x sendo

Leia mais

Pré-processamento de Dados

Pré-processamento de Dados Pré-processamento de Dados Fabrício Olivetti de França Universidade Federal do ABC Pré-Processamento dos Dados Tópicos 1. Pré-Processamento dos Dados 2. Conceitos Básicos 3. Representação Textual 4. Padrões

Leia mais

Programação Funcional

Programação Funcional Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 07: Funções de Ordem Superior 1 INTRODUÇÃO Uma função é chamada função de ordem superior

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Fabrício Olivetti de França 21 de Junho de 2018 1 Listas 2 Listas Uma das principais estruturas em linguagens funcionais. Representa uma coleção de valores de um determinado tipo.

Leia mais

Python + Spark = PySpark. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Python + Spark = PySpark. Prof. Fabrício Olivetti de França Universidade Federal do ABC Python + Spark = PySpark Prof. Fabrício Olivetti de França Universidade Federal do ABC Spark Plataforma para processamento de dados em larga escala. Baseado em transformações preguiçosas dos dados. Estende

Leia mais

Haskell Paralelo (e entrada e saída de dados)

Haskell Paralelo (e entrada e saída de dados) Haskell Paralelo (e entrada e saída de dados) Prof. Fabrício Olivetti de França Universidade Federal do ABC Entrada e Saída de dados Imprimindo na tela Nós já conhecemos o comando print, que imprime qualquer

Leia mais

Funções de Ordem Superior

Funções de Ordem Superior Programação Funcional Capítulo 7 Funções de Ordem Superior José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.2 1/37 1 Funções de Ordem Superior 2 Composição de funções

Leia mais

Redução de Dimensionalidade e Agrupamento de Dados

Redução de Dimensionalidade e Agrupamento de Dados Redução de Dimensionalidade e Agrupamento de Dados Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Análise de Componentes Principais 2. Agrupamento de Dados 1 Redução de Dimensionalidade

Leia mais

Banco de Dados 1 2º Semestre

Banco de Dados 1 2º Semestre Banco de Dados 1 2º Semestre Aula 06 Prof. Gladimir Ceroni Catarino gladimir@gmail.com SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS SQL SERVIÇO NACIONAL DE APRENDIZAGEM

Leia mais

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação 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 ROTEIRO Operações

Leia mais

Programação Funcional Aulas 5 & 6

Programação Funcional Aulas 5 & 6 Programação Funcional Aulas 5 & 6 Sandra Alves DCC/FCUP 2016/17 Definições usando outras funções Podemos definir funções usando outras previamente definidas (por exemplo: do prelúdio-padrão). Exemplo:

Leia mais

Pré-processamento dos Dados e Análise Exploratória

Pré-processamento dos Dados e Análise Exploratória Pré-processamento dos Dados e Análise Exploratória Prof. Fabrício Olivetti de França Universidade Federal do ABC Processando os dados Data Sets Conjunto de objetos de dados. Objeto de dados é uma entidade:

Leia mais

Sumário SELECT + FROM

Sumário SELECT + FROM Sumário 1 Introdução SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 2 3 Operadores de Conjuntos 4 5 Agregações 6 Ordenações e Limites 7 Sub-perguntas 8

Leia mais

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012 SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Perguntas February 24, 2012 1 / 46 Sumário 1 Introdução 2 Seleccionar e Filtrar

Leia mais

Introdução Ferramentas Unix MapReduce Outras Ferramentas. Batch Processing. Fabiola Santore. Universidade Federal do Paraná

Introdução Ferramentas Unix MapReduce Outras Ferramentas. Batch Processing. Fabiola Santore. Universidade Federal do Paraná Fabiola Santore Universidade Federal do Paraná Sumário 1. Introdução 2. Ferramentas Unix 2.1 Análise de log 2.2 Filosofia Unix 3. MapReduce 3.1 Procedimento 3.2 Reduce: Joins e Agrupamento 3.3 Análise

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

Consulta sobre múltiplas relações

Consulta sobre múltiplas relações Consulta sobre múltiplas relações BCD29008 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/bcd 25 DE ABRIL DE 2019 Esquema usado nos próximos exemplos 1/36

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início

Leia mais

Expressões Lambda. Programação Funcional. Capítulo 7. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

Expressões Lambda. Programação Funcional. Capítulo 7. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto Programação Funcional Capítulo 7 Expressões Lambda José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/64 1 Valores de primeira classe 2 Expressão lambda 3 Aplicação

Leia mais

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs Layout Ao contrário de quase todas as linguagens de programação, o Haskell não necessita de marcas para delimitar as diversas declarações que constituem um programa. Em Haskell a identação do texto (isto

Leia mais

Haddop, MapReduce e Spark

Haddop, MapReduce e Spark Haddop, MapReduce e Spark Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Conceitos Básicos 2. MapReduce 3. Spark 4. Transformações Básicas 5. Ações Básicas 1 Conceitos Básicos Hadoop

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Listas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro

Listas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro em Haskell Linguagem Haskell Faculdade de Computação - UFU Setembro - 2009 em Haskell 1 em Haskell Noções sobre Construção de por Compreensão Funções Sobre Processamento de Fundamentos em Haskell Noções

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Fabrício Olivetti de França 02 de Agosto de 2018 1 Programação Paralela e Concorrente em Haskell 2 Paralelismo vs Concorrência Um programa paralelo é aquele que usa diversos recursos

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2014 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções

Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções Programação Funcional 3 a Aula Definição de funções Pedro Vasconcelos DCC/FCUP 2014 Definição de funções Podemos definir novas funções simples usando funções pré-definidas. minuscula :: Char -> Bool minuscula

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2012 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:

Leia mais

Aula prática 14. Expressão Lambda

Aula prática 14. Expressão Lambda Programação Funcional UFOP DECOM 2014.1 Aula prática 14 Expressão Lambda Sumário Resumo Expressões lambdas são funções anônimas que podem ser usadas como qualquer outro valor de primeira classe. Nesta

Leia mais

Programação Funcional em Haskell

Programação Funcional em Haskell Funções Genéricas sobre Listas Junho - 2009 1 Funções Genéricas 2 Introdução Em Haskell, como em qualquer linguagem funcional, funções são objetos de primeira classe, em que funções não avaliadas podem

Leia mais

Funções de Ordem Superior

Funções de Ordem Superior Programação Funcional UFOP DECOM 2014.1 Aula prática 15 Funções de Ordem Superior Sumário Resumo Uma função é conhecida como função de ordem superior quando ela tem uma função como argumento ou resulta

Leia mais

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero,

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero, Bases de Dados Álgebra Relacional II Junções, agregações, vistas P. Serendero, 2011-13 1 JUNÇÕES OU JOINS em SQL - R S A condição do JOIN é especificada na claúsula ON ou USING,, ou implicitamente

Leia mais

Álgebra Relacional e SQL

Álgebra Relacional e SQL Álgebra Relacional e SQL Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários

Leia mais

Programação Paralela. com Haskell. Fabrício Olivetti de França. Universidade Federal do ABC

Programação Paralela. com Haskell. Fabrício Olivetti de França. Universidade Federal do ABC Programação Paralela com Haskell Fabrício Olivetti de França Universidade Federal do ABC Trabalhando com Vetores e Matrizes Vetores Em muitos algoritmos de Mineração de Dados, trabalharemos com vetores

Leia mais

1º Teste Sem consulta

1º Teste Sem consulta Bases de Dados 2013/14 12/Abril/14 10:00 Duração: 2h 1º Teste Sem consulta Leia com atenção a informação constante desta página, enquanto espera a indicação do docente para começar a resolução do teste.

Leia mais

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho Banco de Dados II Aula 02.4 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Subconsultas Subconsultas Contextualizando... De forma geral, grande parte das consultas

Leia mais

Classificação. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Classificação. Prof. Fabrício Olivetti de França Universidade Federal do ABC Classificação Prof. Fabrício Olivetti de França Universidade Federal do ABC Classificação Quando queremos encontrar: f(x) = y C e C = {c1, c2, c3,, cn} Classificação Se um e-mail é spam ou não De qual

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 7 a Aula Funções de ordem superior

Pedro Vasconcelos DCC/FCUP. Programação Funcional 7 a Aula Funções de ordem superior Programação Funcional 7 a Aula Funções de ordem superior Pedro Vasconcelos DCC/FCUP 2013 Funções de ordem superior Uma função é de ordem superior se tem um argumento que é uma função ou um resultado que

Leia mais

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018 2 Escreva

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

- SQL Linguagem de Manipulação de Dados

- SQL Linguagem de Manipulação de Dados - SQL Linguagem de Manipulação de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SELECT SELECT FROM [ WHERE predicado

Leia mais

Banco de dados. Aula 22 O Comando SELECT. 1 Wedson Quintanilha da Silva -

Banco de dados. Aula 22 O Comando SELECT. 1 Wedson Quintanilha da Silva - Banco de dados Aula 22 O Comando SELECT 1 O comando SELECT O comando SELECT serve para recuperarmos os dados armazenados no banco de dados. Sua estrutura BASICA é: SELECT FROM WHERE campo1, campo2, campo3,

Leia mais

Programação Funcional. Aula 4. Definindo Funções. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.

Programação Funcional. Aula 4. Definindo Funções. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011. Programação Funcional Aula 4 Definindo Funções José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011.2 1/143 1 Combinando funções 2 Expressão condicional 3 Equaçao com

Leia mais

Programação Funcional. Capítulo 21. Parsers. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2018.

Programação Funcional. Capítulo 21. Parsers. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2018. Programação Funcional Capítulo 21 Parsers José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2018.2 1/51 1 Parsers 2 Definindo um tipo para parsers 3 Parsers básicos 4

Leia mais

Ref: H.Gould e J. Tobochnik. Para integrais em uma dimensão as regras do trapezóide e de Simpson são

Ref: H.Gould e J. Tobochnik. Para integrais em uma dimensão as regras do trapezóide e de Simpson são Método de Monte Carlo Resolução de Integrais Ref: H.Gould e J. Tobochnik Para integrais em uma dimensão as regras do trapezóide e de Simpson são melhores, mais rápidas. A técnica de resolução de integrais

Leia mais

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

Exercícios de programação

Exercícios de programação Exercícios de programação Estes exercícios serão propostos durante as aulas sobre o Mathematica. Caso você use outra linguagem para os exercícios e problemas do curso de estatística, resolva estes problemas,

Leia mais

Algoritmos de Junção Estrela em MapReduce

Algoritmos de Junção Estrela em MapReduce Algoritmos de Junção Estrela em MapReduce Jaqueline Joice Brito 09 de junho de 2015 1 Modelo Relacional Dados armazenados em um conjunto de tabelas Amplamente utilizado Junção Recuperação de dados de duas

Leia mais

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

1º Teste Sem consulta

1º Teste Sem consulta Bases de Dados 2014/15 15/Abril/15 17:15 Duração: 2h 1º Teste Sem consulta Leia com atenção a informação constante desta página, enquanto espera a indicação do docente para começar a resolução do teste.

Leia mais

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs Layout Ao contrário de quase todas as linguagens de programação, o Haskell não necessita de marcas para delimitar as diversas declarações que constituem um programa. Em Haskell a identação do texto (isto

Leia mais

BANCO DE DADOS GERENCIAL 1 A U L A 2

BANCO DE DADOS GERENCIAL 1 A U L A 2 BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :

Leia mais

Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto Programação Funcional Capítulo 11 Tipos Algébricos José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/33 1 Tipos Algébricos 2/33 Tópicos 1 Tipos Algébricos 3/33

Leia mais

Lista de Exercício de Linguagens de Programação Prog. Funcional

Lista de Exercício de Linguagens de Programação Prog. Funcional UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO Lista de Exercício de Linguagens de Programação Prog. Funcional 1) Construa uma função del_posicao_n ::

Leia mais

Pesquisas em Tabelas

Pesquisas em Tabelas Projeto e Administração de Banco de Dados Pesquisas em Tabelas Objetivo Nesta unidade você vai estudar sobre pesquisas em linguagem SQL incluindo comandos de junção de tabelas. Introdução Agora que temos

Leia mais

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação Bases de Dados Índices Discos transferência lenta e em blocos (512B ~ 4KB) transferência rápida e aos bytes memória disco BD / aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000

Leia mais

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

Linguagens de Programação. Programação Funcional. Carlos Bazilio

Linguagens de Programação. Programação Funcional. Carlos Bazilio Linguagens de Programação Programação Funcional Carlos Bazilio carlosbazilio@puro.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Funções como Valores de 1a. Classe Atribuição a Variáveis a = f() g = f

Leia mais

BCD29008 Banco de Dados

BCD29008 Banco de Dados BCD29008 Banco de Dados Consulta sobre múltiplas relações Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd

Leia mais

1º Teste Sem consulta

1º Teste Sem consulta Bases de Dados 2012/13 10/Abril/13 14:30 Duração: 2h 1º Teste Sem consulta Leia com atenção a informação constante desta página, enquanto espera a indicação do docente para começar a resolução do teste.

Leia mais

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35 BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 09 Programação Funcional (Haskell) Edirlei Soares de Lima Programação Funcional A programação funcional modela um problema computacional

Leia mais

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join Bases de Dados Algoritmos para junção Algoritmos para junções Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join A escolha

Leia mais

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada 1 Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Roteiro s aulas passadas SQL

Leia mais

Desenvolvimento Web II

Desenvolvimento Web II Desenvolvimento Web II Framework Laravel 5 Rotas / Parâmetros / Eloquent (Curso e Turma) Gil Eduardo de Andrade Parâmetros e Rotas Ao definirmos as rotas da aplicação dentro Laravel (arquivo web.php) é

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU Aula 11 SBD SQL Parte 3 Profa. Elaine Faria UFU - 2018 Group by e Having Às vezes deseja-se aplicar operações agregadas a cada um dos vários grupos de linhas em um relação Group by e Having C31: Encontre

Leia mais

Lambda Cálculo e Programação Funcional. Programação Funcional Bacharelado em Sistemas de Informação Maio

Lambda Cálculo e Programação Funcional. Programação Funcional Bacharelado em Sistemas de Informação Maio Lambda Cálculo e Programação Funcional Programação Funcional Bacharelado em Sistemas de Informação Maio - 2009 Alonzo Church (1903 1995) Professor em Princeton, EUA (1929 1967) e UCLA (1967 1990) Inventou

Leia mais

INDEX. Serve para organizar os dados e agilizar a pesquisa/consulta dos dados armazenado nas tabelas.

INDEX. Serve para organizar os dados e agilizar a pesquisa/consulta dos dados armazenado nas tabelas. INDEX Serve para organizar os dados e agilizar a pesquisa/consulta dos dados armazenado nas tabelas. 1 INDEX o Criação de index segue o padrão ANSI (o mesmo comando para criar index em um determinado SGBD,

Leia mais

Exame de Admissão. Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A: GABARITO

Exame de Admissão. Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A: GABARITO Exame de Admissão Programa de Pós-Graduação em Computação Aplicada Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A:2018-03 GABARITO Nome: Instruções: Preencha seu nome de forma legível,

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas Programação Funcional 5 a Aula Definições recursivas Pedro Vasconcelos DCC/FCUP 2014 Definições usando outras funções Podemos definir funções usando outras previamente definidas (e.g. do prelúdio-padrão).

Leia mais

INF 1620 P4-09/07/03 Questão 1 Nome:

INF 1620 P4-09/07/03 Questão 1 Nome: INF 1620 P4-09/07/03 Questão 1 Um ponto geométrico no espaço 2D é representado pelas coordenadas reais x e y. Considere uma aplicação que precisa manipular pontos, através da implementação de duas funções.

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Linguagens de Programação. Programação Funcional Haskell. Carlos Bazilio

Linguagens de Programação. Programação Funcional Haskell. Carlos Bazilio Linguagens de Programação Programação Funcional Haskell Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Motivação Haskell Motivação Haskell Motivação Java 8 List pessoas

Leia mais

Introdução ao Python. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Introdução ao Python. Prof. Fabrício Olivetti de França Universidade Federal do ABC Introdução ao Python Prof. Fabrício Olivetti de França Universidade Federal do ABC Python Linguagem interpretada criada em 1991 Objetivos: enfatizar a legibilidade do código e, encurtar o tamanho dos códigos.

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Laboratório de Banco de Dados Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1, nome_tabela2,...,

Leia mais

BANCO DE DADOS. Araújo Lima. Set / Araújo

BANCO DE DADOS. Araújo Lima. Set / Araújo BANCO DE DADOS Lima Set / 2018 1 Índice 10.Linguagens de Consulta a Banco de Dados CONSULTAS MAIS COMPLEXAS 2 Consultas mais complexas... DML- Linguagem de Manipulação de Dados func (mat, nom, sal, cdd)

Leia mais

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich Árvores Binárias SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista. Figuras editadas por Isadora Maria Mendes http://www.icmc.usp.br/~paulovic

Leia mais

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20 Vetores Marina Andretta ICMC-USP 11 de abril de 2016 Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de 2016 1 / 20 Vetores Um vetor (ou array) é uma variável composta. Ele é formado por uma sequência

Leia mais

Programação Funcional

Programação Funcional Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 04: Definição de funções 1 DEFINIÇÃO DE FUNÇÕES f x1 x2...xn = E Define uma função f de tipo

Leia mais

Sintaxe do comando SELECT

Sintaxe do comando SELECT Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Sintaxe do comando SELECT SELECT FROM [WHERE ]

Leia mais

Informática I. Aula 7. Aula 7-20/09/2006 1

Informática I. Aula 7.  Aula 7-20/09/2006 1 Informática I Aula 7 http://www.ic.uff.br/~bianca/informatica1/ Aula 7-20/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

IEC Banco de Dados I Aula 06 Álgebra Relacional

IEC Banco de Dados I Aula 06 Álgebra Relacional IEC Banco de Dados I Aula 06 Álgebra Relacional Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Ambiente virtual: hlp://bdufam.wordpress.com Sumário

Leia mais

Linguagem Haskell. Maria Adriana Vidigal de Lima

Linguagem Haskell. Maria Adriana Vidigal de Lima de Valores em Haskell Linguagem Haskell Faculdade de Computação - UFU Dezembro - 2009 de Valores em Haskell 1 de Valores em Haskell Técnicas de por Seleção por Inserção Rápida por Bolha de Valores em Haskell

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

Modelo Relacional - Manipulação

Modelo Relacional - Manipulação Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas

Leia mais

Tópicos Especiais em Informática Linguagem de Programação Haskell. Tiago Alves de Oliveira

Tópicos Especiais em Informática Linguagem de Programação Haskell. Tiago Alves de Oliveira Tópicos Especiais em Informática Linguagem de Programação Haskell Tiago Alves de Oliveira Uma Introdução às Assim como as listas de compras no mundo real, listas em Haskell são extremamente úteis. Esta

Leia mais

Estruturas de dados e algoritmos fundamentais

Estruturas de dados e algoritmos fundamentais Ministério da Ciência, Tecnologia e Ensino Superior U.C. 21046 Estruturas de dados e algoritmos fundamentais 21 de Junho de 2013 INSTRUÇÕES PARA A RESOLUÇÃO DO EXAME, ACONSELHA-SE QUE LEIA ATENTAMENTE

Leia mais

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória. Bases de Dados Índices Discos transferência lenta transferência rápida e em blocos (512B ~ 4KB) e aos bytes memória disco aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000 tracks

Leia mais

Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 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 Unidade 6.2 Álgebra Relacional - Junção PACIENTE cod-pac

Leia mais

Utilizando o Postgres - comandos SQL para a manipulação de dados

Utilizando o Postgres - comandos SQL para a manipulação de dados Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

Tecnologias e Linguagens para Banco de Dados II. Pesquisando multiplas tabelas com joins

Tecnologias e Linguagens para Banco de Dados II. Pesquisando multiplas tabelas com joins Tecnologias e Linguagens para Banco de Dados II Aula 6 4329: Relacionando dados de multiplas tabelas Pesquisando multiplas tabelas com joins Pesquisando multiplas tabelas com joins INNER JOIN OUTER JOIN

Leia mais

SQL (com MySQL) Apresentação OBJETIVOS. Programação

SQL (com MySQL) Apresentação OBJETIVOS. Programação SQL (com MySQL) Programação Formato: Mentored - Presencial Preço: 395 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 2ª a 6ª das 9h às 21h30

Leia mais