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

Documentos relacionados
Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

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

Álgebra Relacional e SQL operações de interesse

Álgebra Relacional. Banco de Dados. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Álgebra Relacional e SQL

- SQL Linguagem de Manipulação de Dados

Otimização de Consultas Baseada em Custo. Cristina Dutra de Aguiar Ciferri

ÁLGEBRA E CÁLCULO RELACIONAL

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

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

Dependência Funcional e Normalização. Relembrando: Primeira Forma Normal (1FN) Relembrando: Segunda Forma Normal (2FN) Terceira Forma Normal (3FN)

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011

O Modelo e a Álgebra Relacional

ANÁLISE E PROJETO DE BANCO DE DADOS

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

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

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único.

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi

Álgebra e cálculo relacional. Andre Noel

Compilação, Otimização e Execução de Consultas. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Á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

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

Dependência Funcional e Normalização. Qualidade de um Projeto. Semântica dos Atributos. Dependência Funcional e Normalização

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Conteúdo Segunda Prova. Revisão Segunda Prova. Relembrando: operações. Álgebra Relacional. Seleção. Projeção. Data da prova: 23/05.

GBC043 Sistemas de Banco de Dados

Álgebra Relacional. Banco de Dados. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Profa. Dra. Cristina Dutra de Aguiar Ciferri

TECNOLOGIA EM SISTEMAS PARA INTERNET. Banco de dados em aplicativos WEB. Aula 5

Sistemas de Banco de Dados

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

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

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSORA RESPONSÁVEL: Roberta Macêdo Marques Gouveia

Modelo de Dados Relacional

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

DDL). O resultado da compilação dos parâmetros DDLs é

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

ρ x (r) ρ cliente2 (cliente) Pode haver ambiguidade quando a mesma relação aparece mais de uma vez em uma consulta. Nesses casos renomear relação.

Operações fundamentais são suficientes para expressar qualquer consulta. Problema: consultas muito longas. Solução: definição de operações adicionais

Introdução a Bancos de Dados

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação

Conceitos e arquitetura do banco de dados. Andre Noel

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

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Banco de Dados. Introdução e Definições

Roteiro da aula. Dependência Funcional e Normalização. Semântica dos Atributos. Qualidade de um Projeto. Dependência Funcional e Normalização

Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução

Conceitos de Sistemas de Banco de Dados INE 5323

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

GBC043 Sistemas de Banco de Dados

Modelo Relacional - Manipulação

Introdução ao Banco de Dados. Banco de Dados

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

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

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

SQL-99: Esquema de BD EMPRESA

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

Banco de Dados I Álgebra Relacional

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Normalização. Banco de Dados. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Profa. Dra. Cristina Dutra de Aguiar Ciferri.

IEC Banco de Dados I Aula 06 Álgebra Relacional

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Modelo de Dados Relacional

INF01145 Fundamentos de Banco de Dados Plano de ensino

Introdução à Banco de Dados

Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

BCD29008 Banco de dados

BCD29008 Banco de dados

Dependência Funcional e Normalização. Normalização. Relembrando: Primeira Forma Normal (1FN) Relembrando: Segunda Forma Normal (2FN)

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

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Programação com Acesso a Banco de Dados

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

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

Universidade Veiga de Almeida

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Revisando Banco de Dados. Modelo Relacional

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Álgebra Relacional e Cálculo Relacional

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

MODELO DE BANCO DE DADOS RELACIONAL

Modelagem de dados usando MER. Andre Noel

Bancos de Dados. Linguagens F ormais de Cons ulta a Banco de Dados

BCD29008 Banco de dados

Transcrição:

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 937 Introdução a BD Conceitos de BD e SGBD Níveis de Abstração de BD: visão (conceitual), lógico, físico Modelo Relacional Modelo Entidade-Relacionamento (MER)/ Extendido Modelo Relacional: conceitos e terminologias Tabela, registros, chave primária, chave estrangeira, etc. Mapeamento do MER -Ext para M-Relacional Normalização de Relações HOJE (e próximas aulas) Linguagens Formais de Consulta 2 quadrimestre de 2011 LINGUAGEM SQL DDL : criação de BD / Tabelas DML: CCM205 manipulação Sistema de Bancos de Dados - 2 quadrimestre de 2011 10 Introdução Introdução Relembrando: Um modelo de dados inclui um conjunto de OPERAÇÕES para manipular um banco de dados além dos CONCEITOS de modelagem necessários para a estruturação do BD. OPERAÇÕES: Linguagem de Consulta O que é LINGUAGEM DE CONSULTA? É uma linguagem por meio da qual os usuários obtém informações do banco de dados Linguagens de mais ALTO NÍVEL que as linguagens de programação tradicionais Exemplo - SQL - Structured Query Language O Modelo Relacional possui duas linguagens formais: Álgebra Relacional (procedural) Na linguagem PROCEDURAL o usuário deve ensinar ao sistema uma seqüência de operações no BD para obter o resultado desejado Cálculo Relacional (não-procedural) Na linguagem NÃO-PROCEDURAL, o usuário descreve a informação desejada sem fornecer um procedimento específico para a obtenção dessas informações O que é LINGUAGEM FORMAL DE CONSULTA? CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 11 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 12 Álgebra Relacional Modelo de dados inclui Conceitos para a definição das restrições e estrutura do BD Conjunto de operações para manipular o BD Álgebra relacional Maneira teórica de se manipular o BD relacional Importância Fundamento formal para as operações no modelo relacional Base para implementar e otimizar consultas em SGBDR Introduz conceitos incorporados na SQL CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 13 Usuário/Aplicação consultas, comandos de atualizações transações Compilador Gerenciador de consulta de transação metadados, plano de consulta estatísticas comandos de página Gerenciador de Buffer escrita/leitura página Gerenciador de Armazenamento dados, metadados, índice Recuperação e log páginas de log Buffers DBA comandos DDL Compilador DDL Controle de concorrência Tabela Buffers bloqueio metadados estrutura em memória componentes Engine de Execução requisições de registro, arquivo e índice Gerenciador de registro/arquivo/índice fluxo de controle e dados ArmazenamentoSistema de Bancos de Dados - 2 quadrimestre de 2011 CCM205 fluxo de dados 14 1

Álgebra Relacional Operações Linguagem de consulta procedural usuários especificam os dados necessários e como obtê-los Consiste de um conjunto de operações entrada: uma ou duas relações saída: uma nova relação resultado CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 15 Fundamentais seleção projeção produto cartesiano renomear união diferença de conjuntos Adicionais intersecção de conjuntos junção natural divisão atribuição podem ser geradas a partir das operações fundamentais facilitam a construção de consultas CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 16 Classificação das Operações Relações Unárias seleção projeção renomear operam sobre uma única relação Binárias produto cartesiano união diferença de conjuntos intersecção de conjuntos junção natural divisão operam sobre duas relações CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 17 cliente (nro_cli, nome_cli, end_cli, saldo, cod_vend) vendedor (cod_vend, nome_vend) pedido (nro_ped, data, nro_cliente) pedido_peça (nro_ped, nro_peça) peça (nro_peça, descrição_peça) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 18 Seleção Seleciona tuplas da relação argumento que satisfaçam à condição de seleção Seleção Produz um subconjunto horizontal de uma relação σ condição_seleção ( relação argumento) Seleção JOÃO pode envolver operadores de comparação (=, <,, >,, ) pode combinar condições usando-se,, relação resultado de alguma operação da álgebra relacional CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 19 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 20 2

Relação Cliente cliente (nro_cli, nome_cli, end_cli, saldo, cod_vend) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 21 Consulta 1 Liste toda a informação da relação cliente referente ao cliente de número 4. σ nro_cli = 4 (cliente) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 22 Consulta 1 Relação resultado Consulta 2 Liste toda a informação da relação cliente para clientes que possuam saldo inferior a R$ 200,00 e que morem na Rua X. σ saldo_dev < 200,00 ^ end_cli = Rua X (cliente) grau: mesmo grau da relação argumento número de tuplas: menor ou igual ao número de tuplas da relação argumento CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 23 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 24 Consulta 2 Relação resultado grau: mesmo grau da relação argumento número de tuplas: menor ou igual ao número de tuplas da relação argumento CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 25 Vale lembrar... As condições booleanas ^(and), v (or) e (not) têm sua interpretação conforme segue: (cond1 ^ cond 2) é verdadeira se ambas cond1 e cond2 forem verdadeiras caso contrário é falsa (cond1 v cond 2) verdadeira se cond1 ou cond2 ou ambas forem verdadeiras caso contrário é falsa ( cond) verdadeira se cond for falsa caso contrário é falsa CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 26 3

Projeção Produz uma nova relação contendo um subconjunto vertical da relação argumento, sem duplicações Projeção Extrai atributos (Colunas) específicos de uma relação específica Produz um subconjunto vertical de uma relação Projeção π lista_atributos ( relação argumento ) lista de atributos os atributos são separados por vírgula relação resultado de alguma operação da álgebra relacional CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 27 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 28 Consulta 3 Liste o número e o nome de todos os clientes Consulta 3 Relação resultado π nro_cli, nome_cli (cliente) grau: número de atributos listados em lista_atributos nro_cli nome_cli 1 Márcia 2 Cristina 3 Manoel 4 Rodrigo número de tuplas: menor ou igual ao número de tuplas da relação argumento CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 29 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 30 Consulta 4 Liste o endereço de todos os clientes π end_cli (cliente) end_cli Rua X Avenida 1 Avenida 3 Relação Resultante - sem repetição CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 31 Operações Propriedades dos operadores unários A operação de Seleção é comutativa σ <condição-a> (σ <condição-b> ) Uma seqüência de seleções pode ser executada em qualquer ordem, ou pode ser transformada numa única seleção com uma condição conjuntiva (termos cujo valor é VERDADEIRO ou FALSO, ligados pelo operador (AND)) σ <condição-1> (σ <condição-2> (...(σ <condição-n> (R)))) σ <condição-1> <condição-2>... <condição-n> (R) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 32 4

Operações Propriedades dos operadores unários A operação de Projeção não é comutativa Se <lista_atribs_b> contém <lista_atribs_a>, então ambas as expressões seguintes são corretas, e vale a igualdade: π <lista_atribs_a> (π <lista_atribs_b> R) = π <lista_atribs_a> R Liste o número e o nome de todos os clientes que possuam saldo devedor inferior a 200,00 reais e morem na Rua X. CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 33 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 34 Passos realizar uma operação de seleção para criar uma nova relação que contém somente aqueles clientes com o saldo e o endereço apropriados; realizar uma projeção sobre a relação resultante do passo anterior, restringindo o resultado desejado às colunas indicadas. Primeiro passo σ saldo_dev < 200,00 ^ end_cli = Rua X (cliente) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 35 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 36 Segundo passo π nro_cli, nome_cli (primeiro passo) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 37 Liste o número e o nome de todos os clientes que possuam saldo inferior a R$ 200,00 e que morem na Rua X. π nro_cli, nome_cli (σ saldo_dev < 200,00 ^ end_cli = Rua X (cliente)) Relação Resultado nro_cli nome_cli 1 Márcia 4 Rodrigo CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 38 5

Atribuição Funcionalidades associa uma relação argumento a uma relação temporária permite o uso da relação temporária em expressões subseqüentes relação temporária relação argumento resultado de alguma operação da álgebra relacional relação CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 39 Liste o número e o nome de todos os clientes que possuam saldo inferior a R$ 200,00 e que morem na Rua X. π nro_cli, nome_cli (σ saldo_dev < 200,00 ^ end_cli = Rua X (cliente)) Usando atribuição temp σ saldo_dev < 200,00 ^ end_cli = Rua X (cliente) π nro_cli, nome_cli (temp) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 40 Atribuição Renomear Características adicionais permite renomear os atributos de relações intermediárias e final R(código, nome) π nro_cli, nome_cli (temp) Observações não adiciona potência adicional à álgebra relacional geralmente utilizada para expressar consultas complexas CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 41 Renomeia nome da relação nomes dos atributos da relação nome da relação e nomes dos atributos nome novo da relação ρ S(B1 1,B 2,..., B n ) (relação) nomes novos dos atributos nome antigo da relação CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 42 Renomear Produto Cartesiano Exemplos ρ comprador (cliente) ρ (código, nome, rua, saldo, vendedor) (cliente) ρ comprador (código, nome, rua, saldo, vendedor) (cliente) Observação indicada para ser utilizada quando uma relação é usada mais do que uma vez para responder à consulta CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 43 Combina tuplas de duas relações (quaisquer) Tuplas da relação resultante todas as combinações de tuplas possíveis entre as relações participantes relação argumento 1 x relação argumento 2 relação resultado de alguma operação da álgebra relacional CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 44 6

Produto Cartesiano Utilizado quando se necessita obter dados presentes em duas ou mais relações a b c x y Produto Notação: <relação 1> X <relação 2> a x a y b x b y c x c y CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 45 Relações Cliente e Vendedor cliente (nro_cli, nome_cli, end_cli, saldo, cod_vend) vendedor (cod_vend, nome_vend) cod_vend nome_vend 1 Adriana 2 Roberto CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 46 Cliente x Vendedor nro_cli nome_cli end_cli saldo cliente. cod_vend vendedor.c od_vend nome_vend 1 Adriana 2 Roberto 1 Adriana 2 Roberto 1 Adriana 2 Roberto 1 Adriana 2 Roberto grau: número de atributos de cliente + número de atributos de vendedor número de tuplas: número de tuplas de cliente * número de tuplas de vendedor CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 47 Exemplo 1 Considere as seguintes relações usuário (, gerente_nome ) cliente (, rua, cidade ) gerente_nome Márcia Rodrigo Manoel Maria rua cidade Márcia Rua X Itambé Rodrigo Rua X Maringá Liste o nome de todos os usuários atendidos pelo gerente Manoel, assim como as cidades nas quais eles vivem CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 48 Primeiro passo determinar quem são os usuários atendidos pelo gerente Manoel Segundo passo realizar o produto cartesiano das relações temp 2 temp 1 x cliente temp 1 π (σ gerente_nome = Manoel (usuário)) relação resultado temp 1 DICA: Selecionar menos tuplas antes de fazer o Produto Cartesiano Márcia CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 49 relação resultado temp 2 temp 1. cliente. rua cidade Márcia Márcia Rua X Itambé Márcia Rodrigo Rua X Maringá CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 50 7

Terceiro passo eliminar informações inconsistentes temp 3 σ temp1. = cliente. (temp 2 ) Quarto passo exibir as informações solicitadas π temp1., cidade (temp3) relação resultado temp 3 temp 1. cliente. rua cidade Márcia Márcia Rua X Itambé relação resultado temp 1. Márcia cidade Itambé CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 51 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 52 Exemplo 2 Considere a seguinte relação cliente (, rua, cidade ) rua cidade Márcia Rua X Itambé Rodrigo Rua X Maringá Cristina Rua XTZ Maringá Sofia Rua X Maringá Ricardo Rua AAA Itambé Liste o nome dos clientes que moram na mesma rua e na mesma cidade que Rodrigo CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 53 Primeiro passo determinar o nome da rua e o nome da cidade na qual Rodrigo mora temp 1 π rua,cidade (σ = Rodrigo (cliente)) relação resultado temp 1 rua Rua X cidade Maringá CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 54 Segundo passo realizar o produto cartesiano das relações temp 2 temp 1 x cliente relação resultado temp 2 temp 1.rua temp 1.cidade cliente.rua cliente.cidade Rua X Maringá Márcia Rua X Itambé Rua X Maringá Rodrigo Rua X Maringá Rua X Maringá Cristina Rua XTZ Maringá Rua X Maringá Sofia Rua X Maringá Rua X Maringá Ricardo Rua AAA Itambé CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 55 Terceiro passo eliminar informações indesejadas temp 3 σ <> Rodrigo (temp 2 ) relação resultado temp 3 temp 1.rua temp 1.cidade cliente.rua cliente.cidade Rua X Maringá Márcia Rua X Itambé Rua X Maringá Cristina Rua XTZ Maringá Rua X Maringá Sofia Rua X Maringá Rua X Maringá Ricardo Rua AAA Itambé CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 56 8

Quarto passo exibir as informações solicitadas π (σ temp1.rua = cliente.rua ^ temp 1.cidade = cliente.cidade (temp 3 )) relação resultado Sofia Discussão Resposta original temp 1 π rua,cidade (σ = Rodrigo (cliente)) temp 2 temp 1 x cliente temp 3 σ <> Rodrigo (temp 2 ) π (σ temp1.rua = cliente.rua ^ temp 1.cidade = cliente.cidade (temp 3 )) Operação de atribuição temp 1 (rua_rodrigo, cidade_rodrigo) π rua,cidade (σ = Rodrigo (cliente)) temp 2 temp 1 x cliente temp 3 σ <> Rodrigo (temp 2 ) π (σ rua_rodrigo = rua ^ cidade_rodrigo = cidade (temp 3 )) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 57 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 58 Discussão Operação renomear (1) temp 1 π rua,cidade (σ = Rodrigo (cliente)) temp 2 ρ (rua_rodrigo,cidade_rodrigo) (temp1) x cliente temp 3 σ <> Rodrigo (temp 2 ) π (σ rua_rodrigo = rua ^ cidade_rodrigo= cidade (temp 3 )) Operação renomear (2) temp 1 π rua,cidade (σ = Rodrigo (cliente)) temp 2 ρ dados_rodrigo(rua_rodrigo,cidade_rodrigo) (temp1) x cliente temp 3 σ <> Rodrigo (temp 2 ) π (σ rua_rodrigo = rua ^ cidade_rodrigo = cidade (temp 3 )) Exercício Especifique as seguintes consultas considerando o esquema e estado do bd da figura abaixo usando os operadores relacionais discutidos nesta aula. Mostre também o resultado de cada consulta 1. Selecionar as tuplas de todos os empregados que trabalham no departamento 4 e recebem acima de 25 mil dólares por ano, ou trabalham no departamento 5 e recebem acima de 30 mil dólares 2. Liste o sexo e o salário dos empregados 3. Selecionar o primeiro, o último nome e o salário de todos os empregados que trabalham no departamento 5 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 59 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 60 1. Selecionar as tuplas de todos os empregados que trabalham no departamento 4 e recebem acima de 25 mil dólares por ano, ou trabalham no departamento 5 e recebem acima de 30 mil dólares σ (DNO = 4 SALARIO > 25000) (DNO = 5 SALARIO > 30000) (EMPREGADO) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 61 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 62 9

2. Liste o sexo e o salário dos empregados π SEXO, SALÁRIO (EMPREGADO) 3. Selecionar o primeiro, o último nome e o salário de todos os empregados que trabalham no departamento 5 π PNOME, UNOME, SALÁRIO (σ DEPTO = 5 (EMPREGADO)) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 63 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 64 EF σ SEXO = F (EMPREGADO)) NOMEEF π PNOME, UNOME, SSN (EMPREGADO) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 65 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 66 DE NOMEEF x DEPENDENTE DE NOMEEF x DEPENDENTE DR σ SSN = ESSN (DE)..... CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 67. CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 68 10

RES π PNOME, UNOME, NOME.DEPENDENTE (DR) EF σ SEXO = F (EMPREGADO)) NOMEEF π PNOME, UNOME, SSN (EMPREGADO) DE NOMEEF x DEPENDENTE DR σ SSN = ESSN (DE) RES π PNOME, UNOME, NOME.DEPENDENTE (DR) CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 69 CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 70 Bibliografia Elmasri, Ramez; Navathe, Shamkant B. Sistemas de banco de dados. 4 ed. São Paulo: Addison Wesley, 2005, 724 p. Bibliografia: p. [690]-714. Material Didático produzido pelos professores Cristina Dutra de Aguiar Ciferri e Caetano Traina Júnior CCM205 Sistema de Bancos de Dados - 2 quadrimestre de 2011 71 11