Baixe o app para aproveitar ainda mais
Prévia do material em texto
Implementação de Banco de Dados Aula 4 Professor Daniel Silos - 3ª edição - 2015 dsilos@live.estacio.br Objetivos da aula • Identificar as operações básicas de álgebra relacional • Construir expressões algébricas de seleção e projeção Álgebra relacional •É uma coleção de operações canônicas que são utilizadas para manipular as relações. •Estas operações servem para selecionar tuplas de relações individuais e para combinar tuplas relacionadas de relações diferentes para especificar uma consulta em um determinado banco de dados. •O resultado de cada operação é uma nova operação, a qual também pode ser manipulada pela álgebra relacional. • Operadores da álgebra relacional - dois grupos: – Operadores de Conjuntos: são operadores típicos definidos pela álgebra para conjunto, tais como união, interseção, diferença e produto cartesiano. – Operadores de Tabelas: são operadores especiais definidos especialmente para a manipulação de tuplas, tais como, Select, Project e Join. Algebra relacional • Linguagem procedural • Seis operadores básicos – Seleção (ou restrição): – projeção: – união: – Diferença de conjuntos: – – Produto cartesiano: x – renomeação: • Os operadores utilizam uma ou duas relações e produzem uma nova relação como resultado. Operador de seleção - exemplo Relação r A B C D 1 5 12 23 7 7 3 10 A=B ^ D > 5 (r) A B C D 1 23 7 10 Operador de Seleção • Notação: p(r) • p é chamado de predicado • termos : (e), (ou), (não) Cada termo é um dos: <atributo>op <atributo> ou <constante> onde op é um dos: =, , >, . <. • Exemplo de seleção: CorDorso=“branco amarelado”(ESPECIE) SELECT * FROM ESPECIE WHERE CorDorso= 'branco amarelado'; • As cláusulas podem ser utilizadas em conjunto com os operadores lógicos {AND, OR e/ou NOT}, seguindo a Lógica Booleana, para formar uma condição de seleção composta. • Exemplo, suponha que se deseja selecionar as tuplas de todos os empregados que ou trabalham no departamento 4 e ganham mais de 2500 ou trabalham no departamento 5 e ganham mais que 3000. • Neste caso, pode-se especificar a consulta da seguinte forma: • (NDEP = 4 ^ SALÁRIO > 2500) (NDEP = 5 ^ SALÁRIO > 3000) (EMPREGADO) • O operador SELECT é comutativo; isto é: • <cond1> ( <cond2> (R))= <cond2> ( <cond1> (R)) • Assim, uma sequência de SELECTs pode ser aplicado em qualquer ordem. • Além disso, pode-se sempre trocar operadores SELECT em cascata com a conjuntiva AND; isto é: • <cond1> ( <cond2> (... <condn> (R) ...))= <cond1> ^ <cond2> ^ ... ^ <condn>(R) Operador de projeção A B C 10 20 30 40 1 1 1 2 A C 1 1 1 2 = A C 1 1 2 Relação r A,C (r) Operador de projeção • Notação: onde A1, A2 são nomes de atributos e r é o nome de uma relação. • O resultado é definido como a relação de k colunas obtidas pela ocultação de colunas que não são listadas. • Linhas duplicadas são removidas do resultado, já que relações são conjuntos. • Exemplo: Para eliminar o atributo nome_agência de conta Nome_Cientifico (ESPECIE) SELECT Nome_Cientifico FROM ESPECIE; )( ,,, 21 r kAAA • Exemplo: encontre o nome de todas as agências na relação empréstimo: SELECT nome_agencia FROM emprestimo • Em álgebra relacional, a consulta seria: nome_agencia (emprestimo) • Sequencia de Operações • As operações PROJECTe SELECT podem ser utilizadas de forma combinada, permitindo que apenas determinadas colunas de determinadas tuplas possam ser selecionadas. • A forma geral de uma operação sequencial é: Π <lista de atributos> ( <condição de seleção> (<nome da relação>)) • Exemplo: Π Nome_Cientifico, CorDorso, Denticao ( CorDorso = “branco amarelado” (ESPECIE)) SELECT Nome_Cientifico, CorDorso, Denticao FROM ESPECIE WHERE CorDorso = 'branco amarelado'; Resumindo • SQL é baseada em operações de conjuntos e operações relacionais com certas modificações e avanços • Uma consulta SQL típica tem o formato: : SELECTA1, A2, ..., An FROM r1, r2, ..., rm WHERE P – Ai - atributo – Ri - relação – P - predicado. • Esta consulta é equivalente a expressão algébrica relacional. • O resultado de uma consulta SQL é uma relação; ))(( 21,,, 21 mPAAA rrr n • Permite-nos nomear, e consequentemente referenciar, os resultados de expressões de álgebra relacional. • Permite-nos referenciar uma relação por mais de um nome. • Exemplo: x (E) retorna a expressão E sobre o nome X • Se a expressão E tem aridade n, então retorna o resultado de expressão E sobre o nome X, e com os atributos renomeados para A1 , A2 , …., An . Operação de renomeação A partir deste momento o aluno está apto a resolver os exercícios da Lista de exercícios 4. Bibliografia – SILBERSCHATZ, Abraham; KORTH, Henry F; SUDARSHAN, S. A. Sistema de banco de dados. 5ª ed. Rio de Janeiro: Campus, 2006
Compartilhar