Exercícios

Considere as seguintes tabelas: tabelasdealgebra.xls

1. Usando Álgebra Relacional segundo C. J. Date, escreva as instruções adequadas para cada sentença:

  1. Obtenha todos os detalhes (colunas e linhas) sobre projetos.
  2. Obtenha todos os detalhes sobre projetos em Londres.
  3. Obtenha todas as remessas em que a quantidade está na faixa de 300 a 750 inclusive.
  4. Obtenha os números de fornecedores correspondentes a fornecedores que fornecem para o projeto J1.
  5. Obtenha todas as combinações cor de peça/cidade da peça.
  6. 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:

  1. Obtenha o nome fantasia, telefone e nome do contato dos fornecedores.
  2. Obtenha todos os registros e colunas dos produtos que têm mais de 20 no estoque.
  3. Obtenha o numero das nfentrada da data de emissao 01/10/2006.
  4. Obtenha a tabela abaixo a partir da tabela nfentrada_produto:
    NUMERO CODIGO QUANTIDADE
    1 1 5
    1 2 15
  5. Obtenha a tabela abaixo:
    NUMERO DATAEMISSAO VENCIMENTOINICIAL
    1 01/10/2006 01/11/2006
    2 05/10/2006 05/10/2006
  6. Obtenha o numero da nfentrada e o nome fantasia do fornecedor relacionado.
  7. Obtenha o numero da nfentrada, a quantidade entrada por nf do produto e a descrição do produto relacionado.
  8. Obtenha o codigo e o preço unitario do produto da nfentrada e, o numero e a data de emissao da nfentrada e relacionada.
  9. Obtenha os detalhes de todas as tabelas relacionadas.
  10. Para cada produto obtenha todos os fornecedores.
  11. Qual a tabela resultante da instrução: CONDICAOPAGAMENTO
  12. 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:

  1. Obtenha o ISBN e o titulo do livro.
  2. Obtenha os livros da editora ‘MAKRON’.
  3. Qual a tabela resultante da instrução:
    livro {TITULO, AUTOR1, AUTOR2} where AUTOR1 = nulo OR AUTOR2 = nulo
  4. Obtenha os numeros dos exemplares do livro ‘SISTEMA DE BD’.
  5. Obtenha a tabela abaixo:

    NOME

    INFORMATICA

    FISICA

    MATEMATICA

  6. Obtenha a tabela abaixo:

    TITULO

    NOME

    SISTEMA DE BD

    INFORMATICA

    SISTEMA DE BD

    MATEMATICA

    INTROD. A SIST. DE BD

    INFORMATICA

  7. Obtenha o telefone e o nome das bibliotecárias efetivas.
  8. Obtenha o nome das bibliotecárias efetivas da bibliotecária ‘CARLA’.
  9. Obtenha a data do empréstimo dos livros que não foram devolvidos.
  10. 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:

  1. Obtenha somente as colunas codigo, fabricante, modelo de todos os registros da tabela de celular novo.
  2. Obtenha somente as colunas codigo, fabricante, modelo de todos os registros da tabela de celular usado.
  3. Obtenha todos os registros da tabela de celular novo, unidos com todos os registros da tabela de celular usado.
  4. 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

  5. Qual a tabela resultante da instrução:
    (CelularNovo {codigo, fabricante, modelo}) minus (CelularUsado {codigo, fabricante, modelo})

Soluções:

1.

  1. J
  2. J where cidade = ‘LONDRES’
  3. FPJ where qtd >= 300 and qtd <= 750
  4. FPJ where J# = ‘J1‘ {F#}
  5. P {cor, cidade}
  6. F join P join J {F#, P#, J#}

2.

  1. FORNECEDOR {NOMEFANTASIA, TELEFONE, NOMECONTATO}
  2. PRODUTO where QUANTIDADE > 20
  3. (NFENTRADA {NUMERO}) where DATAEMISSAO = '01/10/2006'
    alternativa: (NFENTRADA where DATAEMISSAO = '01/10/2006') {NUMERO}
  4. (NFENTRADA_PRODUTO {NUMERO, CODIGO, QUANTIDADE}) where NUMERO = 1
  5. NFENTRADA join CONDICAOPAGAMENTO {NUMERO, DATAEMISSAO, VENCIMENTOINICIAL}
  6. NFENTRADA join FORNECEDOR {NUMERO, NOMEFANTASIA}
  7. NFENTRADA_PRODUTO join PRODUTO {NUMERO, QUANTIDADE, DESCRICAO}
  8. NFENTRADA_PRODUTO join NFENTRADA {CODIGO, PRECOUNITARIO, NUMERO, DATAEMISSAO}
  9. ((((NFENTRADA join FORNECEDOR) join CONDICAOPAGAMENTO) join NFENTRADA_PRODUTO) join PRODUTO)
  10. PRODUTO times FORNECEDOR

  11. NUMERO QUANTIDADEPARCELAS COMENTRADA FREQUENCIADIAS VENCIMENTOINICIAL
    1 2 N 30 01/11/2006
    2 1 S 0 05/10/2006
  12. Obtem todos os registros e todas as colunas da tabela CONDICAOPAGAMENTO.

3.

  1. Livro {ISBN, TITULO}
  2. Livro where EDITORA = ‘MAKRON’

  3. TITULO

    AUTOR1

    AUTOR2

    INTROD. A SIST. DE BD

    DATE

     

  4. (Exemplar join livro {NUMERO}) where TITULO = ‘SISTEMA DE BD’
  5. CATEGORIA
  6. (Categoria_livro join livro) {TITULO, NOME}
  7. Bibliotecária {TELEFONE, NOME} where NOMEEFETIVA = nulo
  8. Bibliotecária {NOMEEFETIVA} where NOME = ‘CARLA’
  9. Empresta where DATADEVOLUCAO = nulo {DATA}
  10. (((Empresta where DATADEVOLUCAO = nulo) join exemplar) join livro) {TITULO, DATA}

4.

  1. CelularNovo {codigo, fabricante, modelo}
  2. CelularUsado {codigo, fabricante, modelo}
  3. (CelularNovo {codigo, fabricante, modelo}) union (CelularUsado {codigo, fabricante, modelo})
  4. (CelularNovo {codigo, fabricante, modelo}) intersect (CelularUsado {codigo, fabricante, modelo})

  5. codigo

    fabricante

    modelo

    2

    SONY

    K300


Hosted by www.Geocities.ws

1