Uma empresa de locação de automóveis e reboques possui 347

Propaganda
INSTITUTO POLITÉCNICO DO PORTO
INSTITUTO SUPERIOR DE ENGENHARIA DO PORTO
DEPARTAMENTO ENGª INFORMÁTICA
EXERCÍCIO 04 DE BDDDA - 2007-2008 - 1ºS.
Será realizado nas aulas práticas de 05 de Novembro a 07 de Dezembro de 2007.
A avaliação será efectuada entre 17 e 21 de Dezembro de 2007.
A componente do trabalho prático da disciplina corresponde a 40% da nota final.
Cada aluno pode ter uma classificação diferente da dos colegas de grupo, reflectindo
deste modo o seu desempenho no trabalho e na discussão do mesmo.
O trabalho será dividido em 3 fases:
1. Modelação e Implementação da BD
a. Elaborar o esquema relacional: envolve a identificação das entidades e
relações relativamente ao problema descrito e que poderá ser completado
e trabalhado pelos alunos. O modelo deve estar normalizado e deve
indicar explicitamente as escolhas efectuadas.
b. Criação da BD relacional: criar tabelas e restrições tendo em conta o
modelo de dados desenvolvido. Introdução de dados para exemplificação
de funcionamento. (utilização do SQL para criação das tabelas e inserção
dos dados).
2. Produzir scripts em PL/SQL para questões com diferentes graus de
complexidade e exemplificativas do uso de todos os construtores da linguagem.
• Criar
• Criar
• Criar
• Criar
• Criar
views
procedimentos armazenados e funções definidas pelo utilizador
triggers e garantir o seu cumprimento
listagens
um menu de entrada (valorização).
3. Relatório final
O relatório deverá conter uma capa contendo a seguinte informação:



Número de identificação do grupo
Tema do trabalho
Número e nome de todos os alunos do grupo
O relatório deverá constar, pelo menos:





Uma secção com a descrição do tema e objectivos da base de dados;
Uma secção com o modelo de dados, contendo as opções tomadas;
Uma secção com o código SQL que criou as tabelas e restrições;
Uma secção com o código SQL usado para as views, triggers, stored
procedures e functions;
Uma secção contendo uma discussão de limitações/opções tomadas para
a implementação da BD.
Empresa Gestora de Máquinas Dispensadoras de Filmes
Suponha uma empresa que possui diversas máquinas de distribuição de filmes, baseada
em cartóes pré-carregados.
O cliente pode carregar o seu cartão várias vezes e com o montante que quiser. Quando
vai alugar um filme, em formato BlueRay ou DVD, é-lhe cobrado um determinado
valor (custo fixo) que lhe permite ter o filme por um determinado número de horas. Na
altura da devolução, se o cliente tiver ficado com o filme por um período de tempo
superior às horas que tinha pago, é-lhe cobrado um valor por cada hora extra.
No aluguer é calculado o custo fixo e na devolução é feito o acerto do preço, se for caso
disso.
A empresa possui diversas cópias de cada um dos filmes, e, como é possível alugar
numa máquina e devolver noutra, há a necessidade de regularmente efectuar uma
redistribuição das cópias pelas diversas máquinas por forma a equilibrar a possibilidade
de oferta.
Não é possível efectuar alugueres quando o saldo do cartão é insuficiente para cobrir o
custo fixo, no entanto, o saldo do cartão pode ficar negativo após a devolução de uma
cópia caso haja a necessidade de cobrar horas extra.
Requisitos globais
Modelo relacional.
Script de criação do modelo de dados.
Script para inserir valores.
Requisitos particulares
Implementação de toda a lógica em Oracle PL/Sql.
Todo o trabalho poderá ser testado executando blocos de código PL/Sql e analisando a
saída para o ecrã.
1. Procedimento que permita criar cópias de filmes, de um determinado formato.
2. Procedimento para efectuar o carregamento dos cartões.
3. View que mostre as cópias que estão disponíveis no instante actual.
4. Função que devolva o custo fixo associado a uma cópia de um filme.
5. Função que devolva o custo por hora extra associado a uma cópia de um filme.
6. Procedimento para alugar (cópias de) filmes.
7. Procedimento para devolver (cópias de) filmes.
8. Procedimento para distribuir cópias de filmes, com vista a equilibrar a oferta.
9. Trigger que atribua bónus sobre os carregamentos, quando estes ultrapassam
determinados valores. Por exemplo, para carregamaentos de 20€ é oferecido um
bónus de 1€, para carregamentos de 40€ um bónus de 5€, etc. Estes valores devem
ser parametrizados.

(Valorização) Os processos descritos anteriormente (carregamento, aluguer,
devolução) têm associadas acções que podem ser implementadas recorrendo a
triggers. Altere os procedimentos e escreva os respectivos triggers.
Nota:
São permitidas alterações à descrição efectuada desde que seja no sentido de
clarificação do funcionamento do modelo.
Implementações extra ficarão ao critério de cada grupo de trabalho e serão devidamente
valorizadas. No entanto, só deverão ser implementadas após o que foi solicitado.
Download