Operações sobre sacos. Álgebra Relacional Extendida.

Documentos relacionados
Álgebra relacional. Fernando Lobo. Conjunto de operadores que permitem manipular relações: produtos cartesianos e joins.

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

ANÁLISE E PROJETO DE BANCO DE DADOS

Álgebra Relacional e SQL

Forma Normal de Boyce Codd 3 a Forma Normal

SQL. Agregações e agrupamentos. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Bases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

SQL: Interrogações simples

- SQL Linguagem de Manipulação de Dados

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

Álgebra Relacional operações adicionais. Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li?

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge

Sumário SELECT + FROM

Introdução a Bancos de Dados

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

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

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Álgebra Relacional e SQL operações de interesse

Dependências Funcionais

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

António Rocha Nuno Melo e Castro

Conversão de modelo E/A e UML para o modelo relacional

IEC Banco de Dados I Aula 06 Álgebra Relacional

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

Projecção Generalizada

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

Rápida revisão do Modelo Relacional

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

Operações Estendidas da Álgebra Relacional

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

Álgebra relacional. Fernando Lobo. Base de Dados, aula 12

Introdução ao PostgreSQL

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Curso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão

Bases de Dados. Optimização de planos de execução. Plano de execução

ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação

Permite que que funções aritméticas sejam usadas em listas de projeções. Representação: (E) π F1,F 2,...,F n

Fernando Lobo. Base de Dados, Universidade do Algarve 1/19. Professores da disciplina. Fernando Lobo (T e P) Alvaro Barradas (P) 2/19

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

4. Projecto de Bases de Dados

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

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

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

SQL-99: Esquema de BD EMPRESA

Bases de Dados 2013/2014 Álgebra Relacional. Helena Galhardas 2013 IST. Bibliografia. Raghu Ramakrishnan, Database Management Systems, Cap.

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

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo

Linguagem SQL Comando SELECT Agrupamento de Resultados

SQL. Prof. Roger Cristhian Gomes

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai

ÁLGEBRA E CÁLCULO RELACIONAL

Introdução ao Banco de Dados. Banco de Dados

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

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

SQL Consultas Básicas

BCD29008 Banco de dados

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

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Linguagem de Consulta/Interrogação

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

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

Definida pelo American National Standard Institute (ANSI) em 1986

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação

Subconsulta na Cláusula FROM

Escrita ( W ) do Resultado

Sintaxe do comando SELECT

Modelo Relacional - Manipulação

Consulta sobre múltiplas relações

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Ordenação de tuplos order by

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi

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

Manipulação básica de dados no PDI

SQL (Tópicos) Structured Query Language

Usaremos estas instâncias das relações Pilotos e Reservas.

Jarley Nóbrega

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

Banco de dados na Web

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

18 - Consultas em SQL

SQL Server Desenvolvedor

Consultas SQL. Andre Noel

António Rocha Nuno Melo e Castro

17 - Consultas em SQL

Estruturas de seleção. Prof.: Jesus

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Transcrição:

Operações sobre sacos. Álgebra elacional Extendida. Fernando Lobo ase de Dados, aula 14 1 / 23 Conjuntos versus sacos (bags) Um conjunto não tem elementos repetidos. Um saco pode ter. Em ambos os casos a ordem dos elementos não interessa. {1,2,3} = {3,1,2}. {1,1,2,3,1,3} = {3,2,1,1,2,1}. 2 / 23

União, intersecção, e diferença de sacos Se e S são sacos, e um tuplo t ocorre n vezes em e m vezes em S, então: t ocorre n + m vezes em S. t ocorre min(n, m) vezes em S. t ocorre max(0, n m) vezes em S. 3 / 23 Exemplos S S S S 5 6 5 6 5 6 4 / 23

Projecção de sacos π, () C 5 6 7 8 5 / 23 Porquê sacos em vez de conjuntos? Operadores podem ser implementados de forma mais eficiente. Exemplo: Projecção. (SGD não necessita de verificar a existência de tuplos repetidos). Podemos querer calcular médias ou somas (ou outro tipo de estatística) aos componentes de um atributo. 6 / 23

Selecção, produto cartesiano, joins Idêntico ao caso de conjuntos. S. < S. (S) S 2 3 4 5 4 5. S. C 2 3 4 5 4 5 2 3 4 5 4 5. S. C 4 5 4 5 4 5 4 5 7 / 23 Operadores extendidos de álgebra relacional 1. Eliminação de tuplos repetidos. 2. Operadores de agregação (utilizados juntamente com o operador de agrupamento). 3. grupamento de tuplos. 4. Projecção extendida. 5. Ordenação. 6. Outerjoin. 8 / 23

Eliminação de repetidos (δ) Converte um saco de tuplos num conjunto de tuplos. δ() 9 / 23 Operadores de agregação 1. SUM 2. VG 3. MIN e MX 4. COUNT pode ser aplicado a valores numéricos ou a strings de caracteres (MIN=1 o, MX=último, na ordem lexicográfica) número de valores de uma coluna (incluindo repetidos). 10 / 23

Exemplos SUM() = 2+4+2+2 = 10 VG() = (1+3+1+1)/4 = 1.5 MIN() = 1 MX() = 3 COUNT() = 4 11 / 23 grupamento de tuplos (γ) Cria grupos de acordo com o valor de um ou mais atributos. Pode-se aplicar agregações (SUM, VG, MX,...) a cada grupo. Forma geral: γ L (). L é uma lista de elementos, em que cada qual pode ser: um atributo de (sobre o qual será agrupado). uma agregação aplicada a um atributo de. 12 / 23

Como funciona? relação obtida γ L () é obtida por: 1. separando os tuplos de em grupos (um grupo para todos os tuplos que tenham os mesmos valores nos atributos agrupados). 2. para cada grupo, produzir um tuplo que consiste em: os valores dos atributos agrupados para esse grupo, e as agregações, relativas a cada grupo, para cada operador de agregação que conste em L. 13 / 23 Exemplo Filmes nome ano duração acores estúdio Lion King 1994 122 true Disney Total ecall 1990 110 true Fox Pocahontas 1995 115 true Disney eturn of the Jedi 1983 165 true Fox Gone With the Wind 1939 181 false Paramount Dances with Wolves 1990 132 true Fox Número de filmes feito por estúdio. γ estúdio, COUNT(nome) num. filmes (Filmes) estúdio num. filmes Disney 2 Fox 3 Paramount 1 14 / 23

Como funciona? nome ano duração acores estúdio Lion King 1994 122 true Disney Pocahontas 1995 115 true Disney Total ecall 1990 110 true Fox eturn of the Jedi 1983 165 true Fox Dances with Wolves 1990 132 true Fox Gone With the Wind 1939 181 false Paramount COUNT(nome) é aplicado a cada grupo. 15 / 23 Outro exemplo Filmes nome ano duração acores estúdio Lion King 1994 122 true Disney Total ecall 1990 110 true Fox Pocahontas 1995 115 true Disney eturn of the Jedi 1983 165 true Fox Gone With the Wind 1939 181 false Paramount Dances with Wolves 1990 132 true Fox Duração mínima e máxima dos filmes feitos por cada estúdio num determinado ano. γ estúdio, ano, MIN(duração) dur. mínima, MX(duração) dur. máxima (Filmes) estúdio ano dur. mínima dur. máxima Disney 1984 122 122 Disney 1985 115 115 Fox 1983 165 165 Fox 1990 110 132 Paramount 1939 181 181 16 / 23

Como funciona? nome ano duração acores estúdio Lion King 1994 122 true Disney Pocahontas 1995 115 true Disney eturn of the Jedi 1983 165 true Fox Total ecall 1990 110 true Fox Dances with Wolves 1990 132 true Fox Gone With the Wind 1939 181 false Paramount grupos são feitos para cada par de valores distintos em (estúdio,ano). para cada grupo, calcula-se MIN(duração) e MX(duração). 17 / 23 Projecção extendida, π L () Cada elemento de L pode ser: 1. Um atributo de. 2. Uma expressão x y (em que x e y são nomes de atributos, equivalente a um rename de x para y). 3. Uma expressão E z (em que E pode envolver atributos de, constantes, e operadores aritméticos e de strings). 18 / 23

Exemplo π, +C X () C 0 0 5 X 0 3 0 3 3 9 19 / 23 Ordenação, τ L () Converte para uma lista ordenada segundo os atributos especificados na lista L. Exemplo: τ,c () ordena os tuplos de por, e em caso de empate por C. τ,c () C 5 3 5 8 1 7 5 8 1 0 3 2 1 0 C 8 1 0 2 1 0 8 1 7 3 5 5 3 5 20 / 23

Outerjoin ( ) diciona ao output tuplos que falham a condição de join. Esses tuplos ficam com o símbolo null ( ) nos atributos que não possuem. Existem variantes: Outer Join, Left Outer Join, ight Outer Join. 21 / 23 Exemplo U U V V C 3 4 5 6 7 8 9 C D 2 3 10 2 3 11 6 7 12 C D 3 10 3 11 4 5 6 7 8 9 6 7 12 22 / 23

Left e ight Outerjoin ( L e ) U U L V V C 3 4 5 6 7 8 9 C D 2 3 10 2 3 11 6 7 12 U V C D 3 10 3 11 4 5 6 7 8 9 C D 3 10 3 11 6 7 12 23 / 23