Banco de Dados-Algebra Relacional

download Banco de Dados-Algebra Relacional

of 41

description

Aula sobre Algebra Relacional de Banco de Dados ministrada pelo professor Altigran Soares do IComp/UFAM.

Transcript of Banco de Dados-Algebra Relacional

  • IEC Banco de Dados I

    Aula 06 lgebra Relacional

    Turmas: Sistemas de Informao

    Professora: Andr Luiz da Costa Carvalho

    E-mail: [email protected]

    Ambiente virtual: hLp://bdufam.wordpress.com

  • Sumrio

    Relaes Unrioas: SELECT e PROJECT Operaes de teoria dos conjuntos Operaes Binrias: JOIN e DIVISION Operaes adicionais Exemplos de consultas Clculo relacional Clculo relacional de domnios

  • The Relational Algebra and Relational Calculus Relational algebra

    Basic set of operations for the relational model Relational algebra expression

    Sequence of relational algebra operations Relational calculus

    Higher-level declarative language for specifying relational queries

  • Operaes unrias: SELECT e PROJECT SELECT

    Subconjunto das tuplas de uma relao que satisfazem uma condio

    Condio booleana no formato ou

  • Operaes unrias: SELECT e PROJECT Exemplo:

    aplicada individualmente a cada tupla t em R Se condio TRUE, tupla aparece na resposta

    Condies booleanas AND, OR, e NOT Unria

    Aplicada a uma nica relao

  • Operaes unrias: SELECT e PROJECT Selectividade de uma condio

    Frao das tuplas selecionadas SELECT comutativo SELECT em cascata podem ser uma nica

    operao com AND

  • Project

    Seleciona atributos de uma relao e discarta os outros:

    Grau Nmero de atributos em

    Eliminao de duplicatas Resultado de um PROJECT um conjunto de

    tuplas distintas. SELECT DISTINCT Nota from Matricula

  • Conjunto de operaes e renomear Expresso inline:

    Sequncia de operaes:

    Renomear atributos intermedirios AS

  • Operaes de teoria dos conjuntos

    UNIO, INTERSECTION, e MENOS Unem elementos de dois conjuntos. Operaes binrias Relaes devem ter o mesmo tipo de tuplas

    UNIO R S Inclui todas as tuplas que esto em R ou em S ou

    em ambos. Duplicatas so eliminadas

  • Operaes de teoria de conjuntos

    INTERSEO R S Inclui todas tuplas que esto em R e S

    DIFERENA DE CONJUNTOS (oo MINUS) R S Inclui todas tuplas que esto em R mas no em S

  • PRODUTO CARTESIANO

    PRODUTO CARTESIANO PRODUTO CRUZADO ou CROSS JOIN Simbolo: Binrio Relaes no compatveis podem ser unidas til quando seguida de uma seleo que casa

    dois atributos.

  • JOIN e DIVISION

    JOIN Smbolo: Combina tuplas relacionadas em duas relaes

    em tuplas nicas mais longas Condio de unio no formato: AND

    AND...AND Exemplo:

  • JOIN e DIVISION

    THETA JOIN Cada da forma Ai Bj Ai atributo de R Bj atributo de S Ai e Bj tem o mesmo domnio (theta) um dos operadores de comparao:

    {=, , , }

  • EQUIJOIN e NATURAL JOIN

    EQUIJOIN S com = Um ou mais atributos tem que ser iguais para

    tupla entrar NATURAL JOIN

    Sinal * Remove a necessidade dos atributos em um

    EQUIJOIN Atributo de join deve ter o mesmo nome

  • EQUIJOIN e NATURAL JOIN

    Selectividade de um Join Tamanho esperado de um join dividido pelo

    tamanho mximo nR * nS Inner joins

    Casa primeiro, combina depois Definido formalmente como um PRODUTO

    CARTESIANO combinado com uma SELEO.

  • Operaes de lgebra Relacional

    Conjunto de operaes {, , , , , } um conjunto completo Qualquer operao de lgebra relacional pode

    ser feita atravs de uma sequencia deles.

  • Diviso

    Smbolo: Exemplo: recupere o nome dos funcionrios

    que trabalham em todos os trabalhos que John Smith trabalha.

    Exemplo 2: recupere todos os alunos que pagam todas as disciplinas que voc paga.

    Aplicando: R(Z) S(X)

  • Operaes de lgebra Relacional

  • Operaes de lgebra Relacional

  • rvores de consultas

    Query tree Representa as relaes de entrada de uma

    consulta como folhas de uma rvore. Operadores de lgebra relacional so ns

    internos.

  • Operaes adicionais

    Projeo generalizada Funes sobre os atributos na lista da projeo

    Funes agregadoras e agrupamento Funes aplicadas a valores numricos Incluindo SUM, AVERAGE, MAXIMUM, e

    MINIMUM

  • Agrupamento

    Agrupa tuplas pelo valor de algum(s) atributo(s) Funo de agregamento para cada grupo

  • Fechamento recursivo

    Operao sobre relacionamento recursivo entre tuplas da mesma relao.

    Ex: Todos funcionrios supervisionados por James Borg.

  • OUTER JOIN

    Outer joins Todas tuplas de R, ou todas de S, ou todas de

    ambas independente de haver casamento ou no com a outra relao

    Tipos LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL

    OUTER JOIN Exemplo:

  • OUTER UNION

    Unio de duas relaes com atributos em comum, mas no todos. Incompatveis com Unio comum.

    Parcialmente compatveis Todas tuplas de ambas relaes so incluidas

    Full Outer Join Tuplas com mesmo valor nos atributos

    compatveis aparecem apenas uma vez. Exemplo: Aluno ou Professor

  • Exemplos de consultas em lgebra relacional

  • Exemplos de consultas em lgebra relacional

  • Exemplos de consultas em lgebra relacional

  • Clculo Relacional

  • Clculo Relacional de tuplas

    Expresso declarativa Linguagem no procedural (ordem no importa) Expresso o o que e no o como

    Qualquer consulta em algebra relacional Tambm pode ser expressa em clculo

  • Variveis Tuplas e Intervalos

    Variveis tuplas Qualquer intervalo nas tuplas de uma relao

    Satisfazendo COND(t): Especifica:

    Relao R a qual t pertence Seleciona combinaes especficas de tuplas. Conjunto de atributos a serem recuperados

    (atributos requisitados)

  • Frmulas e Expresses

    Expresso genrica em clculo relacional de tuplas:

    Valor verdade de um tomo VERDADEIRO ou FALSO para um conjunto

    especfico de tuplas R(t) V se t pertence a R t.atrb op t.atrb ou t.atrb op c

    Frmula (condio booleana) Um ou mais tomos conectados por AND, OR, e

    NOT

  • Quantificador existencial e Universal Quantificador Universal () Quantificador Existencial () Define uma varivel tupla como livre ou

    restrita

  • Exemplo de consultas

  • Transformando quantificadores

    Transforme um quantificador em outro atravs da negao(precedendo de NOT) AND e OR so trocados Frmulas negadas so desnegadas Frmulas desnegadas so negadas.

  • Quantificador universal em consultas

  • Expresses seguras

    Garantem um nmero finito de resultados na resposta Seno chamada de no segura.

    Expresso segura Se todos os valores do resultado so do domnio

    da expresso

  • Clculo Relacional de Domnio

    Difere do clculo de tuplas no tipo de varivel usado nas frmulas Variveis variam sobre valores individuais dos

    domnios dos atributos Frmula feita de tomos

    Verdadeiro ou falso para um conjunto especfico de valores Valores verdade do tomo

  • Clculo Relacional de Domnio

    QBE (Query by Example) Baseada em clculo relacional de domnio