ISEL – DEETC – SSIC
EXAME DE 2ª ÉPOCA
Semestre de Verão 2004/2005
8 Julho 2005 – duração: 2h30m
Introdução aos Sistemas de Informação
Engenharia Informática e Computadores
Ano Lectivo: 2004 / 2005 – 2º 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 – Verão 2004/2005 – 8 Julho 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 empresa de Formação, de
acordo com os Requisitos de Sistema abaixo apresentados.
Na empresa existem vários cursos de formação. Os cursos são identificados por um código,
caracterizados por um título, uma descrição, uma data de início e um preço. Os cursos são compostos
por módulos de aprendizagem. Cada módulo de aprendizagem é identificado pelo seu número de
ordem e pelo curso a que diz respeito. Sobre os módulos é ainda necessário saber a sua designação e a
sua duração. Os cursos poderão ter precedência entre si, pelo que é necessário registar essa informação,
assinalando se a precedência é obrigatória ou não. Importa também registar se um determinado curso
tem componente de laboratório ou não, e no caso de ter, é necessário saber quantos alunos no máximo
deverá ter cada turma prática.
Existem formadores certificados que ministram os módulos dos cursos. Cada módulo é ministrado
apenas e obrigatoriamente por um formador, mas um formador pode ministrar mais do que um módulo
em simultâneo. Sempre que um formador termina de ministrar um determinado módulo, tem que
registar o seu relatório de avaliação para aquele módulo. Os relatórios de avaliação são identificados
por uma referência, e caracterizados por uma data de registo e pelo texto respectivo.
Importa ainda registar informação sobre os alunos que se inscrevem nos cursos de formação. Um aluno
apenas é registado no sistema no momento em que pretende realizar o primeiro curso. É necessário
saber em que cursos o aluno está inscrito e se já liquidou o pagamento respectivo a cada curso. Os
alunos podem ainda pedir um apoio adicional a um formador certificado. Um aluno apenas pode pedir
apoio a um formador que ministre módulos de algum dos cursos que o aluno frequenta.
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 – Verão 2004/2005 – 8 Julho 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, a3)
(A.a1, a4)
(a5 , a6)
(A.a1, B.A.a1, C.a5, a7) *C.a5 é NOT NULL
3
Introdução aos Sistemas de Informação – Exame 2ª Época – Verão 2004/2005 – 8 Julho 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) com F1 = {AÆ ABCD , CÆABCD, BÆD} e C chave candidata
R2 (E, F, G, H, I, J) com F2 = {EFGÆHIJ , IJÆEFGH , GÆH} e IJ chave candidata
R3 (K, L, M, N) com F3 = {KLMÆN , KLMÆL}
R4 (O, P, Q, R , S) com F4 = {OPÆQRS , PÆQRS , RÆS}
1. (1,5 val.)
a. Diga em que forma normal se encontram cada uma das relações. Justifique de forma
clara.
2. (1,5 val.)
a. Normalize as relações por forma a ficarem na 3FN. Justifique os passos da
decomposição.
4
Introdução aos Sistemas de Informação – Exame 2ª Época – Verão 2004/2005 – 8 Julho 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
Grupo III – Álgebra Relacional (3 val)
Considere o seguinte Modelo Relacional
Cliente(nº, BI, nome)
Colchão(modelo, descrição, preço, stock)
Encomenda(cod, cliente, data) *1
Item(encomenda, nºordem, colchão, quantidade) *2
Notas:
*1 cliente = Cliente.nº
*2 encomenda = Encomenda.cod; colchão = Colchão.modelo
O stock é igual ou superior a zero
A quantidade é superior a zero
O preço é superior a zero
BI é chave candidata de Cliente
Todos os atributos são de preenchimento obrigatório.
Numa mesma encomenda um modelo de colchão apenas aparece listado uma vez, com a respectiva quantidade.
1. (1 val.) Escreva uma expressão em Álgebra Relacional que permita obter:
“Quais as encomendas (cod, cliente) em que apenas foram encomendados modelos de colchão cujo
preço é inferior a 100€ ”
2. (1 val.) Escreva uma expressão em Álgebra Relacional que permita obter:
“Dos modelos que ainda não esgotaram, qual (modelo, preço) o mais encomendado”
3. (1 val.) Escreva uma expressão em Álgebra Relacional que permita obter:
“Quais os clientes que já encomendaram todos os modelos de colchão cujo preço é superior a 400€”
5
Introdução aos Sistemas de Informação – Exame 2ª Época – Verão 2004/2005 – 8 Julho 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 Cliente, Colchão e Item. Nota: assuma
que Colchão.modelo é do tipo varchar(10); Encomenda.cod é do tipo int
2. (1 val.) Considerando o modelo relacional do Grupo III, e a base de dados vazia, apresente
uma sequência de comandos que viole uma restrição de integridade referencial na tabela Item
sem violar qualquer outra, e uma restrição domínio/coluna na tabela Encomenda. Justifique
de forma clara.
6
Introdução aos Sistemas de Informação – Exame 2ª Época – Verão 2004/2005 – 8 Julho 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
3. Grupo V – SQL/DML e Transacções (6 val)
Relembre o Modelo Relacional:
Cliente(nº, BI, nome)
Colchão(modelo, descrição, preço, stock)
Encomenda(cod, cliente, data) *1
Item(encomenda, nºordem, colchão, quantidade) *2
Notas:
*1 cliente = Cliente.nº
*2 encomenda = Encomenda.cod; colchão = Colchão.modelo
O stock é igual ou superior a zero
A quantidade é superior a zero
O preço é superior a zero
BI é chave candidata de Cliente
Todos os atributos são de preenchimento obrigatório.
Numa mesma encomenda um modelo de colchão apenas aparece listado uma vez, com a respectiva quantidade.
1. Escreva uma (apenas uma por alínea) interrogação SQL que permita obter:
a. (1 val. ) “Qual a quantidade média de colchões das encomendas feitas pelo ‘Molinhas’ durante
o ano de 2004”
b. (1,5 val. ) “Quais as encomendas feitas depois de 07/07/2005 que não contemplam modelos de
colchão que se encontram esgotados”
7
Introdução aos Sistemas de Informação – Exame 2ª Época – Verão 2004/2005 – 8 Julho 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
c.
(1,5 val) “Quais os clientes que encomendaram todos os modelos de colchão numa só
encomenda”
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 READ UNCOMMITTED
SELECT * FROM Colchão WHERE preço > 200
T2
BEGIN TRANSACTION
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT * FROM Colchão WHERE stock < 10
INSERT INTO Colchão VALUES (‘CM-23’,’molas’, 300, 20)
T1
DELETE FROM Colchão WHERE stock = 0
SELECT * FROM Colchão WHERE preço > 200
T2
SELECT * FROM Colchão WHERE stock < 10
T1
COMMIT
T2
COMMIT
8
Introdução aos Sistemas de Informação – Exame 2ª Época – Verão 2004/2005 – 8 Julho 2005
Número do Aluno: __________ Nome do Aluno: _______________________________________
_________________________________________________________________________________
a. (2 val.) No cenário acima descrito é definido para T1 e T2 o nível de isolamento READ
UNCOMMITTED. Diga, indicando quais a(s) anomalia(s) presentes, se estes níveis de isolamento
são adequados. No caso de ter considerado o níveis de isolamento inadequados, indique quais se
deveriam considerar, para a resolução da(s) anomalia(s) encontradas em T1 e T2, tendo em conta
que se pretende prejudicar o mínimo possível a concorrência.
9
Download

ISEL – DEETC – SSIC