Álgebra Relacional – Parte 2

Slides:



Advertisements
Apresentações semelhantes
Modelo Relacional e Transformação DER x Relacional
Advertisements

Capítulo 6 A Álgebra Relacional e o Cálculo Relacional
Normalização em BD Relacional
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Álgebra Relacional Marcelo Mendes Manaus
Modelo Relacional Renata Viegas.
SQL Avançado Continuação
SQL Structured Query Language (continuação)
Prof.: Bruno Rafael de Oliveira Rodrigues
Linguagens relacionais
Manipulação algébrica
FOLHA DE CÁLCULO 4.
AULA DE MATEMÁTICA 1 Prof.: Fábio Barros CAPÍTULO 6 FUNÇÕES.
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Modelos de Preferências AULA 15 DATA MINING Sandra de Amo.
Algoritmos para Seleção e Projeção
Algebra relacional nomeada e não-nomeada
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Subconsultas ou Consultas Aninhadas
SQL – Consultas Básicas
UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE
Estatística Básica Utilizando o Excel
15 Introdução à Manipulação de Planilhas Eletrônicas Planilhas Eletrônicas são tabelas usadas para comunicar informações de forma clara, precisa e sucinta.
Márcia Jacyntha Nunes Rodrigues - DIMAP/UFRN
DNS Introdução.
Projeto de Software Orientado a Objetos
ÁLGEBRA RELACIONAL Cada operador da álgebra relacional toma uma ou duas relações como sua entrada e gera uma nova relação como saída. São oito os operadores.
Operadores Especiais da SQL
Álgebra Relacional – Parte 3
Profa. Aline Vasconcelos
Programação Cabeças Automáticas 3M
Qui-quadrado de Associação (entre duas variáveis)
Introdução à Engenharia da Computação
Material III-Bimestre Wagner Santos C. de Jesus
Programação Dinámica Análise de algoritmos UNISUL
Grupo 5: Fernando Lourenço Pinho Costa Rafael de Souza Santos
Compras – Cadastro de Promoção
Modelo Relacional Uma base de dados é Uma relação é
Financeiro - Cadastro de Conta Contábil
Módulo Financeiro Centro de Custo.
Cadastro de produtos por referência
Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional
SISTEMAS DE INFORMAÇÃO – UNIESP/2010
Banco de Dados II Prof. Antônio Cordeiro.
Álvaro Vinícius de Souza Coêlho
1 Álgebra Relacional Aspectos de Manipulação (Linguagens Formais de Consulta) –Álgebra Relacional Características –Descrevem qualquer operação de consulta.
Banco de Dados Aplicado ao Desenvolvimento de Software
Construção Tabela-verdade
Modelo de Dados Relacional
1- Acessar o site: 2- Realizar o cadastro.
Cálculo relacional Lílian Simão Oliveira.
Financeiro – Despesas Fixas e Variáveis
Financeiro – Despesas Fixas e Variáveis
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Clínica Online e TISS
Álgebra Relacional (Exemplos)
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
A abordagem de banco de dados para gerenciamento de dados
Comandos SQL.
Planilha Eletrônica - Excel
Campus de Caraguatatuba Aula 16e: Exercícios de View
Uma Proposta para Bancos de Dados Categoriais Rafael C. Pinto.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Recuperação de Dados Banco de Dados Carina Farias
UCSal – Bacharelado em Informática
©Silberschatz, Korth and Sudarshan (Modificado)3.2.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Álgebra Relacional Vania Bogorny.
Transcrição da apresentação:

Álgebra Relacional – Parte 2 Professora: Aline Vasconcelos Cefet Campos aline.vasconcelos@terra.com.br

ÁLGEBRA RELACIONAL Álgebra e Cálculo Relacional são duas linguagens formais de consulta associadas ao Modelo Relacional. Na Álgebra Relacional, consultas são compostas de um conjunto de operadores, descrevendo procedimentos passo a passo para computar a resposta desejada. No Cálculo Relacional, uma consulta descreve a resposta desejada sem especificar como essa resposta deve ser computada. Esse estilo de consulta não procedural é chamado declarativo.

Banco de Dados Utilizado nos Exemplos Tabela de Filmes codFilme título gênero f1 Coração Valente Aventura f2 Se eu Fosse Você Comédia f3 E o Vento Levou Romance f4 O Máscara Tabela de Clientes codCli nome idade cidade codPaiCli c1 João 31 Porto Alegre c2 José 28 c4 c3 Luís 25 Novo Hamburgo Sílvio 43

Banco de Dados Utilizado nos Exemplos Tabela de Aluguéis codFilme codCli data f1 c1 01/01/2000 f2 c3 05/01/2000 f3 01/02/2000 c2 03/01/2000 Tabela de Fornecedores codFornecedor razaoSocial Cidade r1 Sol&Mar Ltda. Rio de Janeiro r2 Multpel São Paulo r3 Oficina das Máquinas Porto Alegre r4 Brinquedos & Cia. Ltda. Belo Horizonte

Operação de Seleção Operador de seleção (σ): seleciona linhas de uma tabela. A seleção é feita através da avaliação de uma condição de seleção. Sintaxe: σ<critério de seleção>(<tabela>) Exemplos: σ gênero=‘Comédia’ (Filmes) Resultado: codFilme título gênero f2 Se eu Fosse Você Comédia f4 O Máscara

Operação de Seleção Exemplos: σ (idade>30 and cidade =‘Porto Alegre’) (Clientes) Resultado: codCli nome idade cidade codPaiCli c1 João 31 Porto Alegre c2 c4 Sílvio 43

Operação de Projeção Operador de projeção (): projeta colunas no resultado. Sintaxe: <lista de colunas>(<tabela>) Exemplos:  gênero (Filmes) Resultado: Obs.: é importante ressaltar que na projeção, as linhas duplicadas são eliminadas, ou seja, aparecem apenas uma vez no resultado. Isso ocorre porque uma Tabela é um conjunto de linhas e conjuntos não podem conter elementos repetidos. gênero Aventura Comédia Romance

Operação de Projeção Exemplos:  codFilme, título (σ gênero=‘Comédia’ (Filmes)) Resultado: codFilme título f2 Se eu Fosse Você f4 O Máscara

Operação de Renomeação Operador de renomeação (): permite dar um novo nome a uma tabela. Sintaxe:  <novo nome>(<tabela>) Exemplos:  FilmesRomance ( codFilme, título (σ gênero=‘Romance’ (Filmes)) Resultado: FilmesRomance codFilme título f3 E o Vento Levou

Operação de União Operador de união (): a união de duas tabelas produz como resultado uma terceira tabela que contém todas as tuplas da primeira e da segunda. Sintaxe: <tabela1>  <tabela2> Exemplos: ( cidade (Fornecedores))  ( cidade (Clientes)) Resultado: cidade Rio de Janeiro São Paulo Porto Alegre Belo Horizonte Novo Hamburgo

Operação de Interseção Operador de interseção (): a interseção de duas tabelas produz como resultado uma tabela que contém as tuplas presentes na primeira e na segunda tabela ao mesmo tempo. Sintaxe: <tabela1>  <tabela2> Exemplos: ( cidade (Fornecedores))  ( cidade (Clientes)) Resultado: cidade Porto Alegre

Operação de Interseção Exemplos: ( codFilme (Filmes))  ( codFilme (Aluguéis)) Resultado: Filmes que já foram alugados. codFilme f1 f2 f3

Operação de Diferença Operador de diferença (-): a diferença de duas tabelas produz como resultado uma tabela que contém as tuplas presentes na primeira que não constam da segunda. Sintaxe: <tabela1> - <tabela2> Exemplos: ( codFilme (Filmes)) - ( codFilme (Aluguéis)) Resultado: codFilme f4 Retorna os filmes que nunca foram alugados.

Operações de União, Interseção e Diferença Para as operações de União, Interseção e Diferença, os operadores (i.e. as tabelas) devem ser compatíveis para a União, o que significa: Devem conter o mesmo número de campos; O domínio da i-ésima coluna da primeira tabela deve ser igual ao domínio da i-ésima coluna da segunda tabela; Se os nomes das colunas forem diferentes, utiliza-se por convenção os nomes das colunas da primeira tabela.

Operação de Produto Cartesiano Operador de produto cartesiano (x): o produto cartesiano de duas tabelas produz como resultado uma tabela que contém todos os campos da primeira tabela, seguidos de todos os campos da segunda tabela. Combina as linhas da primeira tabela com cada linha da segunda. Portanto, a tabela resultado possui: (número de colunas da primeira tabela + número de colunas da segunda) colunas; e (número de linhas da primeira tabela x número de linhas da segunda) linhas. Sintaxe: <tabela1> x <tabela2>

Operação de Produto Cartesiano Exemplo: Filmes x Aluguéis codFilme título gênero codCli data f1 Coração Valente Aventura c1 01/01/2000 f2 c3 05/01/2000 f3 01/02/2000 c2 03/01/2000 Se eu Fosse Você Comédia ...

Operação de Produto Cartesiano Exemplos:  codFilme, título ( Filmes.codFilme = Aluguéis.codFilme (Filmes x Aluguéis)) Resulta em uma tabela que contém os códigos de filme e títulos dos filmes que possuem aluguel.  Clientes.nome, PaiClientes.nome ( Clientes.codPaiCli = PaiClientes.codCli (Clientes x  PaiClientes (Clientes))) Resulta em uma tabela que contém os nomes de clientes e de seus pais.

Operação de Divisão Operador de divisão (): produz como resultado as tuplas da tabela 1 para as quais existe uma correspondência na tabela 2. Porém, as colunas resultantes são aquelas que aparecem na tabela 1, mas não aparecem na tabela 2. Sintaxe: <tabela1>  <tabela2>

Operação de Divisão Exemplo: ( codFilme, codCli (Aluguéis))  ( codFilme(Filmes)) Encontre os clientes que já alugaram todos os filmes. codFilme codCli f1 c1 f2 f3 f4 c3 c2 codFilme f1 f2 f3 f4 codCli c1 = 