Professional Documents
Culture Documents
MOODLE
MOODLE Atividade 3
MOODLE ATIVIDADE 3 Entregar resumo sobre a FN Boyce/Codd: 21/novembro s 23:55h. Via MOODLE.
1 2 3
1 2
1 2 3 4 5 6
Z Joo Maria
X X x
X X X
Outro exemplo...
Ex: Qual o produto cartesiano entre as relaes devedor e emprestimo. (devedor X emprestimo) = {nome_cliente, num_emprstimo, nome_agencia, num_emprstimo, total}
Obs: para evitar a duplicidade de nomes de atributos, insere-se o nome da relao antes do atributo:
(nome_cliente, devedor.num_emprstimo, nome_agencia, emprstimo.num_emprstimo, total)
(Devedor X Emprstimo)
Agora, deve-se encontrar todos os nomes de clientes que tenham um emprstimo na agncia SAL-1, atravs da operao:
devedor.num_emprstimo = emprstimo.num_emprstimo (
14
r1 r2
Exemplo:
Conta = (nmero-conta, nmero-cliente, saldo,agncia) Emprstimo = (nmero-emprstimo, nmero-cliente, valor, agncia)
Obter todos os clientes da agncia Centro que tenham uma conta, mas no tenham emprstimo
T
c8
R
2010.2 - Prof. Mario Godoy
c1 c2 c3
c4
c5 c6 c7
S
17
Juno Natural
(natural join)
r1 |X| r2
18
r1 |X| r2
Exemplo:
Emprstimo = (nmero-emprstimo, nmero-cliente, valor, agncia) Cliente = (nmero-cliente, nome-cliente, rua, cidade)
Apenas nmero-cliente comum nas duas relaes. A juno natural considera apenas tuplas que tm o mesmo valor para este atributo.
similar a:
Atribuio
24
Operao Atribuio
Armazena o resultado de uma consulta em uma varivel temporria. Finalidade: usar a varivel temporria em operaes subseqentes. O resultado somente armazenado, no mostrado ao usurio.
Representao:
temp <consulta>
Operao Atribuio
Exemplo:
Momento 1:
Momento 2:
Operao de Diviso
27
Operao de Diviso
Produz como resultado a projeo de TODOS os atributos da primeira tabela que se relacionam com TODOS os atributos da segunda tabela. Operao de Diviso: a diviso de duas relaes R S, onde os atributos de S esto contidos nos atributos de R, resulta na relao T, onde A(T) = { A(R) A(S) }, onde para cada tupla t que aparece no resultado, os valores de t devem aparecer em R, combinando com cada tupla de S. Esta operao utilizada nas consultas em que se emprega a frase para todos;
a2? a1?
Operao de Diviso
Produz como resultado a projeo de TODOS os atributos da primeira tabela que se relacionam com TODOS os atributos da segunda tabela. Exemplo:
R1 A1 A2
R2 A2 R1
R2
Z?
Operao de Diviso
Produz como resultado a projeo de TODOS os atributos da primeira tabela que se relacionam com TODOS os atributos da segunda tabela. Exemplo:
CONTA
Agncia
Conta
Agncia
Resumo
Tabela de Resumo:
32
Projeo Generalizada
33
Projeo Generalizada
Funes aritmticas podem ser utilizadas em listas de projees.
Representao:
E qualquer expresso em lgebra relacional. F1, F2, ..., Fn so expresses aritmticas envolvendo constantes e atributos do esquema E.
Projeo Generalizada
Exemplo:
Crdito (nmero-cliente, limite-crdito, saldo-crdito)
Obter quanto os clientes podem gastar, de acordo com o seu crdito no banco.
36
|X|
Juno Externa
Juno Natural
Exemplo:
FUNCIONRIO
C d ig o 1 2 5 9
Cdigo 1 2 5 9
Funcionrio
Mensalista
nom e_agncia
C digoN e_funcionrio R om ua C idade 1 A na Brom lias M arlia 2 Joo D Pedro Pom . pia 3 S one im 4deabril Prom isso 9 R odrigo C hacrinha G ara
2010.2 - Prof. Mario Godoy
Cdigo 1 2 5 9
Funcionrio
Cdigo 1 2 5 9 Nome_funcionrio Ana Joo nulo Rodrigo Rua Bromlias D. Pedro nulo Chacrinha
Mensalista
Cidade nome_agncia Marlia Centro Pompia Centro nulo Vila Verde Gara Vila Verde Salrio 1500 2000 2500 3000
40
C digo N e_funcionrio R om ua 1 Ana Brom lias 2 Joo D Pedro . 3 Sim one 4de abril 9 R odrigo C hacrinha
Cdigo 1 2 5 9
Funcionrio
Cdigo 1 2 3 9 5 Nome_funcionrio Rua Ana Bromlias Joo D. Pedro Simone 4 de abril Rodrigo Chacrinha nulo nulo
Mensalista
Cidade Marlia Pompia Promisso Gara nulo
nome_agncia Salrio
Funes Agregadas
42
Funes agregadas
Retorna um valor nico como resultado de um conjunto de valores. Representao:
Funes agregadas
Exemplo:
MENSALISTA
Nome_funcionrio nome_agncia Ana Centro Joo Centro Roberta Vila Verde Rodrigo Vila Verde Salrio 1500 2000 2500 3000
Funes agregadas
Exemplo:
MENSALISTA
Nome_funcionrio nome_agncia Ana Centro Joo Centro Roberta Vila Verde Rodrigo Vila Verde Salrio 1500 2000 2500 3000
1500
Funes agregadas
Clusula distinct
Exemplo:
eliminao de duplicidade.
MENSALISTA
Nome_funcionrio nome_agncia Ana Centro Joo Centro Roberta Vila Verde Rodrigo Vila Verde Salrio 1500 2000 2500 3000
count-distinct
nome-agncia (mensalista)
2
46
<atributo-agrupamento>
G funo
?
sum avg count max min
<expresso>
(relao)
MENSALISTA
Nome_funcionrio nome_agncia Ana Centro Joo Centro Roberta Vila Verde Rodrigo Vila Verde Salrio 1500 2000 2500 3000
nome-agncia
G sum
salrio
(mensalista)
RESULTADO
nome_agncia soma Centro 3500 Vila Verde 5500
48 2010.2 - Prof. Mario Godoy
MENSALISTA
Nome_funcionrio nome_agncia Ana Centro Joo Centro Roberta Vila Verde Rodrigo Vila Verde Salrio 1500 2000 2500 3000
nome-agncia
G sum
mximo 2000 3000
salrio,
maxsalrio (mensalista)
RESULTADO
nome_agncia soma Centro 3500 Vila Verde 5500
Exerccios
Considere os seguintes esquemas de relao: Cliente (cli-cdigo,cli-nome,cli-endereo, cli-data-nasc) Produto (pro-cdigo,pro-descrio,pro-preo-compra,pro-preo-venda) Venda (ven-cdigo,ven-data,cli-cdigo) ItemVenda (ven-cdigo, pro-cdigo,vi-quantidade,vi-valor-unit) Clibanco (cli-cdigo, clib-cdigo, clib-nm-conta, clib-data-abertura)
Usando os conceitos de lgebra Relacional estudados, escreva consultas que atenda s solicitaes a seguir. 1. Todas as descries, quantidade, valor unitrio de todos os produtos vendidos. 2. O lucro que se obtm de cada unidade vendida de produto (preo venda preo compra). Mostre a descrio do produto e o lucro por unidade. 3. Todas as descries dos produtos comprados pelo cliente Pedro. 4. Todas as descries, quantidades e valor unitrio dos produtos vendidos no ms de fevereiro de 2005. 5. Todas as vendas realizadas no ms de janeiro de 2005, mostrando: cdigo da venda, nome do cliente, data, descrio do produto, quantidade, valor unitrio e valor total do item.
50 2010.2 - Prof. Mario Godoy
Exerccios
Considere os seguintes esquemas de relao: Cliente (cli-cdigo,cli-nome,cli-endereo, cli-data-nasc) Produto (pro-cdigo,pro-descrio,pro-preo-compra,pro-preo-venda) Venda (ven-cdigo,ven-data,cli-cdigo) ItemVenda (ven-cdigo, pro-cdigo,vi-quantidade,vi-valor-unit) Clibanco (cli-cdigo, clib-cdigo, clib-nm-conta, clib-data-abertura) 6. O valor total de cada venda. Mostre o nmero da venda, a data e o valor total.
7. A quantidade de clientes que compraram no ms de janeiro de 2005 (eliminar as duplicaes) 8. Uma lista completa de clientes e seus respectivos bancos e nmeros de conta (usar outer join). 9. O valor do produto mais caro. 10. O valor mdio do preo de venda dos produtos. 11. A data de nascimento mais antiga dos clientes. 12. O maior valor de venda (somando todos os produtos vendidos). 13. O cdigo do cliente que mais comprou (considerando o valor total da venda). 51
2010.2 - Prof. Mario Godoy
Exerccios
Considere os seguintes esquemas de relao: Cliente (cli-cdigo,cli-nome,cli-endereo, cli-data-nasc) Produto (pro-cdigo,pro-descrio,pro-preo-compra,pro-preo-venda) Venda (ven-cdigo,ven-data,cli-cdigo) ItemVenda (ven-cdigo, pro-cdigo,vi-quantidade,vi-valor-unit) Clibanco (cli-cdigo, clib-cdigo, clib-nm-conta, clib-data-abertura) 14. O nome do cliente que mais comprou (considerando o valor total da venda). 15. O nome do cliente que mais comprou em janeiro deste ano (considerando o valor total da venda). 16. A quantidade vendida de cada produto no ms de maio deste ano. 17. A descrio do produto mais vendido no ms de maio deste ano (considere a quantidade vendida) 18. A quantidade de clientes que efetuou compras no ms de maio deste ano. 19. O lucro obtido no ms de maio deste ano. 20. A quantidade mdia diria de clientes que efetuaram compras no primeiro semestre do ano.
52 2010.2 - Prof. Mario Godoy