Álgebra e cálculo relacional. Andre Noel

Documentos relacionados
ÁLGEBRA E CÁLCULO RELACIONAL

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

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

Banco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional

Álgebra Relacional. Linguagem de consultas procedural Conjunto de operações que usam uma ou duas relações como entrada e geram uma relação de saída

Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados.

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

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

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado

GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional. Ilmério Reis da Silva UFU/FACOM

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

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

O Modelo e a Álgebra Relacional

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

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

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

Bancos (Bases) de Dados Aula #7 Álgebra Relacional

Universidade Veiga de Almeida

Modelo Relacional - Manipulação

Exercícios. Aula 03 Banco de Dados. Capítulo 3 Modelo Relacional. Estrutura / Esquemas de banco de dados. Álgebra Relacional

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

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

Banco de Dados I Álgebra Relacional

Sumário. Etapas do Processamento de Consultas

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

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

Bases de Dados Uma Recordação da Algebra Relacional

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

Álgebra Relacional e SQL

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

Laboratóriode Bases de Dados Aula12. ÁlgebraRelacional-Revisão. Professora: Fátima L. S. Nunes

Administração de. José Antônio da Cunha CEFET-RN

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas

Modelo Relacional - Manipulação

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD

Álgebra Relacional e Cálculo Relacional

Sistemas de Arquivos Convencionais

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Banco de Dados. Álgebra Relacional. Prof. Enzo Seraphim

Banco de Dados I. Aula 9 - Prof. Bruno Moreno 20/09/2011

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

Algoritmos e Programação - Engenharia da Computação -

Professor Eros Moura, DSc

Sumário SELECT + FROM

- SQL Linguagem de Manipulação de Dados

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

Modelagem Multidimensional - Nível Lógico -

Transcrição:

Á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 incluir um conjunto de operações para manipular o banco de dados

Introdução A SQL é baseada na álgebra e no cálculo relacional O modelo de dados precisa incluir um conjunto de operações para manipular o banco de dados O conjunto básico de operações para o modelo relacional é a álgebra relacional

Expressões da álgebra relacional

Expressões da álgebra relacional Solicitações de recuperação básicas

Expressões da álgebra relacional Solicitações de recuperação básicas O resultado é uma nova relação

Expressões da álgebra relacional Solicitações de recuperação básicas O resultado é uma nova relação Uma sequência de operações da álgebra relacional forma uma expressão da álgebra relacional Cujo resultado também será uma relação

A importância da álgebra relacional

A importância da álgebra relacional Oferece um alicerce formal para as operações do modelo relacional

A importância da álgebra relacional Oferece um alicerce formal para as operações do modelo relacional É usada como base para a implementação e otimização das consultas nos módulos de otimização e processamento das consultas

A importância da álgebra relacional Oferece um alicerce formal para as operações do modelo relacional É usada como base para a implementação e otimização das consultas nos módulos de otimização e processamento das consultas

A importância da álgebra relacional Oferece um alicerce formal para as operações do modelo relacional É usada como base para a implementação e otimização das consultas nos módulos de otimização e processamento das consultas Alguns de seus conceitos são incorporados à linguagem SQL

Cálculo relacional

Cálculo relacional Álgebra relacional

Cálculo relacional Álgebra relacional Conjunto de operações

Cálculo relacional Álgebra relacional Cálculo relacional Conjunto de operações

Cálculo relacional Álgebra relacional Conjunto de operações Cálculo relacional Linguagem declarativa de alto nível

Operações da álgebra relacional Teoria de conjuntos: UNIÃO INTERSECÇÃO DIFERENÇA PRODUTO CARTESIANO

Operações da álgebra relacional Teoria de conjuntos: Bancos de dados UNIÃO SELEÇÃO INTERSECÇÃO PROJEÇÃO DIFERENÇA JUNÇÃO PRODUTO CARTESIANO

Operações da álgebra relacional Teoria de conjuntos: Bancos de dados UNIÃO SELEÇÃO INTERSECÇÃO PROJEÇÃO DIFERENÇA JUNÇÃO PRODUTO CARTESIANO Unárias Binária

Operações relacionais unárias

Operações relacionais unárias SELEÇÃO

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000 Dnr=4(FUNCIONARIO)

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000 Dnr=4(FUNCIONARIO) Salario>30000(FUNCIONARIO)

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000 Dnr=4(FUNCIONARIO) Salario>30000(FUNCIONARIO) {< Pietro >}

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000 Dnr=4(FUNCIONARIO) Salario>30000(FUNCIONARIO) No geral: <condição>(r)

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000 Dnr=4(FUNCIONARIO) Salario>30000(FUNCIONARIO) No geral: <condição>(r) Costuma ser uma expressão da álgebra relacional, que retorna uma relação.

Operações relacionais unárias SELEÇÃO Usada para escolher um subconjunto de tuplas que satisfaça uma condição de seleção Ex: Selecionar a tupla funcionário cujo departamento é 4, ou aqueles que têm salário maior que 30.000 Dnr=4(FUNCIONARIO) Salario>30000(FUNCIONARIO) No geral: <condição>(r) A condição é aplicada a capa tupla, individualmente

Operações relacionais unárias SELEÇÃO A operação de SELEÇÃO é comutativa <cond1>( <cond2>(r)) = <cond2>( <cond1>(r))

Operações relacionais unárias SELEÇÃO A operação de SELEÇÃO é comutativa <cond1>( <cond2>(r)) = <cond2>( <cond1>(r)) Podemos combinar uma sequência de seleções em uma condição conjuntiva <cond1>( <cond2>(...( <condn>(r))..)) = <cond1> <cond2>and...and<condn>(r) AND

Operações relacionais unárias PROJEÇÃO

Operações relacionais unárias PROJEÇÃO A operação de SELEÇÃO escolhe algumas linhas da relação enquanto descarta outras linhas A operação de PROJEÇÃO escolhe certas colunas e descarta outras Unome,Pnome,Salario(FUNCIONARIO) No geral <lista de atributos>(r)

Operações relacionais unárias

Operações relacionais unárias PROJEÇÃO O número de tuplas em uma operação de PROJEÇÃO é sempre menor ou igual ao número de tuplas em R.

Operações relacionais unárias PROJEÇÃO O número de tuplas em uma operação de PROJEÇÃO é sempre menor ou igual ao número de tuplas em R. <lista1>( <lista2>(r)) = <lista1>(r), se lista2 tiver os atributos que tem em lista1 (caso contrário dá erro)

Operações relacionais unárias PROJEÇÃO O número de tuplas em uma operação de PROJEÇÃO é sempre menor ou igual ao número de tuplas em R. <lista1>( <lista2>(r)) = <lista1>(r), se lista2 tiver os atributos que tem em lista1 (caso contrário dá erro) A comutatividade não é mantida em

Operações relacionais unárias Sequência de operações Unome,Pnome,Salario( Dnr=5(FUNCIONARIO))

Operações relacionais unárias Sequência de operações Unome,Pnome,Salario( Dnr=5(FUNCIONARIO))

Operações relacionais unárias Sequência de operações Unome,Pnome,Salario( Dnr=5(FUNCIONARIO)) Nomes intermediários FUNCS_DEPT5 Dnr=5(FUNCIONARIO) RESULTADO Unome,Pnome,Salario(FUNCS_DEPT5)

Operações relacionais unárias Sequência de operações Unome,Pnome,Salario( Dnr=5(FUNCIONARIO)) Nomes intermediários FUNCS_DEPT5 Dnr=5(FUNCIONARIO) RESULTADO Unome,Pnome,Salario(FUNCS_DEPT5) RENOMEAR S(B1, B2,, Bn)(R) ou S(R) ou (B1, B2,, Bn)(R)

Teoria de conjuntos

Teoria de conjuntos UNIÃO, INTERSECÇÃO E SUBTRAÇÃO FUNCS_DEPT5 Dnr=5(FUNCIONARIO) RESULTADO1 Cpf(FUNCS_DEPT5) RESULTADO2(Cpf) Cpf_supervisor(FUNCS_DEPT5) RESULTADO RESULTADO1 RESULTADO2

Teoria de conjuntos UNIÃO, INTERSECÇÃO E SUBTRAÇÃO FUNCS_DEPT5 Dnr=5(FUNCIONARIO) RESULTADO1 Cpf(FUNCS_DEPT5) RESULTADO2(Cpf) Cpf_supervisor(FUNCS_DEPT5) RESULTADO RESULTADO1 RESULTADO2

Teoria de conjuntos

Teoria de conjuntos PRODUTO CARTESIANO (Ou JUNÇÃO CRUZADA) FUNC_MULHERES Sexo= F (FUNCIONARIO) FUNC_NOMES PNome,Unome,Cpf(FUNC_MULHERES) FUNC_DEPENDENTES FUNC_NOMES DEPENDENTE DEPENDENTE_PARTIC Cpf=FCpf(FUNC_DEPENDENTES) RESULTADO PNome,Unome,Nome_dependente(DEPENDENTE_PARTIC)

Operações relacionais binárias JUNÇÃO

Operações relacionais binárias JUNÇÃO Operador

Operações relacionais binárias JUNÇÃO

Operações relacionais binárias

Operações relacionais binárias

Forma geral

Forma geral

Condição de junção

EQUIJUNÇÃO Uma junção que usa apenas o comparador =

JUNÇÃO NATURAL Junção com par de valores idênticos (mesmo nome)

JUNÇÃO NATURAL Junção com par de valores idênticos (mesmo nome)

JUNÇÃO NATURAL Junção com par de valores idênticos (mesmo nome)

DIVISÃO Operador

DIVISÃO Operador Útil pra um tipo especial de consulta. Ex: Recuperar os nomes dos funcionários que trabalham em todos os projetos em que João Silva trabalha

Ex: Recuperar os nomes dos funcionários que trabalham em todos os projetos em que João Silva trabalha

Ex: Recuperar os nomes dos funcionários que trabalham em todos os projetos em que João Silva trabalha

Ex: Recuperar os nomes dos funcionários que trabalham em todos os projetos em que João Silva trabalha

Operações de álgebra relacional

Árvore de consulta

Árvore de consulta

Árvore de consulta