QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times.

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Object Query Language - OQL
Estudo de Caso, modelo Oracle 10g
AULA 5 PGC Sistemas de Banco de Dados Profa. Sandra de Amo
SQL Avançado Continuação
SQL Structured Query Language (continuação)
SQL Structured Query Language (continuação)
Banco de Dados Relacional Estendido
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
Sistema Gerenciador de Banco de Dados SGBD
Algoritmos para Seleção e Projeção
SQL – Comandos de Agregação
Subconsultas ou Consultas Aninhadas
Márcia Jacyntha Nunes Rodrigues - DIMAP/UFRN
SQL – DML Consultas envolvendo relacionamentos entre tabelas
Operadores Especiais da SQL
Profa. Aline Vasconcelos
SCC Bancos de Dados e Suas Aplicações
Material III-Bimestre Wagner Santos C. de Jesus
Exercícios de php Dia 04/03/2011.
Eduardo Costa Gabriel Cypriano Rodrigo Calhau
Banco de Dados SQL 2 Profa. Ceça.
FORMAS DE REPRESENTAÇÃO QUE SERVEM PARA DESCREVER AS ESTRUTURAS DAS INFORMAÇÕES CONTIDAS EM UM BD. Modelos de Dados.
Banco de dados Profª Kelly Medeiros.
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
©Silberschatz, Korth and Sudarshan (modificado)5.1.1Database System Concepts Capítulo 5: Outras linguagens Query-by-Example (QBE) Datalog.
SQL Álvaro Vinícius de Souza Coêlho
Otimizador de consultas
Banco de Dados Aplicado ao Desenvolvimento de Software
Modelo de Dados Relacional
Especialização em Tecnologia da Informação
Cálculo relacional Lílian Simão Oliveira.
Conceitos de SGBD Objeto-Relacional Oracle 10g [1]
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Desenvolvendo um script SQL
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
Banco de dados.
Conceitos Programas Programação Linguagens de Programação SQL.
CÁLCULO RELACIONAL Lílian Simão Oliveira. Cálculo Relacional  é uma linguagem de consulta formal. Utilizando-se de uma expressão declarativa pode-se.
Baseado no material do Professor Raul Paradeda
Comandos SQL.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
PostGres: Um Banco de Dados Orientado a Objetos
Definições de Esquemas, Restrições básicas e buscas
Banco de Dados Aplicado ao Desenvolvimento de Software
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Cálculo Relacional.
Contatos Gladimir Catarino
SQL Server Comando PIVOT.
Banco de Dados I I Comandos SQL
Linguagem SQL Prof. Juliano.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Bancos de Dados Objeto-relacional e Orientados a Objetos Maria Carolina
Sumário 1 SQL Embutida 2 Processamento de Consultas
SQL – DML Consultas envolvendo mais de uma tabela
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Daniel Paulo SQL Módulo I Daniel Paulo
VBA – Visual Basic para Aplicativos
UCSal – Bacharelado em Informática
SELECT Professor: Virgílio Fries Müller www. vfm.com.br
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
Banco de Dados Introdução à Linguagem SQL – Junção Manipulação com 3 Tabelas ou + em relacionamentos n/1 Esta aula é baseada em material produzido pelo.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
José Antônio da Cunha 2/6/2016 José Antônio - CEFET-RN 1 Disciplina: Banco de Dados.
Transcrição da apresentação:

QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times

QBE A Linguagem QBE n Desenvolvida pela IBM (DB2, Paradox). n Uma das primeiras linguagens de consulta gráficas para BD. n Usuário não precisa especificar uma consulta estruturada explicitamente. n A consulta é formulada escrevendo-se em modelos (templates) de relações. Empregado CadNomeSexoSalárioNum-DepCad-Spv

QBE A Linguagem QBE (Cont.) n Constantes e variáveis são digitadas nas colunas dos templates para construção de um exemplo. Vantagens de QBE n Usuários não precisam: – Lembrar dos nomes dos atributos ou relações. –Seguir regras de sintaxe rígidas para especificação da consulta.

QBE Consultas Básicas n Para uma dada consulta, pode-se digitar: –Constantes: especificam valores que devem aparecer exatamente nas colunas. –Elementos de Exemplo: Consistem em variáveis de domínio Possuem valores apenas ilustrativos Devem ser precedidas pelo (_). –Operador “P”: Indicam a necessidade de impressão dos valores nas colunas.

Esquema Relacional dos Exemplos de QBE Num-DepNum-Loc Locais Trabalha-em Cad-EmpNum-ProjHoras Empregado CadNomeSexoSalárioNum-DepCad-Spv Departamento NúmeroNome Cad-GerData-IniCadNomeData-nascGrau-P Dependente Projeto NúmeroNome LocalNum-Dep

QBE Problemas: n Listar o salário e o código do departamento do empregado ‘José’. Empregado CadNomeSexoSalárioNum-DepCad-Spv _01 José M P._1000 P._010 _03 José M P._1000 P._010 José M P._X P._Y José M P. P.

QBE n Utilizando outros operadores relacionais Problemas: n Listar os códigos dos empregados que trabalham mais do que 20 horas no projeto 10. Trabalha-em Cad-EmpNum-ProjHoras P. 10 >20 P. 1 >20 P. 2 >20 P. _ PX _HX Condição: _HX > 20 AND (_PX = 1 OR _PX = 2 )

QBE Problemas: n Listar os códigos dos empregados que trabalham em ambos projetos 10 e 15. Trabalha-em Cad-EmpNum-ProjHoras P. _ES 10 P. _ES 15 P._EX 10 Condição: _EX = _EY P._EY 15

QBE n Operação de Junção: –Usando a mesma variável nas colunas a serem juntadas. –Várias junções podem ser especificadas em uma única consulta. –Uma tabela de resultado para exibir o resultado da junção pode ser especificada. Problemas: n Listar os nomes e os salários dos empregados que trabalham no departamento de Física.

QBE _DEP Física Departamento NúmeroNome Cad-GerData-Ini Resultado P. _NOM _SAL Especifica que todos os atributos da relação devem ser recuperados Empregado CadNomeSexoSalárioNum-DepCad-Spv _NOM _SAL _DEP

QBE Junção recursiva: Usa-se variáveis distintas para representar as diferentes referências à tabela. Problemas: n Para cada empregado, mostre o nome e o salário bem como o nome e o salário de seu supervisor. Empregado CadNomeSexoSalárioNum-DepCad-Spv _E1 _E2 _COD _COD _S1 _S2 Resultado P. _E1 _E2 _S1 _S2

QUEL A Linguagem QUEL Linguagem de Consulta do SGBD INGRES, um dos primeiros sistemas relacionais, amplamente conhecido tanto no meio acadêmico quanto comercial. Utiliza o Cálculo Relacional: n utilização de variável tupla, a qual se estende por uma relação, n construção baseada nos predicados de primeira ordem.

Esquema Relacional dos Exemplos de QUEL Vendedor MatrículaNome SalárioComissão Produto Código-p DescriçãoUnidade ValorNúmeroPrazoCódigo-cMatrícula Pedido Item-do-Pedido NúmeroCódigo-p QuantidadeClienteCódigo-c Nome Endereço Cidade CEP UF CGC

QUEL Estrutura básica: n Comando Range range of t is r onde: –t é uma variável tupla, restrita a assumir valores de tuplas na relação r –r é uma relação Exemplo: range of P is Produto

QUEL Estrutura básica: n Comando Retrieve retrieve [ [into] ( )] [ [unique] (<variável.ALL ou referência a atributo ou atributo = expressão>) ] [where ] [sort by ]

QUEL Estrutura básica: Exemplo: range of P is Produto retrieve (P.descrição) where P.valor > 10;

QUEL Problemas: n Listar a descrição de todos os produtos com seus valores unitários range of P is Produto retrieve (P.descrição, P.valor); n Listar todo o conteúdo da tabela vendedor range of X is Vendedor retrieve (X.ALL);

QUEL Problemas: n Listar o número do pedido e o código do produto no item-do-pedido com quantidade igual a 35 range of S is item-do-pedido retrieve (S.número, S.código-p) where S.quantidade = 35; n Listar os nomes dos clientes com as respectivas cidades e estado na ordem alfabética reversa range of Y is Cliente retrieve (Y.nome, Y.cidade, Y.UF) sort by Y.UF: D, Y.cidade: D;

QUEL Problemas: n Mostrar a quantidade total pedida para o produto VINHO de código 78 range of R is item-do-pedido retrieve (Z = sum(R.quantidade)) where R.código-p = 78; n Quais os clientes que fizeram pedidos? range of C is Cliente range of P is Pedido retrieve unique (C.nome) where C.código-c = P.código-c;

QUEL Problemas: n Mostre os clientes ordenados pelos nomes, que têm prazo de entrega maior que 15 dias para o produto ‘queijo’ range of C is Cliente range of P is Pedido range of PR is Produto range of I is item-do-pedido retrieve unique (C.nome) where C.código-c = P.código-c and P.número = I.número and I.código-p=PR.código-p and P.prazo > 15 and PR.descrição = ‘queijo’;

QUEL e SQL Exercícios: 1) Listar todo o conteúdo da tabela produto 2) Listar os produtos que tenham unidade igual a “M” e valor unitário igual a 1,05 3) Quais os clientes que fizeram pedidos? 4) Listar o número do pedido em ordem crescente, o nome de cada produto em ordem alfabética e o valor total de cada item pedido. 5) Mostre o nome e o endereço dos clientes cujos pedidos têm um prazo de entrega inferior a 7dias 6) Quais as descrições dos produtos comprados pelo cliente de nome “José”?

QUEL e SQL 7) Listar os vendedores ordenados pelo nome que venderam produtos com valor unitário superior a 100 ou em uma quantidade maior do que 10. 8) Liste os vendedores ordenados pelo nome que têm pedidos de vinhos com prazo de entrega vencido (igual a zero). 9) Quantos pedidos foram realizados por vendedor? (apenas em SQL) 10) Mostre os clientes do vendedor ‘André’, ordenados pelo nome, com seus respectivos endereços e agrupados pela UF. (apenas em SQL)