Banco de Dados I Álgebra Relacional

Documentos relacionados
Universidade Veiga de Almeida

Álgebra Relacional e SQL operações de interesse

Banco de dados. Aula 19 Algebra Relacional Continuação. 1 Wedson Quintanilha da Silva -

ANÁLISE E PROJETO DE BANCO DE DADOS

ÁLGEBRA E CÁLCULO RELACIONAL

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

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

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

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge

António Rocha Nuno Melo e Castro

Modelo Relacional - Manipulação

- SQL Linguagem de Manipulação de Dados

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

Á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

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

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

Álgebra Relacional e SQL

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

O Modelo e a Álgebra Relacional

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

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

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

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

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

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

Álgebra Relacional e Cálculo Relacional

Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

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

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

Rápida revisão do Modelo Relacional

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

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge

Subconsultas ou Consultas Aninhadas

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

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

Álgebra e cálculo relacional. Andre Noel

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

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

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

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

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

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

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

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

BCD29008 Banco de dados

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

Bases de Dados. Parte IV

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

IEC Banco de Dados I Aula 06 Álgebra Relacional

Modelo de Dados Relacional

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

Sumário SELECT + FROM

Subconsultas ou Consultas Aninhadas

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

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

Linguagem de Consulta/Interrogação

Modelo de Dados Relacional

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

SQL Consultas Básicas

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

1ª Prova 23/10/17. Tópicos estudados (todos os assuntos até agora, 12 aulas):

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

Álgebra Relacional. Índice. Sistemas de Bases de Dados. Orlando Belo

Prova de Fundamentos de Bancos de Dados 1 a Prova

1. E 1 R 1 X R 2 (equi-join) C = D

Bases de Dados Uma Recordação da Algebra Relacional

Curso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão

Prof. Fabiano Taguchi

Consulta sobre múltiplas relações

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira

Aula 9 BD 1 SQL Parte 1. Profa. Elaine Faria UFU

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

Introdução a Banco de Dados Aula 02. Prof. Silvestri

Prof. José Remo / Prof. Ildeberto Rodello 1

Roteiro 10: Consultas com várias tabelas/operadores de busca

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação

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

Álgebra Relacional: Prod. Cartesiano. Álgebra Relacional: Projeção. Álgebra Relacional: Junção Natural. Álgebra Relacional: Junção. 1.

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

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

Subconsulta na Cláusula FROM

Introdução a Bancos de Dados

Prova de Fundamentos de Bancos de Dados 2003/1 Prova 1

Um pouco de Álgebra Relacional

Banco de Dados I 4 Normalização

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

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

1. Introdução 2. Conceitos 3. Gerenciador de Banco de Dados (SGBD) 3.1. Arquitetura ANSI/SPARC Regras básicas 3.3.

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

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

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30.

Processamento e Otimização de Consultas

4. Projecto de Bases de Dados

Transcrição:

Banco de Dados I Álgebra Relacional Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Álgebra Relacional Álgebra Relacional: conjunto de operações que podem ser realizadas em tabelas para obter resultados de consultas. Existem cinco operações básicas que podem ser combinadas para atender consultas mais complexas: Seleção Projeção União Diferença Produto Cartesiano Frederico Queiroga Banco de Dados I 2 1

Seleção (S ou σ) Sigma A operação de seleção permite a escolha de registros (linhas ou tuplas) que atendam determinadas condições numa tabela; A condição é definida por um predicado, onde podem ser feitas comparações usando os operadores: =, >, <,, >=, <= Os operadores E (AND) e OU (OR) podem ser usados para formar predicados compostos. Notação: σ (Tabela) predicado Frederico Queiroga Banco de Dados I 3 Seleção (S ou σ) - Exemplos Dada a tabela de, resolva as consultas: 1. Selecionar os registros da tabela onde o nome é Caio: σ () nome = Caio 2. Selecionar os registros da tabela onde o nome é Maria ou salário menor do que R$ 500,00: σ () nome = Maria OU salario < 500 Frederico Queiroga Banco de Dados I 4 2

Seleção (S ou σ) - Exemplos Dada a tabela de, resolva as consultas: 3. Selecionar os registros da tabela onde o CPF é 555: σ () CPF = 555 4. Selecionar os registros da tabela onde CPF é 999 e salário maior do que R$ 200,00: σ () CPF = 999 E salario > 200 Frederico Queiroga Banco de Dados I 5 Projeção (P ou π) A operação de projeção permite a escolha de apenas alguns atributos (colunas) de uma tabela, omitindo os demais. Para listar vários atributos, é necessário usar vírgulas para separá-los. Pode ser combinada à operação de seleção. Notação: π (Tabela) atributo π (Tabela) atributo1, atributo2,..., atributon Frederico Queiroga Banco de Dados I 6 3

Projeção (P ou π) - Exemplos Dada a tabela de, resolva as consultas: 1. Selecionar o Salário de todos os : π () salario 2. Selecionar nome e CPF de todos os : π () Nome, cpf Frederico Queiroga Banco de Dados I 7 Projeção (P ou π) - Exemplos Dada a tabela de, resolva as consultas: 3. Selecionar o nome dos cujo salário seja maior ou igual a 300: () (σ salario >= 300) π nome 4. Selecionar o CPF e nome dos onde salário maior do que R$ 200,00 e idade menor do que 30 anos: () (σ salario > 200 E idade < 30) π Frederico nome, cpf Queiroga Banco de Dados I 8 4

União(U ou ) A operação de união corresponde à união dos elementos de duas relações (tabelas). Os valores duplicados são eliminados da relação resultante. A união só pode ocorrer entre relações compatíveis (com mesmo número de atributos e domínios semelhantes para cada atributo). Notação: relação U relação Dica: como dificilmente duas tabelas completas serão compatíveis, costuma-se usar a projeção (π) para obter atributos compatíveis de cada uma e, conseqüentemente sua união. Frederico Queiroga Banco de Dados I 9 União(U ou ) - Exemplos Dadas as tabelas de e Funcionários, resolva as consultas: Funcionários 1. Selecionar o nome de todos os e Funcionários: π () U π (Funcionários) nome nome 2. Selecionar nome e CPF de todos os e Funcionários: π () U π (Funcionários) Nome, cpf Nome, cpf Frederico Queiroga Banco de Dados I 10 5

União(U ou ) - Exemplos Dadas as tabelas de e Funcionários, resolva as consultas: Funcionários 3. Erro: π () U π (Funcionários) Nome, salario Nome, função Frederico Queiroga Banco de Dados I 11 Diferença(-) A operação de diferença seleciona registros que aparecem em uma relação e não aparecem em outra. A expressão r s resulta na relação que contém tuplas (linhas ou registros) que estão em r mas não em s. Registros que aparecem nas duas relações não são exibidos. A diferença também só pode ocorrer entre relações compatíveis. Notação: relação relação Frederico Queiroga Banco de Dados I 12 6

Diferença(-) - Exemplos Dada as tabelas de, Telefones e Compras, resolva as consultas: Telefones Compras 1. Selecionar o CPF dos clientes que não fizeram compras: π () cpf - π (compras) cpf 2. Selecionar o CPF dos clientes que não têm telefone: π () cpf - π (telefones) cpf Frederico Queiroga Banco de Dados I 13 Diferença(-) - Exemplos Dada as tabelas de, Telefones e Compras, resolva as consultas: Telefones Compras 3. Selecionar o CPF dos clientes que fizeram compras e não têm telefone: π (Compras) - π (Telefones) cpf cpf Frederico Queiroga Banco de Dados I 14 7

Produto Cartesiano ( ) A operação de produto cartesiano (junção de tabelas) permite a combinação de tabelas para relacionar dados separados em tabelas diferentes e formar uma nova tabela (relação). Permite a concatenação das tuplas (linhas) de cada relação, gerando todas as tuplas possíveis. É importante identificar apenas as combinações válidas (observar colunas em comum em cada tabela). Para identificar atributos com o mesmo nome em diferentes relações, basta acrescentar o nome da relação ao atributo. Notação: relação x relação Frederico Queiroga Banco de Dados I 15 Produto Cartesiano - Exemplos Telefones Ligação Registros Válidos Frederico Queiroga Banco de Dados I 16 8

Produto Cartesiano - Exemplos Dada as tabelas de e Telefones, resolva as consultas: Telefones 1. Selecionar o nome e o telefone de todos os : ( x Telefones) (σ π clientes.cpf = telefones.cpf).nome, telefone.numero 2. Selecionar o nome, salário e o telefone de todos os : ( x Telefones) π ( σ clientes.cpf = telefones.cpf).nome,.salario, telefone.numero Frederico Queiroga Banco de Dados I 17 Produto Cartesiano - Exemplos Dada as tabelas de e Telefones, resolva as consultas: Telefones 3. Selecionar o CPF, nome, a idade e o telefone de todos os que tenham 27 anos ou mais: ( x Telefones) (σ π clientes.cpf = telefones.cpf E clientes.idade >= 27).cpf,.nome,.idade, telefone.numero 4. Selecionar o nome, salário e o telefone dos que ganham mais de R$ 400: ( x Telefones) (σ Frederico π clientes.cpf = telefones.cpf E clientes.salario > 400) Queiroga Banco de Dados I 18.nome,.salario, telefone.numero 9

Peças CodPeca Nome Cor Peso Cidade P1 HD Externo Azul 300g Recife P2 Monitor LCD Preto 2kg João Pessoa P3 Gravador DVD Cinza 300g Maceió P4 Pen Drive 16gb Fornecedores CodFornec Nome Status Cidade F1 Fornecedor 1 5 São Paulo F2 Fornecedor 2 10 João Pessoa F3 Fornecedor 3 7 São Paulo Pedido CodPeca CodFornec Qtde Disp. P1 F1 100 P1 F2 200 P3 F3 300 P2 F1 200 P2 F4 350 F4 Fornecedor 4 5 João Pessoa Frederico Queiroga Banco de Dados I 19 Produto Cartesiano - Exercícios 1. Mostre os dados das peças com o código P1 e P2; 2. Mostre os dados de todos os fornecedores que sejam do município de João Pessoa e tenham Pedidos com quantidade maior que 100 peças; 3. Apresente o códigos e os nomes de todas as peças que já foram vendidas; 4. Mostre as cidades de todos os fornecedores; 5. Mostre o código da peça e a quantidade disponibilizada, para cada Envio da peça do fornecedor F1; 6. Obtenha o nome e a cidade de todos os fornecedores que têm envios e status maior do que 5; 7. Mostre o nome do fornecedor, o nome da peça e a quantidade disponibilizada para todos os pedidos; Frederico Queiroga Banco de Dados I 20 10

FIM Frederico Queiroga Banco de Dados I 21 11