Circuitos e Sistemas 1

Propaganda
MESTRADO EM ENGENHARIA ELECTROTÉCNICA E COMPUTADORES
TÓPICOS AVANÇADOS DE BASES DE DADOS
Exame final
Com consulta
Duração: 2H30
97-07-02
4 (4.0)
4.1 Em SQL embebido numa linguagem hospedeira, existe o comando
EXEC SQL DECLARE CURSOR meucursor FOR
SELECT * FROM TABELA;
a) Qual o seu objectivo e em que circunstâncias se usa? Que problema visa resolver?
b) Como compara este comando com a construção os_Cursor do ObjectStore?
4.2 Considere que se adicionava a um sistema relacional uma construção linguística que
permitisse construir objectos complexos pela inclusão de valores de outras classes.
Exemplo: CREATE TABLE emp
( nr NUMBER,
dept departamento);
CREATE TABLE departamento
(nome
VARCHAR2(25),
director
emp);
a) Que comentários lhe suscita esta solução?
b) Qual a diferença entre tipo e classe?
c) Caso pretendesse expandir a funcionalidade dos sistemas relacionais no sentido de
suportar tipos de dados definidos pelo utilizador, que tipo de estratégia utilizaria?
5 (6.0)
A TRACK&STOCK é uma empresa especializada em armazenamento e transporte de
mercadorias. A empresa possui um conjunto de armazéns espalhados pelo país e uma frota de
transportes terrestres que diariamente movimentam mercadorias entre os mais diversos locais
indicados pelos seus clientes.
Os clientes recorrem à TRACK&STOCK para armazenamento e/ou transporte de mercadorias,
evitando assim a necessidade de manutenção de frotas de viaturas e de instalações para
armazenamento de mercadorias.
A empresa encontra-se numa fase de expansão e, para tal, irá desenvolver novos sistemas de
software que lhe permitam acompanhar o seu crescimento. Após um levantamento inicial de
requisitos, apurou-se a seguinte informação como sendo a mais relevante:
1. A empresa possui uma frota de camiões especializados para o transporte de diferentes
mercadorias.
2. As mercadorias são agrupadas em categorias, consoante as suas necessidades
específicas de acondicionamento e transporte. Eis alguns exemplos: frágeis,
perecíveis, inflamáveis, congeladas, etc.
3. O armazenamento e transporte das mercadorias é feito em paletes, as quais possuem
formatos normalizados.
4. Os camiões podem ser de diferentes modelos e marcas, pelo que são agrupados em
classes, consoante as categorias de mercadorias que estão habilitados a transportar.
Para cada classe pretende-se saber a sua capacidade de transporte para cada uma das
categorias de mercadorias. Sobre os camiões deverá conhecer-se a matrícula, a
marca, modelo e ano.
5. A empresa emprega diversos motoristas para a condução dos camiões, dos quais se
conhece o nome, endereço, n.º contribuinte e idade.
6. Os motoristas executam tarefas, sendo cada uma delas constituída por uma sequência
de ordens de serviço. As ordens de serviço podem ser de marcha, de carga e de
Gabriel David / João Correia Lopes
1
FEUP
MEEC
Tópicos Avançados de Bases de Dados
descarga. As ordens de marcha indicam ao motorista para seguir para determinado
endereço. As ordens de carga e descarga indicam ao motorista que no local em que
estiver deverá carregar ou descarregar determinadas paletes de mercadorias.
7. A empresa possui um conjunto de armazéns dispersos pelo país. Os armazéns estão
aptos a receber qualquer categoria de mercadorias. Sobre os armazéns deverá saberse o seu nome e endereço. Para cada armazém pretende-se saber a capacidade de
armazenamento para cada uma das categorias de mercadorias.
8. Cada palete ao ser armazenada é registada. Neste registo constará a data e hora de
entrada em armazém e a sua localização. Ao ser carregada, registar-se-á a data e hora
de saída de armazém.
9. Os pedidos podem ser de três tipos: carga, descarga ou transporte. Os pedidos de
carga apenas indicam o local e data de carga da mercadoria. De igual modo, os
pedidos de descarga apenas indicam o local e data de descarga da mercadoria. Os
pedidos de transporte indicam o local e data de carga e de descarga da mercadoria.
10.Os pedidos são emitidos remotamente pelos clientes através de computador. Para
cada pedido recebido, é verificada a sua correcção e viabilidade de execução nas
condições solicitadas pelo cliente. Em caso afirmativo, é confirmada a aceitação do
pedido e este será escalonado para ser executado futuramente. Em caso negativo, o
pedido é considerado suspenso e são comunicadas ao cliente propostas de alteração
de dia e hora por forma a viabilizar a sua execução.
11.Os pedidos são constituídos por várias linhas, sendo em cada linha discriminada a
categoria da mercadoria, o formato e a quantidade das paletes a transportar e/ou
armazenar.
12.Os dados dos clientes a armazenar são o nome, os seus diversos endereços, e o n.º de
contribuinte.
a)
b)
c)
d)
Defina um esquema (só a parte dos dados) para a BD descrita, usando o sistema
ObjectStore. Justifique as opções que tomar.
Baseando-se no esquema obtido em a), esquematize um algoritmo que lhe permitisse saber
quanto tempo uma dada palete passou num certo armazém, para um período indicado.
Que query empregaria para listar todas as ordens de serviço que o motorista X tem para
cumprir hoje?
O que é uma raiz da Base de Dados ObjectStore? Para que serve?
Gabriel David / João Correia Lopes
2
FEUP
Download