Gabarito para a lista de exercícios I) Considere o modelo relacional abaixo e responda em álgebra relacional. Peca (codigo, nome, cor, cidade) Fornecedor(codigo, nome, cidade) Fornecimento(cod_forn, cod_peca, qtde) 1) Obter o nome e a cor das peças localizadas em SP. 2) Obter o código dos fornecedores que fizeram fornecimento de peça P2 com qtde maior que 200. 3) Obter o código e o nome das peças que são vermelhas ou que tem fornecimento feito pelo fornecedor de codigo S1. 4) Obter o código dos fornecedores que não fornecem a peça de código P3. 5) Obter o nome das peças fornecidas pelo fornecedor Silva. 6) Recuperar o nome das peças que tiveram fornecimento. 7) Obter a quantidade média de peças P2 fornecidas. 8) Obter a Quantidade total de peças fornecidas pelo fornecedor S1. 9) Obter quantos fornecimentos foram realizados para a peça P2. 10) Obter o numero de fornecedores por cidade. Respostas: 1) Resultado <- Пnome,cor (σcidade='sp' (PECA)) 2) Resultado <- Пcod_forn (σcod_peca='p2' ^ qtde > 200 (FORNECIMENTO)) 3) R1 <- Пcodigo,nome (σcor='vermelho' ) R2 <- Пcodigo,nome (σcod_forn='s1' ^ codigo=cod_peca ( PECA X FORNECIMENTO)) Resultado <- R1 U R2 4) Resultado <- Пcodigo(FORNECEDOR) - Пcod_forn (σcod_peca='p3'(FORNECIMENTO)) 5) R1 <- σcod_forn=codigo ^ nome='silva' ( FORNECEDOR X FORNECIMENTO)) Пcod_peca (R1) Resultado <- Пnome (σcod_peca=codigo R2 <- (PECA X R2)) 6) R1 <- σcodigo=cod_peca ( PECA X FORNECIMENTO) Resultado <- Пnome ( R1) 7) R1 <- σcod_peca='p2' (FORNECIMENTO) Resultado <- Fmedia qtde (R1) 8) R1 <- σcod_forn='s1' (FORNECIMENTO) Resultado <- Fsoma qtde (R1) 9) R1 <- σcod_peca='p2' (FORNECIMENTO) Resultado <- Fcontar cod_peca (R1) 10) Resultado <- cidade Fcontar codigo (FORNECEDOR) II) Considere o modelo relacional abaixo e responda em álgebra relacional. Animal(codigo, especie, raça) Vacina(tipo, nome preço, fornecedor) Vacinação(tipo, codigo) 1) 2) 3) 4) Obter a raça dos animais vacinados com vacinas fornecidas pelo Laboratório AA. Obter a especie e a raça dos animais que não foram vacinados. Obter o nome das vacinas tomadas pelos animais Pitbull de sexo fêmea. Obter o código dos animais que são da espécie "gato" ou que receberam vacina do tipo "2". 5) Obter o tipo das vacinas que o animal de código "20" não tomou. 6) Obter o nome das vacinas que foram tomadas por todos animais. Respostas: 1) R1 <- σnome = 'aa' (Vacina * Vacinacao) Resultado <- Пraca (animal * R1) 2) R1 <- Пcodigo (animal) R1 <- Пcodigo (vacinacao) R3 <- R1 - R2 Resultado <- Пespecie,raca (animal * R3) 3) R1 <- Пtipo (animal * vacinacao) Resultado <- Пnome (R1 * vacina) 4) R1 <- Пcodigo (σespecie='gato' (animal)) R2 <- Пcodigo (σtipo = 2 (vacinacao)) Resultado <- R1 U R2 5) R1 <- Пtipo (vacina) R2 <- Пtipo (σcodigo = 20 (vacinacao)) Resultado <- R1 - R2 6) R1 <- Пcodigo (animal) R2 <- vacinacao ÷ R1 Resultado <- Пnome (R2 * vacina)