Bancos de Dados. 15. Processamento e O3mização de Consultas
|
|
- Gabriel Henrique das Neves Vilaverde
- 6 Há anos
- Visualizações:
Transcrição
1 Bancos de Dados 15. Processamento e O3mização de Consultas
2 Introdução Existe nos SGBDR um módulo conhecido como o3mizador de consultas A expressão o3mização de consultas, embora seja frequentemente u3lizada, é na verdade imprópria, pois em alguns casos a estratégia encontrada não é garan3damente a melhor possível (ó3ma) Encontrar a estratégia ó3ma consumiria muito tempo, e exigiria o uso de informação dinâmica sobre o conteúdo e organização em disco das tabelas Em vez de o3mização de consultas, deveríamos dizer planejamento de execução de consultas
3
4 Introdução Em algumas linguagens de consulta, a estratégia está definida na maneira em que o programador implementa a consulta Em SQL, que é uma linguagem declara3va, apenas os resultados desejados são especificados Portanto, a o3mização de consultas é necessária em SGBD relacionais, baseados em SQL
5 Introdução Passos: Tradução de consultas SQL em álgebra relacional O3mização usando o resultado da tradução Estratégias de o3mização Heurís3cas Baseadas na es3ma3va de custos O3mização semân3ca (recente)
6 Ferramentas Algoritmos para ordenação em memória secundária Algoritmos para SELECT Algoritmos para JOIN Algoritmos para PROJECT e operações de conjunto Alterna3vas para implementação das operações de agregação e outros 3pos de JOIN (OUTER, LEFT, RIGHT, etc.)
7 Ordenação Externa A ordenação é um dos principais recursos para o3mização de consultas Usada sempre que aparece ORDER BY Usada para implementar algoritmos SORT-MERGE para processar junções Usada na eliminação de tuplas duplicadas (cláusula DISTINCT, ou em operações de conjuntos) A ordenação pode ser evitada se houver um índice Estratégia usual: SORT-MERGE Dividir a tabela em pedaços que caibam na memória Ordenar cada pedaço e salvar em disco Mesclar os pedaços (à la MergeSort) Vide E&N para a análise de complexidade
8
9 Ordenação Externa O tamanho dos buffers de memória disponíveis para o SGBD é importante Tuning: definir um balanceamento para divisão da memória entre Buffers do SGBD e caches de I/O Espaço disponível para o S.O. (paginação, memória virtual) No tuning de I/O e do SGBD, o fator crí3co é a memória principal Se o SGBD usar memória em excesso, tornará o S.O. lento Se usar muito pouca memória, terá seu funcionamento prejudicado Servidores de BD 3picamente são configurados com muita memória, mas ter muitos dados em buffers de memória aguardando a gravação defini3va aumenta a dificuldade das operações de recuperação de falhas
10 Algoritmos para SELECT Casos gpicos de SELECT OP1: σ CPF= (EMPREGADO) Igualdade, atributo único, possível índice OP2: σ NUMDEP>5 (DEPARTAMENTO) Não igualdade, atributo único, possível índice OP3: σ NUD=5 (EMPREGADO) Igualdade em atributo não-chave OP4: σ (NUD=5 AND SALARIO>3000 AND SEXO=F) (EMPREGADO) Múl3plas condições simultâneas (conjun3vas) OP5: σ CPFE= AND PNO=10 (TRABALHA_EM) Múl3plas condições simultâneas (conjun3vas), com possível índice
11 SELECT Algoritmos para implementação de SELECT S1. Busca linear (força bruta) S2. Busca binária S3a. Usar um índice primário S3b. Usar uma chave de hash S4. Usar índice primário para recuperar múl3plos resultados S5. Usar índice em cluster S6. Usar um índice secundário (ex. B+-tree) S7a. Usar índice em bitmap S7b. Usar um índice funcional S8. Métodos de busca para seleção conjun3va (índice composto, interseção de índices, índices mul3dimensionais ) S9. Métodos de busca para seleção disjun3va
12 Algoritmos para SELECT S1. Busca linear (força bruta): recuperar todos os registros no arquivo, testando se os valores atendem ou não à condição de seleção S2. Busca binária: executada sobre o atributo que determina a ordenação do arquivo (ex.: OP1, se CPF for a chave de ordenação do arquivo) S3: Uso de índice primário (ou chave de hashing): executada sobre o atributo que determina a indexação do arquivo. Recupera no máximo um registro (ex.: OP1, se CPF for a chave de indexação)
13 Algoritmos para SELECT S4. Uso de índice primário para recuperar múl3plos registros: executado se a comparação não for de igualdade mas for sobre um atributo chave de um índice primário (ex.: NUMDEP em OP2) S5. Uso de índice em cluster para recuperar múl3plos registros: executado se a comparação não for de igualdade e for sobre atributo não-chave que possui índice em cluster (ex.: NUD=5 em OP3) S6. Uso de índice secundário (B-tree, B+-tree) sobre comparação de igualdade: usado para recuperar um único registro se o atributo de indexação for chave (valores únicos) ou para recuperar múl3plos registros se o atributo de indexação não for chave
14 Algoritmos para SELECT S7. Seleção conjun3va usando índice individual: se um atributo envolvido em uma única condição simples em uma cláusula de junção conjun3va possuir um caminho de acesso que permita usar S2 a S6, selecionar com base nesse atributo e checar o atendimento às demais condições em cada registro recuperado S8. Seleção conjun3va usando índice composto: se dois ou mais atributos envolvidos em comparações de igualdade na condição de seleção conjun3va, e um índice composto exis3r para esses atributos, selecionar com base nesses atributos e checar o atendimento às demais condições em cada registro recuperado (ex.: OP5, com índice sobre CPFE e PNO)
15 Algoritmos para SELECT S9. Seleção conjun3va pela interseção de apontadores de registros: se índices secundários ou outros caminhos de acesso es3verem disponíveis para mais de um dos atributos envolvidos na condição de seleção conjun3va, cada índice pode ser usado para recuperar um conjunto de apontadores para registros que sa3sfazem parcialmente à condição. A interseção entre esses conjuntos indica os registros que devem ser recuperados
16 Métodos de acesso Exemplo: árvore B+ Clodoveu Davis 16
17 Ferramentas Es3ma3va da sele3vidade de uma condição Cálculo aproximado do custo de uma operação de seleção Heurís3ca: baseado no 3po do atributo e no operador de comparação Baseado em custos: cálculo apoiado por metadados man3dos pelo SGBD Usado na priorização das condições, quando há várias Condições mais sele)vas são executadas primeiro
18 N_distinct: se -1, provavelmente valores únicos; se < 1, indica % de registros únicos; se > 1, indica número de valores distintos Clodoveu Davis 18
19 Ferramentas Algoritmos para implementação de JOIN J1. Loops aninhados J2. Loops aninhados baseados em índice J3. Sort-merge join J4. Par33on-hash join Es3ma3vas do fator de seleção na junção Fração dos registros de uma tabela que serão combinados com registros da outra tabela
20 Algoritmos para JOIN JOIN é uma das operações mais pesadas no processamento de consultas Serão analisadas aqui apenas EQUIJOINs ou NATURAL JOINs, que são a maioria dos casos (R A=B S) Casos gpicos OP6: EMPREGADO DNO=NUMDEP DEPARTAMENTO OP7: DEPARTAMENTO CPFGER=CPF EMPREGADO
21 Algoritmos para JOIN J1. Junção usando loop aninhado (força bruta): para cada registro r de R, recuperar todo registro s de S e testar se os dois registros atendem a condição de junção J2. Junção usando loop simples: requer estrutura de acesso para recuperar os registros correspondentes na outra tabela, portanto um dos atributos da condição de junção precisa ser a chave de um índice J3. Junção sort-merge: se os registros de R e de S es3verem fisicamente ordenados pelos atributos A e B, realizar a junção pela varredura simultânea dos dois arquivos (este é o método mais eficiente possível)
22 Algoritmos para JOIN J4. Hash-join: os registros de R e de S são espalhados no mesmo arquivo de hash, usando a mesma função de hash e tendo os dois atributos, A e B, como chaves Primeira passada: hashing dos registros do arquivo que contém menos registros (R) Segunda passada: varredura simples dos registros do outro arquivo (S), testando o atendimento à condição de junção em todos os registros do bucket correspondente à chave de S
23 Algoritmos para JOIN Todos os algoritmos devem ser implementados para lidar com blocos de disco inteiros, em vez de registros individuais Há muita influência do tamanho do buffer na memória para executar as operações
24 Algoritmos para PROJECT e operações de conjunto O PROJECT é de implementação simples se a lista de atributos con3ver uma chave Se não con3ver, é necessário resolver a eliminação de duplicatas A eliminação é feita após uma ordenação, mas também pode ser resolvida usando hashing (como em J7) Operações de conjunto são caras, em par3cular o produto cartesiano A implementação é feita usando variações da técnica sortmerge, ou usando hashing
25 Algoritmos para Operações de Agregação e Outer Joins Os operadores de agregação podem ser implementados usando uma varredura na tabela ou o percurso de um índice, se disponível Se exis3r índice, o resultado de MIN e MAX pode ser ob3do diretamente O resultado de COUNT pode ser ob3do no índice, sem a necessidade de acessar os registros SUM e AVG podem ser muito simplificados se forem sobre um valor indexado
26 Algoritmos para Operações de Agregação e Outer Joins Quando existe cláusula GROUP BY, a tabela deve ser par3cionada em subconjuntos de tuplas Isso é feito usando hashing ou ordenando Se exis3r um índice em cluster, esse par3cionamento pode já estar pronto para uso Outer joins são resolvidos usando variações dos algoritmos de join, como J1 ou J2; no caso, o loop externo tem que ser sobre a tabela ligada ao lado do outer join
27 Tradução de Consultas SQL para AR Consultas SQL são decompostas em blocos Cada bloco é transformado em uma expressão da AR Os blocos são o3mizados internamente e através de decisões sobre a ordem de execução dos blocos Um bloco contém um único comando SELECT-FROM- WHERE, incluindo cláusulas GROUP BY e HAVING, se houver
28 Tradução de Consultas SQL para AR Exemplo SELECT nome FROM empregado WHERE salario > (SELECT MAX(salario) FROM empregado WHERE numdep = 5) SELECT MAX(salario) FROM empregado WHERE numdep = 5 SELECT nome FROM empregado WHERE salario > c > F MAX(salario) (σ numdep=5 (empregado)) > π nome (σ salario>c (empregado)) /* c = result.consulta anterior
29 Tradução de Consultas SQL para AR No exemplo, a subconsulta interna precisa ser executada apenas uma vez Subconsulta não correlacionada A ordem ideal é fácil de determinar Subconsultas correlacionadas (em que uma variável de tupla do bloco externo aparece no bloco interno) são bem mais complicadas
30 Heurís3cas para o3mização de consultas Sequência básica de eventos: O parser da consulta gera uma representação interna inicial A o3mização é realizada de acordo com regras heurís3cas Um plano de execução é construído, de modo a gerar grupos de operações com base nos arquivos e índices envolvidos O plano é repassado ao processador de run3me para escalonamento Em vez das regras heurís3cas, cálculos baseados em um modelo de custos podem ser usados
31 Árvores e grafos de consulta Árvore de consulta: corresponde a uma expressão em AR Relações de entrada são representadas em folhas Operações são representadas em nós internos A execução consiste em executar as operações assim que os operandos correspondentes es3verem disponíveis, e subs3tuir o nó interno com o resultado (uma relação) O processo termina quando o nó raiz é executado Exemplo: SELECT P.PNUMBER, P.DNUM, E.LNAME, E.ADDRESS, E.BDATE FROM PROJECT P, DEPARTMENT D, EMPLOYEE E WHERE P.DNUM = D.DNUMBER AND D.SSNMGR = E.SSN AND P.LOCATION= STAFFORD
32
33 Árvores e grafos de consulta Grafos de consulta: relações são indicadas em nós, valores constantes são indicados em nós com linhas duplas, e condições de seleção e junção são indicadas nos arcos Grafos de consulta não indicam a ordem de execução, ao contrário das árvores Existe apenas um grafo correspondente a cada consulta Árvores de consulta são preferidas para a o3mização, pois o processamento precisa ter sua ordem definida
34 O3mização heurís3ca de árvores de consulta Parte de uma árvore canônica, obviamente ineficiente mas fácil de compor No exemplo anterior, considerando: P tem 100 tuplas de 100 bytes D tem 20 tuplas de 50 bytes E tem 5000 tuplas de 150 bytes Os produtos cartesianos resultariam em 10 milhões de tuplas de 300 bytes cada Transformações a par3r da árvore canônica usam regras de equivalência entre expressões da AR para melhorar progressivamente esse resultado
35 Exemplo SELECT P.Pnumber, D.Dnum, E.Lname, E.Address, E.Bdate FROM PROJECT P, DEPARTMENT D, EMPLOYEE E WHERE AND AND P.Dnum = D.Dnumber D.Mgr_SSN = E.SSN P.Plocation = Stafford > Para cada projeto situado em Stafford, recuperar o número do projeto, o número do departamento que o controla, e o sobrenome, endereço e data de nascimento de seu gerente. π Pnumber,Dnum,Lname,Address,Bdate (((σ Ploca3on= Stafford (PROJECT) Dnum=Dnumber (DEPARTMENT)) Mgr_ssn=Essn (EMPLOYEE))
36 Exemplo, etapa 1
37 Exemplo, etapa 2 Duas seleções (PNAME e BDATE) são aplicadas antes dos produtos cartesianos, para reduzir o número de tuplas resultantes
38 Exemplo, etapa 3 As posições de EMPLOYEE e PROJECT são trocadas para que a condição de seleção mais restritiva (PNAME=...) seja executada primeiro
39 Exemplo, etapa 4 Produtos cartesianos seguidos de seleção são substituídos por JOINs
40 Exemplo, etapa 5 Manter a cada passo apenas os atributos necessários deslocar as operações PROJECT para baixo
41 O3mização heurís3ca de árvores de consulta As transformações do exemplo são possíveis apenas se forem comprovadamente equivalentes, de modo a não alterar o resultado final Ou seja, a cada passo as árvores de consulta são equivalentes Existem regras gerais de transformação que garantem a equivalência
42 O3mização heurís3ca de árvores de consulta Regras gerais de transformação R1. Cascata de seleções: σ <cond1 E cond2 E... E condn> (R) = σ <cond1> (σ <cond2> (... σ <condn> (R)) R2. Comuta3vidade de seleções: σ <cond1> (σ <cond2> (R)) = σ <cond2> (σ <cond1> (R)) R3. Cascata de projeções: π <lista 1> (π <lista 2) (R)) = π <lista 1> (R) R4. Comuta3vidade de SELECT e PROJECT π <lista> (σ <cond> (R)) = σ <cond> (π <lista> (R))
43 O3mização heurís3ca de árvores de consulta Regras gerais de transformação (cont.) R5. Comuta3vidade de JOIN e produto cartesiano R X S = S X R, e (R JOINc S = S JOINc R) R6. Comuta3vidade entre SELECT e JOIN (ou X) σ <cond1> (R JOINc S) = σ <cond1> (R) JOINc S R7. Comuta3vidade entre PROJECT e JOIN (ou X) π <lista> (R JOINc S) = π <listar> (R) JOINc π <listas> (S) Se algum atributo usado em c não es3ver nas listas, acrescentar em ambas R8. Comuta3vidade das operações de união e interseção R9. Associa3vidade de JOIN, X, união e interseção ( Rθ S) θt = Rθ ( SθT )
44 O3mização heurís3ca de árvores de consulta Regras gerais de transformação (cont.) R10. Comuta3vidade entre SELECT e operações de conjuntos σ <cond> (R θ S) = σ <cond> (R) θ σ <cond> (S) R11. Comuta3vidade entre PROJECT e união π <lista> (R U S) = π <lista> (R) U π <lista> (S) R12. Definição de junção σ <cond> (R X S) = R JOIN cond A
45 O3mização heurís3ca de árvores de consulta Passos de um algoritmo de o3mização heurís3ca 1. Usando R1, quebrar operações SELECT com condições conjun3vas em uma cascata de SELECTs 2. Usando R2, R4, R6, R10, mover cada SELECT para baixo na árvore tanto quanto possível (dependendo dos atributos envolvidos na condição de seleção) 3. Usando R5, R9 quanto à comuta3vidade e associa3vidade, rearranjar os nós folha de acordo com o seguinte: 3.1 Posicionar os nós folha com condições mais restri3vas para execução mais cedo (produzem menos tuplas, têm o menor tamanho absoluto, ou têm menor sele3vidade) 3.2 Garan3r que a ordenação dos nós folha não provoque a execução de um produto cartesiano (p.ex., as condições mais restri3vas não têm um JOIN em comum, e produzem mais de uma tupla cada)
46 O3mização heurís3ca de árvores de consulta Algoritmo (cont.) 4. Usando R12, combinar produtos cartesianos com SELECTs subseqüentes para formar JOINs 5. Usando R3, R4, R7 e R11, quebrar em partes e mover para baixo tanto quanto possível as operações PROJECT, mantendo apenas os atributos necessários para processamento dos passos subseqüentes 6. Iden3ficar sub-árvores que representem grupos de operações que possam ser executadas por um único algoritmo de recuperação, possivelmente sem a necessidade de armazenamento de resultados intermediários (execução em pipeline versus execução materializada)
47 Sele3vidade e es3ma3vas de custos para o3mização As regras heurís3cas não são suficientes em todos os casos Existem situações de o3mização que podem ser melhor resolvidas se exis3r informação sobre os volumes de dados envolvidos Para que isso funcione corretamente, as es3ma3vas de custos têm que ser realistas e justas O custo do processamento das alterna3vas também não pode ser excessivo Es3ma3vas de custos são mais empregadas em consultas compiladas antecipadamente, enquanto para consultas intera3vas a escolha de uma alterna3va pode afetar o tempo de resposta
48 Sele3vidade e es3ma3vas de custos para o3mização A o3mização de consultas baseada em custos usa técnicas de o3mização propriamente ditas para encontrar a solução ó3ma em um espaço de soluções, minimizando o valor de uma função obje)vo (função de custo) As funções obje3vo são aproximadas, e portanto nem quando a solução ó3ma do problema de custos é encontrado podemos garan3r que se trata da solução ó3ma da estratégia para a consulta
49 Sele3vidade e es3ma3vas de custos para o3mização Componentes de custo Custo do acesso à memória secundária Custo de armazenamento (temporário) Custo computacional (busca, ordenação, cálculos, etc.) Custo de uso de memória principal (buffers necessários) Custo de comunicação (envio/recebimento da consulta e resultados) Para grandes BD, a ênfase é na minimização do custo de acesso à memória secundária Para BD de pequeno porte (cabe quase tudo na memória), a ênfase pode ser no custo computacional Em BD distribuídos, o custo de comunicação pode ser predominante Em muitos casos, considera-se apenas o custo do acesso ao disco
50 Sele3vidade e es3ma3vas de custos para o3mização Uso de informações do catálogo Número de registros (tuplas) (r) Tamanho médio do registro (R) Número de blocos de disco (b) Fator de bloco (número de registros por bloco) (ƒ) Número de níveis dos índices mul3nível (x) Número de valores dis3ntos de um atributo (d) Sele3vidade (sl): fração dos registros que sa3sfaz a uma condição de igualdade sobre o atributo (ex.: em 1000 registros, a sele3vidade de um atributo CPF é 0,001; a de um atributo sexo é 0,50) Atributo chave: sl = 1/r Atributo não chave: sl = d/r Cardinalidade da seleção (s): número médio de registros que sa3sfaz a uma condição de igualdade sobre o atributo (s = sl * r) Essas informações são aproximadas, dificilmente estarão totalmente atualizadas
51 Sele3vidade e es3ma3vas de custos para o3mização Exemplos de uso de funções de custo para SELECT Supondo r(empregado) = r E = 10000, b E = 2000, bf E = 5 Caminhos de acesso Índice em cluster sobre o atributo SALARIO, com x SAL = 3 níveis e cardinalidade s SAL = 20 Índice secundário sobre o atributo chave CPF, com x CPF =4 e s CPF = 1 Índice secundário sobre o atributo NUD, com x NUD =2 e b NUD = 4 blocos no primeiro nível, sendo d NUD =125, e portanto s NUD =10000/125 = 80 Índice secundário sobre o atributo SEXO, com x SEXO =1, sendo d SEXO = 2, e portanto s SEXO = 5000
52 Sele3vidade e es3ma3vas de custos para o3mização Exemplos (custos em número de acessos a disco) OP1: σ CPF= (EMPREGADO) Opções: S1 (força bruta) ou S6 (B-Tree, com igualdade) Custo de S1 = 2000/2 = 1000 (busca seqüencial por atrib. chave) Custo de S6 = x CPF + 1 = = 5 OP2: σ NUMDEP>5 (DEPARTAMENTO) Opções: S1 (força bruta) ou S6 (B-Tree, com > ) Custo de S1 = 2000 (busca seqüencial por atrib. não chave) Custo de S6 = x NUD + (b NUD / 2) + (r / 2) = 2 + 4/ /2 = 5004 (1 bloco por nível + metade dos blocos em cada nível + metade dos registros via índice)
53 Sele3vidade e es3ma3vas de custos para o3mização Exemplos (custos em número de acessos a disco) OP3: σ NUD=5 (EMPREGADO) Opções: S1 ou S6 Custo de S1= 2000 (busca seqüencial por atrib. não chave) Custo de S6 = x NUD + s NUD = = 82 OP4: σ (NUD=5 AND SALARIO>3000 AND SEXO=F) (EMPREGADO) Opções: S1 ou S6 Custo de S1 = 2000 Custo de S6 sobre NUD = 82 (cf. acima) Custo de S6 sobre SALARIO = x SAL + b E / 2 = /2 = 1003 Custo de S6 sobre SEXO = x SEXO + s SEXO = = 5001 Executar a seleção sobre NUD, executando a parte final da condição sobre cada registro recuperado O que ocorreria se o depto. 5 3vesse de fato 90% dos empregados?
54 Sele3vidade e es3ma3vas de custos para o3mização Para que se tenha es3ma3vas minimamente precisas para operações de junção, é necessário es3mar a quan3dade de tuplas que resulta É em geral definido como a fração de tuplas resultantes da junção sobre a quan3dade de tuplas produzidas por um produto cartesiano Sele)vidade da junção (join selec3vity, js) js = (R JOINc S) / (R X S) = (R JOINc S) / R * S Caso especial: condição de junção é R.A = S.B Se A é chave de R, então js <= 1 / R Se B é chave de S, então js <= 1 / S Loops aninhados (J1) ou loops únicos (J2) devem ser escolhidos com base na tabela com menos registros Vide seções e para es3ma3vas completas de custos em exemplos
55 Referências Capítulo 18 e 19 de Elmasri & Navathe 7ª Edição Vide: seção sobre estratégias de o3mização no ORACLE e documentação do ORACLE Comando HINT, para influenciar as decisões do o3mizador
Tecnologias de Bancos de Dados
Tecnologias de Bancos de Dados Processamento e Otimização de consultas Professor: Tadeu dos Reis Faria Set/2008 Referências Bibliográficas NAVATHE, Shamkant B., ELSMARI, Ramez. Sistemas de Banco de Dados.
Leia maisProcessamento e Otimização de Consultas
Processamento e Otimização de Consultas Processo de Execução de uma Consulta 1 Otimização de Consultas SQL Em algumas linguagens de consulta, a estratégia de execução é definida pela maneira como o usuário
Leia maisBanco 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 maisMATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro
MATA60 BANCO DE DADOS Aula: Otimização Prof. Daniela Barreiro Claro Introdução a Otimização SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem
Leia maisProcessamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR
Processamento e Otimização de Consultas Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Conteúdo Processamento de consultas; Introdução Etapas no Processamento de Consultas
Leia maisIntrodução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE))
Introdução Como o SGBD INTERNAMENTO processa, otimiza e executa consultas de alto nível Introdução a Processamento de Consultas MIRELLA M. MORO mirella@dcc.ufmg.br http://www.dcc.ufmg.br/ br/~mirella 2
Leia maisBanco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006
Banco de Dados Otimização de consultas Última atualização: 15 de maio de 2006 Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai Introdução Consulta em linguagem de alto nível Análise e validação Forma
Leia mais3 Plano de Execução de Consultas
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos
Leia maisUTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas
UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:
Leia maisACH2025. Laboratório de Bases de Dados Aula 15. Processamento de Consultas Parte 2 Otimização. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratório de Bases de Dados Aula 15 Processamento de Consultas Parte 2 Otimização Professora: Fátima L. S. Nunes Contexto Dada uma expressão em álgebra relacional, o otimizador deve propor um
Leia maisÁLGEBRA E CÁLCULO RELACIONAL
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1
Leia maisSumário. Definição do Plano de Execução
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos de
Leia maisProcessamento de Consultas. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR
Processamento de Consultas Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Sumário Plano de Consulta; Modelos de processamento de Consultas; Metódos de Acesso; Algoritmos de seleção;
Leia maisEscrita ( W ) do Resultado
Escrita ( W ) do esultado Qualquer alternativa de processamento deve considerar este custo b res = número de blocos de resultado a ser W Exemplo: estimativa de W do resultado de um produto b res = tamanhoproduto
Leia maisCompilação, Otimização e Execução de Consultas. Profa. Dra. Cristina Dutra de Aguiar Ciferri
Compilação, Otimização e Execução de Consultas Cristina Dutra de Aguiar Ciferri Decomposição de Consultas Bloco de consulta é uma unidade básica que pode ser traduzida em operadores algébricos e otimizada
Leia maisBases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.
Bases de Dados Algoritmos Custo de operação Algoritmos de selecção Algoritmo de ordenação Algoritmos de junção Outras operações Materialização e pipelining 2 1 Bases de Dados Algoritmos de selecção Algoritmos
Leia maisHá 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Á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 maisProcessamento de Produtos ( X )
Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A: laço aninhado com índice ( indexed nestedloop ) A: merge-junção ( balanced-line ou sortmerge
Leia maisUso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas
usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de
Leia maisANÁ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 maisBanco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011
Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE
Leia maisRá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 maisProcessamento e Otimização de Consultas
Introdução Processamento e Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Processamento
Leia mais- 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 maisProcessamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas
Processamento de Processamento de Consultas Processamento de Consultas Passos na execução de consultas Consulta ao B.D. Análise e Tradução Expressão Algébrica Avaliação Plano de Execução Otimização Resultado
Leia maisOtimização de Consultas Baseada em Custo. Cristina Dutra de Aguiar Ciferri
Otimização de Consultas Baseada em Custo Cristina Dutra de Aguiar Ciferri Estatísticas Informações aproximadas sobre base de dados cada tabela cada atributo de cada tabela cada índice Coletadas durante
Leia maisIEC 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 maisBanco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011
Banco de Dados Aula 8 - Prof. Bruno Moreno 16/09/2011 Plano de Aula Operações Unárias Seleção Projeção Operações de seleção e projeção seqüenciadas Operação Rebatizar Operações Binárias União Interseção
Leia maisSQL Consultas Básicas
SQL Consultas Básicas Consulta a dados de uma tabela select lista_atributos from tabela [where condição] Mapeamento para a álgebra relacional select a 1,..., a n from t where c π a1,..., an (σ c (t)) Exemplos
Leia maisBanco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado
Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado Forma geral: SELECT FROM [WHERE ] [GROUP BY ]
Leia maisÁlgebra Relacional e SQL operações de interesse
Álgebra Relacional e SQL operações de interesse 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
Leia maisOTIMIZAÇÃO DE CONSULTAS RELACIONAIS TRABALHO DE PÓS-GRADUAÇÃO
UNIVERSIDADE ESTADUAL DE CAMPINAS PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE COMPUTAÇÃO OTIMIZAÇÃO DE CONSULTAS RELACIONAIS TRABALHO DE PÓS-GRADUAÇÃO Alunos: João Paulo Silva Cintra Renato Capello
Leia maisBases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9
BDDAD Bases de Dados Linguagem SQL Comando SELECT Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9 Operador Sumário Introdução Expressão Equivalente em SQL Soluções Tradução Directa de Expressão Algébrica Quantificação
Leia maisGES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação
GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM
Leia maisMATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro
MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create
Leia maisDouglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador
Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador Introdução Objetivos Fundamentação teórica Desenvolvimento da ferramenta Operacionalidade Resultados e discussão Conclusões Versões futuras
Leia maisTABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE
TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE CARACTERISTICA DE UMA TABELA: NÃO EXISTEM DUAS LINHAS IGUAIS A ORDEM DAS LINHAS É INSIGNIFICANTE A ORDEM DAS COLUNAS É INSIGNIFICANTE
Leia maisBanco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.
Banco de Dados I Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo DML Data Manipulation Language Parte II Consultas Básicas
Leia maisSistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas
DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes
Leia maisBanco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional
Banco de Dados Prof. Célio R. Castelano Página 1 de 9 Álgebra Relacional A álgebra relacional é uma linguagem procedural, que possui uma coleção de operações que são utilizadas para manipular relações
Leia maisOTIMIZAÇÃO DE CONSULTAS - MYSQL. Prof. Antonio Almeida de Barros Junior
OTIMIZAÇÃO DE CONSULTAS - MYSQL Prof. Antonio Almeida de Barros Junior Para a otimização de um SGBD precisamos identificar as consultas lentas que eventualmente são submetidas ao banco: Configurações do
Leia maisUnipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi
Banco de Dados II Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Álgebra Relacional Linguagem de consulta procedural; Consiste em um conjunto básico de operações,
Leia maisModelo 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Álgebra e cálculo relacional. Andre Noel
Álgebra e cálculo relacional Andre Noel Introdução Introdução A SQL é baseada na álgebra e no cálculo relacional Introdução A SQL é baseada na álgebra e no cálculo relacional O modelo de dados precisa
Leia maisProcessamento da Consulta. Processamento da Consulta
Processamento da Consulta Equipe 05 Adriano Vasconcelos Denise Glaucia Jose Maria Marcigleicy Processamento da Consulta Refere-se ao conjunto de atividades envolvidas na extra de dados de um banco de dados.
Leia maisOtimização e Execução de Consultas Caso Centralizado Parse Query
Bancos de Dados III Processamento de Consultas em Bancos de Dados Distribuídos Rogério Costa rogcosta@inf.puc-rio.br 1 Otimização e Execução de Consultas Caso Centralizado Parse Query Check de Semântica
Leia maisSQL-99: Esquema de BD EMPRESA
SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado
Leia mais23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional
Processamento de Consultas em BD Distribuídos Decomposição de consultas e Localização de dados IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias
Leia maisIntrodução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...
Ciência da Computação GBC043 Sistemas de Banco de Dados Linguagens formais de Consulta Modelo Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019
Leia mais23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas
Processamento de Consultas em Bancos de Dados Distribuídos Visão geral do processamento de consultas IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias
Leia maisINSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados
Número: Nome: -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame
Leia maissaída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única
Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor
Leia maisDCC011 Introdução a Banco de Dados
DCC011 Introdução a Banco de Dados SQL select avançado Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Revisão: consultas básicas Formato
Leia maisBases de Dados. Optimização de planos de execução. Plano de execução
Bases de Dados Optimização de planos de execução Plano de execução O plano de execução define a sequência de operações e o algoritmo para cada operação 2 1 Plano de execução Mas atenção: escolher o algoritmo
Leia maisL Q S m e g a u g n Li A
A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado
Leia maisSumá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 maisBancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa
Bancos de Dados IV Tuning de Bancos de Dados Rogério Costa rogcosta@inf.puc-rio.br 1 Sintonia (Tuning) de Bancos de Dados O que é? Realizar ajustes de forma a obter um melhor tempo de resposta para determinada
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS ESTRUTURAS E INDEXAÇÃO FELIPE G. TORRES ARQUIVOS Um arquivo é uma sequência de registros. Em muitos casos do mesmo tipo. Se cada registro no arquivo tem exatamente o
Leia maisSQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...
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@facom.ufu.br Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...
Leia maisEtapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório
UFU/FACOM/BCC GBC053 - Gerenciamento de Banco de Dados - 2018/2 Trabalho de Implementação Prof. Ilmério Reis da Silva O trabalho semestral da disciplina em epígrafe tem como objetivo a implementação de
Leia maisOperaçõ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 maisSintaxe 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 maisde Bases de Dados Exame 1
Ano lectivo 2011/2012 2 o semestre Administração e Optimização de Bases de Dados Exame 1 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta. Poderá consultar o livro, slides da
Leia maisGES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas
GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM Página
Leia maisSQL - 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 maisEncontro SQL BH. February Otimização de Consultas no SQL Server
Encontro SQL BH February 2016 Otimização de Consultas no SQL Server Apoio Global Portuguese Virtual PASS Local Chapters Upcoming SQL Saturdays Brazil Apr 9 Joinville #488 Jun 18 Rio de Janeiro #512 Visit
Leia maisde Bases de Dados Exame 2
Ano lectivo 2009/2010 2 o semestre Administração e Optimização de Bases de Dados Exame 2 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de
Leia maisIntroduçã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 maisSubconsulta na Cláusula FROM
Subconsulta na Cláusula FROM Gera uma tabela derivada a partir de uma ou mais tabelas, para uso na consulta externa otimização: filtra linhas e colunas de uma tabela que são desejadas pela consulta externa
Leia maisOrdenação e Busca em Arquivos
Ordenação e Busca em Arquivos Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Exemplos de Busca Registros de tamanho fixo M A R I A R U A b 1 S A O b C A
Leia mais- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.
2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação
Leia maisORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL
ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Objetivo: No curso Oracle 11G Introdução ao Oracle, SQL, PL/SQL será abordado desde a introdução da tecnologia do banco de dados em questão como todos os conceitos
Leia maisTornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.
Histórico Foi introduzido por Codd (1970) Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. É um modelo formal, baseado na teoria matemática das relações
Leia maisOracle Database 11g: Introdução à Linguagem SQL Novo
Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.
Leia maisÁlgebra Relacional. Introdução. Introdução. Álgebra Relacional
Pós-graduação em Ciência da Computação CCM-205 Sistema de Bancos de Dados O que foi visto até agora... Álgebra Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala
Leia maisOracle Database: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens
Leia maist n e z m r A o o d ç a a d B e L s i u e f F s L e
o t n e m a n e z a m r A o I ã I ç a D x B e d n I e s o d a d de te i e L e p eli F s i u L or: s s e f o r P Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Como é possível quando
Leia maisAula 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 maisINF70 Gerenciamento de Banco de Dados 2 Ordenação Externa. Ilmério Reis da Silva UFU/FACOM/BCC
INF70 Gerenciamento de Banco de Dados 2 Ordenação Externa Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Roteiro Fundamentos Two-way Merge Sort External Merge Sort
Leia maisModelo de Dados Relacional
Modelo de Dados Relacional Introdução O modelo relacional representa um banco de dados como um conjunto de relações Informalmente, uma relação é uma tabela de valores, onde cada linha representa uma coleção
Leia maisModelo Relacional. Josino Rodrigues
Modelo Relacional Josino Rodrigues Modelo Relacional Chave Primária Atributos PILOTO Num-cad Nome CPF Endereço 0101 João 123456 Recife Tuplas 0035 José 234567 São Paulo... 0987 Pedro 567890 Recife 2 Chave
Leia maisTipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+
Leia maisBanco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger
Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Tópicos Apresentação Seleção Projeção Renomeio de Atributos União, Subtração e operações de conjuntos Junção:
Leia maisBanco 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 maisUm modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados.
Álgebra Relacional Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados. A álgebra relacional constitui o conjunto básico de operações
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar
- Aula 2 - ÍNDICE 1. INTRODUÇÃO Quando criamos a estrutura de um banco de dados temos que usar artifícios que melhorem a performance na recuperação dos dados que lá serão armazenados. Dentre várias técnicas
Leia maisALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação
1/5 Universidade Federal da Bahia Disciplina: Banco de Dados Prof a. Daniela Barreiro Claro ALGEBRA RELACIONAL Duas linguagens formais do Modelo Relacional o Álgebra Relacional e Cálculo Relacional Álgebra
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Processamento de Consultas Ambiente com SGBD Distribuído Processamento
Leia maisBases 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 maisBanco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai
Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Introdução A Álgebra Relacional contempla um conjunto de operações que permitem especificar consultas sob relações. As operações
Leia maisModelo de Dados Relacional
Modelo de Dados Relacional Sumário Conceitos Básicos Domínios, atributos, tuplas e relações Características das relações Notação Restrições de Integridade Domínio, chave, integridade entidade e integridade
Leia maisPrincipais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas
Principais Desafios dos SGBDDs Processamento Distribuído de Consultas Fernanda Baião baiao@cos.ufrj.br Processamento Distribuído de Consultas conversão de transações do usuário em instruções de manipulação
Leia maisGBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional. Ilmério Reis da Silva UFU/FACOM
GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Álgebra e Cálculo Relacional e o Modelo R São as linguagens
Leia maisSumário. Etapas do Processamento de Consultas
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos
Leia maisINSTRUÇÕES GERAIS AOS CANDIDATOS
INSTRUÇÕES GERAIS AOS CANDIDATOS O tempo total para realização das provas é de 2 horas e 00 minutos. Ao término da prova, o candidato deverá devolver o cartão resposta. É imprescindível verificar no cartão
Leia mais