Processamento e Otimização de Consultas

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

Download "Processamento e Otimização de Consultas"

Transcrição

1 Processamento e Otimização de Consultas Processo de Execução de uma Consulta 1

2 Otimização de Consultas SQL Em algumas linguagens de consulta, a estratégia de execução é definida pela maneira como o usuário (ou programador) expressa a consulta Em SQL, que é uma linguagem declarativa, apenas os resultados desejados são especificados Portanto, a otimização de consultas é necessária em SGBDs relacionais baseados em SQL Otimização de Consultas SQL Passos principais Tradução da consulta SQL para a álgebra relacional Otimização do resultado Estratégias de otimização Otimização baseada em heurísticas Otimização baseada na estimativa de custo da consulta Otimização semântica 2

3 Tradução de Consultas SQL para Expressões da AR Consultas SQL são decompostas em blocos Cada bloco é transformado em uma expressão da álgebra relacional Os blocos são otimizados internamente, levandose em consideração a ordem de execução entre eles Um bloco contém um único comando SELECT- FROM-WHERE, incluindo cláusulas GROUP BY e HAVING, se houver Exemplo de Tradução de uma Consulta SQL SELECT LNAME, FNAME FROM EMPLOYEE WHERE SALARY > ( SELECT MAX (SALARY) FROM EMPLOYEE WHERE DNO = 5); SELECT FROM WHERE LNAME, FNAME EMPLOYEE SALARY > C SELECT MAX (SALARY) FROM EMPLOYEE WHERE DNO = 5 π LNAME, FNAME (σ SALARY>C (EMPLOYEE)) F MAX SALARY (σ DNO=5 (EMPLOYEE)) 3

4 Otimização Baseada em Heurísticas Consultas são representadas internamente na forma de uma árvore ou grafo Árvores de consulta são preferidas para a otimização pois determinam a ordem de execução das operações Grafos de consulta indicam apenas as operações e os respectivos operandos envolvidos portanto, existe apenas um grafo correspondente a cada consulta Regras heurísticas são usadas para alterar a representação interna (árvore ou grafo) de uma consulta de modo a otimizar a sua execução Por exemplo: operações de projeção e seleção são aplicadas antes de uma junção O plano de execução gerado determina a ordem em que as operações serão executadas e os recursos a serem utilizados (por ex., índices) Exemplo Preliminar Consulta Q2 (Cap. 5 e 8): Para cada projeto localizado em Stafford, recupere o número do projeto, o número do departamento responsável e o último nome, o endereço e a data de nascimento do gerente do departamento. Consulta SQL: SELECT P.PNUMBER, P.DNUM, E.LNAME, E.ADDRESS, E.BDATE FROM PROJECT AS P, DEPARTMENT AS D, EMPLOYEE AS E WHERE P.DNUM=D.DNUMBER AND D.MGRSSN=E.SSN AND P.PLOCATION= STAFFORD ; Álgebra Relacional: π PNUMBER, DNUM, LNAME, ADDRESS, BDATE (((σ PLOCATION= STAFFORD (PROJECT)) DNUM=DNUMBER (DEPARTMENT)) MGRSSN=SSN (EMPLOYEE)) 4

5 Árvore de Consulta π PNUMBER, DNUM, LNAME, ADDRESS, BDATE (((σ PLOCATION= STAFFORD (PROJECT)) DNUM=DNUMBER (DEPARTMENT)) MGRSSN=SSN (EMPLOYEE)) Árvore Canônica SELECT P.PNUMBER, P.DNUM, E.LNAME, E.ADDRESS, E.BDATE FROM PROJECT AS P, DEPARTMENT AS D, EMPLOYEE AS E WHERE P.DNUM=D.DNUMBER AND D.MGRSSN=E.SSN AND P.PLOCATION= STAFFORD ; 5

6 Otimização Heurística Parte de uma árvore canônica, obviamente ineficiente, mas fácil de ser construída No exemplo anterior, considerando-se que 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 partir da árvore canônica usam regras de equivalência entre expressões da álgebra relacional para melhorar progressivamente o plano de execução da consulta Exemplo Consulta SQL: SELECT LNAME FROM EMPLOYEE, WORKS_ON, PROJECT WHERE PNAME = AQUARIUS AND PNUMBER=PNO AND ESSN=SSN AND BDATE > DEC ; Álgebra Relacional (Expressão Canônica): π LNAME (σ PNAME= AQUARIUS AND PNUMBER=PNO AND ESSN=SSN AND BDATE> DEC (EMPLOYEE WORKS_ON PROJECT)) 6

7 Exemplo: etapa 1 A árvore canônica é construída diretamente a partir da consulta SQL Exemplo: etapa 2 A condição de seleção é desmembrada e as duas operações de seleção (sobre BDATE e PNAME) são aplicadas antes dos produtos cartesianos, para reduzir o número de tuplas resultantes 7

8 Exemplo: etapa 3 As posições das relações EMPLOYEE e PROJECT são trocadas para que a condição de seleção mais restritiva (PNAME= Aquarius ) seja executada primeiro Exemplo: etapa 4 Produtos cartesianos seguidos de seleção são substituídos por junções 8

9 Exemplo: etapa 5 A cada passo, são mantidas apenas os atributos necessários (operações de projeção são deslocadas para baixo) Regras de Transformação R1. Cascata de seleções: σ <cond1 E cond2 E... E condn> (R) = σ <cond1> (σ <cond2> (... σ <condn> (R)) R2. Comutatividade de seleções: σ <cond1> (σ <cond2> (R)) = σ <cond2> (σ <cond1> (R)) R3. Cascata de projeções: π <lista1> (π <lista2> (R)) = π <lista1> (R) R4. Comutatividade da seleção e projeção π <lista> (σ <cond> (R)) = σ <cond> (π <lista> (R)) 9

10 Regras de Transformação (cont.) R5. Comutatividade da junção e do produto cartesiano R S = S R R S = S R R6. Comutatividade da seleção e junção ou produto cartesiano (θ = {, }) σ <cond> (R θ S) = (σ <cond> (R)) θ S R7. Comutatividade da projeção e junção ou produto cartesiano (θ = {, }) π <lista> (R θ S) = (π <listar> (R)) θ (π <listas> (S)) R8. Comutatividade da união e da interseção R S = S R R S = S R Regras de Transformação (cont.) R9. Associatividade da junção, produto cartesiano, união e interseção (θ = {,,, }) (R θ S) θ T = R θ (S θ T) R10. Comutatividade da seleção e das operações de conjunto (união, interseção e diferença) σ <cond> (R θ S) = σ <cond> (R) θ σ <cond> (S) R11. Comutatividade da projeção e união π <lista> (R S) = π <lista> (R) π <lista> (S) R12. Conversão da sequência seleção/produto cartesiano em junção σ c (R S) = R c A 10

11 Passos para Otimização de uma Árvore Canônica do Tipo SPJ 1. Usando a regra R1, desmembre a condição (conjuntiva) da operação de seleção. 2. Usando as regras R2 e R6, reposicione as condições de seleção e junção de forma que elas possam ser aplicadas o mais cedo possível. 3. Usando as regras R5 e R9, reposicione as relações de forma que condições de seleção mais restritivas possam ser aplicadas mais cedo. 4. Usando a regra R12, converta as sequências de operações de seleção e produto cartesiano em junções. 5. Usando as regras R3, R4 e R7, desmembre a lista de atributos da operação de projeção de forma que operações de projeção específicas possam ser executadas mais cedo. Exercício Seja o banco de dados de uma livraria representado pelo seguinte esquema relacional: Editora(CodEditora,NomeEditora) Livro(CodLivro,Titulo,Autor,Assunto,AnoPub,CodEditora) Instituicao(CodInst,NomeInst,Sigla,Local) Adotado-por(CodLivro,CodInst,AnoAdocao) Dada a consulta SQL SELECT NomeInst FROM Instituicao WHERE CodInst IN (SELECT CodInst FROM Adotado-por WHERE AnoAdocao = 2007 AND CodLivro IN (SELECT CodLivro FROM Livro WHERE Assunto = Portugues AND CodEditora IN (SELECT CodEditora FROM Editora WHERE NomeEditora = Editora Campus ))) reescreva-a de forma não-aninhada, gere a sua árvore canônica e, usando as regras de transformação, derive a árvore de consulta que corresponda à sequência de operações da álgebra relacional mais eficiente para a sua execução. 11

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

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

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

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

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC SQL/DML Parte 2 Consultas Aninhadas

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

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 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 mais

GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC

GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem SQL Comandos

Leia mais

Sumário. Etapas do Processamento de Consultas

Sumá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 mais

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges [email protected] Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum

Leia mais

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9

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

Álgebra e cálculo relacional. Andre Noel

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

Banco 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. 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 mais

GBC043 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  UFU/FACOM GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Álgebra e Cálculo Relacional e o Modelo R São as linguagens

Leia mais

Processamento e Otimização de Consultas

Processamento 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

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma

Leia mais

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

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 1) Clodis Boscarioli Conteúdo do Módulo: Linguagens de Consulta Formais Álgebra Relacional; Cálculo Relacional de Tupla; Cálculo Relacional

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

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

SQL 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 [email protected] Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...

Leia mais

ÁLGEBRA E CÁLCULO RELACIONAL

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

Principais 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. Processamento de Consultas. Componentes do Processamento de Consultas Principais Desafios dos SGBDDs Processamento Distribuído de Consultas Fernanda Baião [email protected] Processamento Distribuído de Consultas conversão de transações do usuário em instruções de manipulação

Leia mais

SQL-99: Esquema de BD EMPRESA

SQL-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 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 [email protected] Bloco B - sala 1B137 1 semestre de 2018 2 Escreva

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

- 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

Universidade Veiga de Almeida

Universidade Veiga de Almeida Banco de Dados II Universidade Veiga de Almeida Banco de Dados II Prof. Luiz Antônio Vivacqua C. Meyer ([email protected]) Linguagens de Consulta Linguagens nas quais os usuários fazem requisições de

Leia mais

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

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

PROCESSAMENTO DE CONSULTAS EM BANCOS DE DADOS DE DIFERENTES TECNOLOGIAS

PROCESSAMENTO DE CONSULTAS EM BANCOS DE DADOS DE DIFERENTES TECNOLOGIAS UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO ANA CRISTINA DE OLIVEIRA CIRINO COD ATO PROCESSAMENTO DE CONSULTAS EM BANCOS DE DADOS DE DIFERENTES TECNOLOGIAS

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 [email protected] Bancos de Dados Distribuídos Processamento de Consultas Ambiente com SGBD Distribuído Processamento

Leia mais

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

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

O Modelo e a Álgebra Relacional

O Modelo e a Álgebra Relacional O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.

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

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

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

Álgebra Relacional. Introdução. Introdução. Álgebra Relacional

Á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 [email protected] Bloco B - sala

Leia mais

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU Aula 8 BD1 Álgebra Relacional Profa. Elaine Faria UFU - 2018 Introdução Linguagens de consulta formais associadas ao modelo relacional Álgebra Usa uma coleção de operadores e cada consulta descreve um

Leia mais

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br UFU/FACOM

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br  UFU/FACOM GES013 Sistema de Banco de Dados Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM UFU/FACOM Página 2 Modelo Relacional R : Definição Def. O MODELO

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

Subconsulta na Cláusula FROM

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

Subconsultas ou Consultas Aninhadas

Subconsultas ou Consultas Aninhadas Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table

Leia mais

SQL DML. Frederico D. Bortoloti [email protected]

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti [email protected] SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Modelo Relacional (R) Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM UFU/FACOM Página 2 Modelo Relacional R : Definição Def. O MODELO

Leia mais

Álgebra Relacional e Cálculo Relacional

Álgebra Relacional e Cálculo Relacional SISTEMAS DE INFORMAÇÃO Álgebra Relacional e Cálculo Relacional Prof. Edson Thizon Linguagens de consultas formais (1) Uma linguagem de consulta (Query Language) é uma linguagem com a qual o usuário pode

Leia mais

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional Banco de Dados Banco de Dados II Conceitos Básicos Coleção logicamente coerente de dados relacionados com algum significado inerente; Exemplos de bancos de dados: Agenda de endereços (papel ou computador)

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

Subconsultas ou Consultas Aninhadas

Subconsultas ou Consultas Aninhadas Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de

Leia mais