Considere as seguintes tabelas: tabelasdealgebra.xls
1. Usando Álgebra Relacional segundo C. J. Date, escreva as instruções adequadas para cada sentença:
- Obtenha todos os detalhes (colunas e linhas) sobre projetos.
- Obtenha todos os detalhes sobre projetos em Londres.
- Obtenha todas as remessas em que a quantidade está na faixa de 300 a 750 inclusive.
- Obtenha os números de fornecedores correspondentes a fornecedores que fornecem para o projeto J1.
- Obtenha todas as combinações cor de peça/cidade da peça.
- Obtenha todas as tuplas dos atributos numero de fornecedor/numero de peça/numero de projeto, tais que o fornecedor, a peça e o projeto estejam todos na mesma cidade.
2. Considerando o Diagrama ER estoque e as tabelas estoque.xls, escreva as instruções de Álgebra Relacional segundo C. J. Date, adequadas para cada sentença:
- Obtenha o nome fantasia, telefone e nome do contato dos fornecedores.
- Obtenha todos os registros e colunas dos produtos que têm mais de 20 no estoque.
- Obtenha o numero das nfentrada da data de emissao 01/10/2006.
- Obtenha a tabela abaixo a partir da tabela nfentrada_produto:
| NUMERO |
CODIGO |
QUANTIDADE |
| 1 |
1 |
5 |
| 1 |
2 |
15 |
- Obtenha a tabela abaixo:
| NUMERO |
DATAEMISSAO |
VENCIMENTOINICIAL |
| 1 |
01/10/2006 |
01/11/2006 |
| 2 |
05/10/2006 |
05/10/2006 |
- Obtenha o numero da nfentrada e o nome fantasia do fornecedor relacionado.
- Obtenha o numero da nfentrada, a quantidade entrada por nf do produto e a descrição do produto relacionado.
- Obtenha o codigo e o preço unitario do produto da nfentrada e, o numero e a data de emissao da nfentrada e relacionada.
- Obtenha os detalhes de todas as tabelas relacionadas.
- Para cada produto obtenha todos os fornecedores.
- Qual a tabela resultante da instrução: CONDICAOPAGAMENTO
- Explique o que faz a instrução do exercício anterior.
3. Considerando o Diagrama ER biblioteca e as tabelas biblioteca.xls, escreva as instruções de Álgebra Relacional segundo C. J. Date, adequadas para cada sentença:
- Obtenha o ISBN e o titulo do livro.
- Obtenha os livros da editora ‘MAKRON’.
- Qual a tabela resultante da instrução:
livro {TITULO, AUTOR1, AUTOR2} where AUTOR1 = nulo OR AUTOR2 = nulo
- Obtenha os numeros dos exemplares do livro ‘SISTEMA DE BD’.
- Obtenha a tabela abaixo:
NOME |
INFORMATICA |
FISICA |
MATEMATICA |
- Obtenha a tabela abaixo:
TITULO |
NOME |
SISTEMA DE BD |
INFORMATICA |
SISTEMA DE BD |
MATEMATICA |
INTROD. A SIST. DE BD |
INFORMATICA |
- Obtenha o telefone e o nome das bibliotecárias efetivas.
- Obtenha o nome das bibliotecárias efetivas da bibliotecária ‘CARLA’.
- Obtenha a data do empréstimo dos livros que não foram devolvidos.
- Obtenha o titulo do livro, a data do empréstimo dos livros que não foram devolvidos.
4. Considerando as tabelas:
TABELA: CelularNovo
codigo |
fabricante |
modelo |
quant |
1 |
NOKIA |
6100 |
11 |
2 |
SONY |
K300 |
12 |
TABELA: CelularUsado
codigo |
fabricante |
modelo |
preço |
1 |
NOKIA |
6100 |
110,00 |
2 |
SIEMENS |
S55 |
120,00 |
Escreva as instruções de Álgebra Relacional segundo C. J. Date, adequadas para cada sentença:
- Obtenha somente as colunas codigo, fabricante, modelo de todos os registros da tabela de celular novo.
- Obtenha somente as colunas codigo, fabricante, modelo de todos os registros da tabela de celular usado.
- Obtenha todos os registros da tabela de celular novo, unidos com todos os registros da tabela de celular usado.
- Obtenha somente os registros coincidentes da tabela de celular novo, unidos com todos os registros da tabela de celular usado, assim:
codigo |
fabricante |
modelo |
1 |
NOKIA |
6100 |
- Qual a tabela resultante da instrução:
(CelularNovo {codigo, fabricante, modelo}) minus (CelularUsado {codigo, fabricante, modelo})
Soluções:
1.
- J
- J where cidade = ‘LONDRES’
- FPJ where qtd >= 300 and qtd <= 750
- FPJ where J# = ‘J1‘ {F#}
- P {cor, cidade}
- F join P join J {F#, P#, J#}
2.
- FORNECEDOR {NOMEFANTASIA, TELEFONE, NOMECONTATO}
- PRODUTO where QUANTIDADE > 20
- (NFENTRADA {NUMERO}) where DATAEMISSAO = '01/10/2006'
alternativa: (NFENTRADA where DATAEMISSAO = '01/10/2006') {NUMERO}
- (NFENTRADA_PRODUTO {NUMERO, CODIGO, QUANTIDADE}) where NUMERO = 1
- NFENTRADA join CONDICAOPAGAMENTO {NUMERO, DATAEMISSAO, VENCIMENTOINICIAL}
- NFENTRADA join FORNECEDOR {NUMERO, NOMEFANTASIA}
- NFENTRADA_PRODUTO join PRODUTO {NUMERO, QUANTIDADE, DESCRICAO}
- NFENTRADA_PRODUTO join NFENTRADA {CODIGO, PRECOUNITARIO, NUMERO, DATAEMISSAO}
- ((((NFENTRADA join FORNECEDOR) join CONDICAOPAGAMENTO) join NFENTRADA_PRODUTO) join PRODUTO)
- PRODUTO times FORNECEDOR
| NUMERO |
QUANTIDADEPARCELAS |
COMENTRADA |
FREQUENCIADIAS |
VENCIMENTOINICIAL |
| 1 |
2 |
N |
30 |
01/11/2006 |
| 2 |
1 |
S |
0 |
05/10/2006 |
- Obtem todos os registros e todas as colunas da tabela CONDICAOPAGAMENTO.
3.
-
Livro {ISBN, TITULO}
- Livro where EDITORA = ‘MAKRON’
TITULO |
AUTOR1 |
AUTOR2 |
INTROD. A SIST. DE BD |
DATE |
|
- (Exemplar join livro {NUMERO}) where TITULO = ‘SISTEMA DE BD’
- CATEGORIA
- (Categoria_livro join livro) {TITULO, NOME}
- Bibliotecária {TELEFONE, NOME} where NOMEEFETIVA = nulo
- Bibliotecária {NOMEEFETIVA} where NOME = ‘CARLA’
- Empresta where DATADEVOLUCAO = nulo {DATA}
- (((Empresta where DATADEVOLUCAO = nulo) join exemplar) join livro) {TITULO, DATA}
4.
- CelularNovo {codigo, fabricante, modelo}
- CelularUsado {codigo, fabricante, modelo}
- (CelularNovo {codigo, fabricante, modelo}) union (CelularUsado {codigo, fabricante, modelo})
- (CelularNovo {codigo, fabricante, modelo}) intersect (CelularUsado {codigo, fabricante, modelo})
codigo |
fabricante |
modelo |
2 |
SONY |
K300 |
|