ISEL – DEETC – SSIC
EXAME DE 2ª ÉPOCA
Semestre de Inverno 2004/2005
1 Fevereiro 2005 – duração: 2h30m
Introdução aos Sistemas de Informação
Engenharia Informática e Computadores
Ano Lectivo: 2004 / 2005 – 1º Sem.
Docente: Lara Santos
__________________________________________________________________________________
Número do Aluno: __________ Nome do Aluno: ________________________________________
__________________________________________________________________________________
Notas:
ƒ
ƒ
ƒ
ƒ
O exame é com consulta;
Identifique devidamente todas as folhas;
Responda às questões directamente no enunciado;
Caso pretenda desistir do exame, assinale esse facto escrevendo “DESISTO” no canto superior
desta folha, e rubrique;
ƒ Caso considere alguma questão ambígua, explique qual foi a interpretação que considerou ao
responder;
__________________________________________________________________________________
Concentração...
e ... Boa Sorte ☺
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
Grupo I – Modelação (5,5 val.)
1. (3,5 val.) Modelo Entidade Associação
Construa o Modelo Entidade-Associação de uma base de dados para uma cadeia de oficinas de
automóveis, de acordo com os Requisitos de Sistema abaixo apresentados.
As oficinas efectuam arranjos, são identificadas por um código único e caracterizadas por um nome. A
cada arranjo está associado um e só um veículo. Sobre esses veículos é necessário conhecer a marca, o
modelo e o ano. Os veículos são identificados pela matrícula. Sobre cada arranjo é necessário conhecer
o cliente que o pediu, o número do arranjo, a data em que foi pedido, a data em que ficou concluído e o
preço associado. Um arranjo é identificado pelo seu número e respectiva oficina em que foi realizado.
Sobre cada cliente quer saber-se o nome, o número de contribuinte para o poder identificar e o número
da carta de condução caso ele possua.
Existem várias operações pré-definidas que as oficinas efectuam (ex: mudar o óleo, alinhar a direcção,
etc). Cada uma dessas operações é identificada por uma referência e tem uma descrição textual.
Pretende-se saber quais as operações efectuadas em cada arranjo, bem como a data e hora a que
ocorreram. Para cada operação que foi efectuada durante um arranjo quer saber-se quem foi o técnico
responsável. Um técnico não pode ser responsável por mais do que 10 arranjos em curso.
Sobre todos os técnicos quer saber-se o seu id, o nome, a data em que começou a trabalhar na oficina e
caso sejam engenheiros o número que os identifica na ordem dos engenheiros.
Nota: Caso seja necessário deve definir as restrições de integridade necessárias, com excepção das restrições de domínio.
2.
2
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
2. Modelo Relacional – Transformação entre Modelos
a. (1 val.) Transformação do Modelo EA para Relacional
Construa o Modelo Relacional que deriva do Modelo EA apresentado em seguida:
b. (1 val.) Transformação do Modelo Relacional para EA
Construa o Modelo EA que corresponde ao modelo Relacional apresentado em seguida:
A
B
C
D
(a1, a2, B.b1) *B.b1 NOT NULL
(b1)
(A.a1, B.b1)
(d1, C.A.a1, C.B.b1, d2)
3
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
Grupo II – Normalização (3 val)
Considere o Esquema Relacional constituído por:
R1 (A, B, C, D, E, F, G)
e os conjunto de dependências funcionais: F = {ABCÆDE, AB ÆC, DÆE, CÆG}
1. (1 val.) Determine uma chave candidata para R. Justifique.
2. (1,5 val.) Decomponha o esquema R de modo a que se encontre na 3ª Forma Normal.
Justifique os passos da decomposição.
3. (0,5 val.) Suponha {A,B,C} como chave primária de R. Caso R estivesse na 3FN, estaria na
Forma Normal de Boyce-Codd? Justifique.
4
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
Grupo III – Álgebra Relacional (3 val)
Considere o seguinte Modelo Relacional
Fornecedor(id, nome, NC, morada)
Peça(cod, descrição, categoria)
Fornece(fornecedor, peça, preço) *1
Loja(nº, nome, email)
Stock(loja, peça, quantidade) *2
Notas:
*1 fornecedor = Fornecedor.id; peça = Peça.cod
*2 loja = Loja.nº ; peça = Peça.cod
A quantidade é igual ou superior a zero
O preço é superior a zero
NC é chave candidata de Fornecedor
1. (1 val.) Escreva uma expressão em Álgebra Relacional que permita obter:
“O nome e NC de todos os fornecedores que fornecem peças, que a Loja nº 3 tem em stock ”
2. (1 val.) Escreva uma expressão em Álgebra Relacional que permita obter:
“O cod e a descrição de cada peça e o qual o preço mínimo a que é fornecida”
3. (1 val.) Escreva uma expressão em Álgebra Relacional que permita obter:
“Todas as peças e respectiva quantidade (total) em stock”
5
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
Grupo IV – SQL/DDL (2,5 val)
Considere o Modelo Relacional do Grupo III:
1. (1,5 val.) Escreva as instruções para criação das tabelas Fornecedor, Loja e Stock. Nota:
assuma que Peça.cod é do tipo int
2. (1 val.) Considerando todas as relações apresentadas no modelo relacional do Grupo III, diga
qual a ordem pela qual deve ser efectuada a destruição das tabelas. Justifique de forma clara.
6
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
Grupo V – SQL/DML e Transacções (6 val)
Relembre o Modelo Relacional:
Fornecedor(id, nome, NC, morada)
Peça(cod, descrição, categoria)
Fornece(fornecedor, peça, preço) *1
Loja(nº, nome, email)
Stock(loja, peça, quantidade) *2
Notas:
*1 fornecedor = Fornecedor.id; peça = Peça.cod
*2 loja = Loja.nº ; peça = Peça.cod
A quantidade é igual ou superior a zero
O preço é superior a zero
NC é chave candidata de Fornecedor
1. Escreva uma (apenas uma por alínea) interrogação SQL que permita obter:
a. (1 val. ) “O nº e nome das lojas que têm mais do que 10 unidades de alguma peça fornecida
pelo fornecedor com id 22”
b. (1 val. ) “Qual o fornecedor que fornece um maior número de peças diferentes”
7
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
c.
(1 val) “O cod e descrição das peças que não são fornecidas por nenhum fornecedor”
d. d. (1 val) “Quais as lojas que têm em stock peças de todos os fornecedores”
2. Considere que duas transacções (T1 e T2) estão a ser executadas concorrentemente, com o
seguinte cenário de execução:
T1
BEGIN TRANSACTION
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
UPDATE Stock SET quantidade = 3 WHERE loja =1 AND peça =30
T2
BEGIN TRANSACTION
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITED
SELECT * FROM Stock WHERE quantidade > 0
T1
INSERT into Stock VALUES (1,2,2)
T2
SELECT * FROM Stock WHERE quantidade > 0
T1
ROLLBACK
T2
COMMIT
8
Introdução aos Sistemas de Informação – Exame 2ª Época – Inverno 2004/2005 – 1 Fevereiro 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
a. (2 val.) No cenário acima descrito é definido para a T2 o nível de isolamento READ
UNCOMMITED. Diga, indicando quais a(s) anomalia(s) presentes, se este nível de isolamento é
adequado. No caso de ter considerado o nível de isolamento inadequado, indique qual o nível de
isolamento a considerar, para a resolução da(s) anomalia(s) encontradas, tendo em conta que se
pretende prejudicar o mínimo possível a concorrência.
9
Download

ISEL – DEETC – SSIC