Académique Documents
Professionnel Documents
Culture Documents
Responda `
as perguntas (1 e 2) em folhas separadas.
A pergunta 3 deve ser respondida no pr
oprio enunciado.
1. Uma empresa pretende criar um sistema de informacao que permita guardar informacoes referentes `as
tarefas a executar pelos seus empregados.
As caractersticas do sistema de informacao pretendido s
ao as seguintes:
Quando uma tarefa e introduzida no sistema deve ficar registado qual o empregado que a introduziu
(supervisor da tarefa). N
ao podem existir tarefas sem supervisor. Mais tarde, a tarefa e atribuda
a um empregado (executante).
referencia (
unica), um nome e uma quantidade em stock. Todos estes dados s
ao obrigatorios. E
necessario guardar, para cada tarefa, quais os tipos de peca utilizados e em que quantidade.
31/2 val.
c
ao para uma base de dados que satisfaca os requisitos enu(a) Desenhe o modelo entidade-associa
merados. Escolha o nome mais apropriado para cada uma das entidades, atributos e associacoes
que ache necessarias.
21/2 val.
(b) Elabore o modelo relacional correspondente ao modelo entidade-associacao que acabou de desenhar. N
ao se esqueca de representar as chaves prim
arias, chaves estrangeiras, tipos dos dados e
campos que nao devem ter valores nulos.
Nota: Use a mesma notaca
o da pergunta 2 (na pr
oxima p
agina).
2. Considere o seguinte modelo relacional que representa a base de dados de um sistema de trouble tickets.
Neste sistema, cada operador e respons
avel por uma determinada area. Cada trouble ticket tambem
pertence a uma
area e pode ter um operador atribudo. O operador de um trouble ticket nao tem
necessariamente de ser da
area do trouble ticket. Um trouble ticket tem sempre uma data de nicio
(data i ) e, quando fica resolvido, passa a ter uma data de fim (data f ).
operador
ticket
id
integer
ref
integer
area
num
integer
nome
varchar
NN
data i
NN
date
email
varchar
NN, UK
data f
date
#area area
integer
NN
titulo
NN
varchar
descricao
NN
varchar
#area area
NN
integer
#id operador
integer
nome
varchar
NN
Responda `
as seguintes perguntas usando SQL:
1 val.
1 val.
1 val.
11/2 val.
(d) Que
area, ou
areas, tem mais trouble tickets por resolver? (num, area)
11/2 val.
(e) Que operadores resolveram todos os tickets da sua area em menos de dois dias? Para simplificar,
pode considerar que a subtracao de datas em SQL retorna um inteiro contendo o n
umero de dias
que as separa. (id, nome)
Nota: No fim de cada alnea encontram-se os nomes esperados das colunas da resposta.
ambas na heap
1 val.
(b) Trashing
1 val.
(c) Imagine duas threads que tem acesso a dois mutexes A e B. Ambas fazem lock aos dois mutexes
antes de entrar na seccao crtica e unlock ao sair mas por ordens diferentes:
Thread 1: lock(A); lock(B); <seccao critica>; unlock(B); unlock(A);
Thread 2: lock(B); lock(A); <seccao critica>; unlock(A); unlock(B);
Que problema pode resultar deste codigo:
1 val.
1 val.
1 val.
(f) Quando criamos uma thread POSIX em C, temos de indicar uma funcao que vai servir de ponto
inicial de execucao para essa thread. O prot
otipo dessa funcao tem sempre o seguinte aspeto:
void f u n c a o ( void a r g s ) ;
Imaginando que queremos passar uma string para essa funcao, como fazemos para a desreferenciar
dentro da funcao? Complete o seguinte codigo de forma a atribuir `a variavel s o valor passado por
par
ametro:
void f u n c a o ( void a r g s ) {
string s =
}
1 val.
1 val.