Mestrado em Engenharia de Computação: área de concentração

Propaganda
Mestrado em Engenharia de Computação:
área de concentração Geomática
Exercício Especial de Banco de Dados –
06.08.2004
Prazo Final para entrega: início das aulas do
20 semestre
1. Considere
o
esquema
conceitual
de
Banco
de
Dados
desenvolvido por você para a "Goldfish - Distribuidora de
Peixes Ornamentais". Á luz dos conhecimentos adquiridos na
cadeira
de
Banco
de
Dados
reproduza
este
esquema
conceitual, cuidando para que todas es entidades e
relacionamentos
pertencentes
ao
domínio
do
problema
estejam
corretamente
representados
(Observação:
Não
complique demais o seu modelo conceitual - "small is
beatiful"). Certifique-se também que o seu modelo não terá
dificuldades de responder às consultas (queries) que lhe
serão solicitadas.
2. Transforme
o
seu
Modelo
Conceitual
em
um
Modelo
Relacional,
utilizando-se
para
isto
do
Algoritmo
apresentado no jogo de
transparências #5, slides 85 a
103.
3. A seguir, verifique as possíveis anomalias existentes em
seu esquema, no caso de realizar operações de inserção,
atualização e exclusão de registros na base de dados.
Verifique também se existe violações às restrições de
integridade do seu esquema. Aponte-as (as anomalias e as
violações).
4. A existência de anomalias é um indício de que o seu
esquema tem alguns problemas. Para saná-las tente:
i)
Aplicar as diretrizes informais de Projeto de Banco de
Dados (vide transparências #8, slides 11 a 24);
ii) Reduzir todas as tabelas de seu Esquema Lógico (Modelo
Relacional) à 3a Forma Normal de Boyce-Codd (BCNF).
Apresente agora um modelo já livre das referidas anomalias.
5. Implemente o seu modelo relacional em um Banco de Dados
Relacional (ex.: Access, Postgres ou Personnal Oracle).
6. Agora, a sua versão de esquema para a "Goldfish", deveria
ser capaz de responder às consultas abaixo:
a) Selecione os clientes de "Goldfish", localizados nos
Estados de São Paulo e Rio de Janeiro, que encomendaram
exemplares do peixe "Silver Blue", durante o ano de 2000.
b) Que peixes são incompatíveis com o "Silver Blue", i.e.,
ocorrem cenas de canibalismo se deixados juntos em um
mesmo aquário?
c) Quantos exemplares "Eagle Fish" foram encomendados pelos
clientes de Minas Gerais durante o ano de 2000?
d) Quais os tipos de peixes que comem a ração "Funny Flies "?
e) Em cada estado da federação, qual o total de cada tipo de
peixe comercializado por "Goldfish" durante o ano de 2000?
f) Quais são os fornecedores de "Goldfish" que fornecem os
tipos de peixes "FriendofTurtles", "QueenofAmazon"?
g) Qual o fornecedor de "Goldfish" que dispõe da maior
variedade de peixes, i.e., peixes de diferentes espécies?
h) Qual o tipo de peixe que foi mais solicitado pelos
clientes de "Goldfish"?
i) Dado os peixes "P1", "P2" e "P3", que rações e em que
quantidades deveriam ser fornecidas aos mesmos?
j) Quais os países que fornecem o peixe "Prare"?
Caso o seu esquema não esteja apto a responder às consultas
acima altere-o para capacitá-lo a tal. A seguir
i)
Formule por escrito as consultas acima em:
SQL;
Query by Example (QBE);
Cálculo Relacional de Tuplas;
Cálculo Relacional de Domínios.
ii)
Implemente as consultas em seu Banco de Dados em SQL e
Query by Example.
Observação! Se você realmente fizer todos os
exercícios acima estará, sem dúvida alguma,
apto na cadeira de Banco de Dados!
Prof. Oscar Luiz Monteiro de Farias
Download