A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times."— Transcrição da apresentação:

1

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

3 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

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

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

6 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

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

8 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 )

9 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

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

11 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

12 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

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

14 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

15 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

16 QUEL Estrutura básica: n Comando Retrieve retrieve [ [into] ( )] [ [unique] () ] [where ] [sort by ]

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

18 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);

19 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;

20 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;

21 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’;

22 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é”?

23 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)


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

Apresentações semelhantes


Anúncios Google