outro exame

Propaganda
1º Teste de Base de Dados – 24 Nov 2004
V1 Número do Aluno:_____________
Nome do Aluno:_______________________________________________________
Este teste é de escolha múltipla. Se não tem a certeza da resposta não responda. O teste
deve ser resolvido em 1 hora. Indique o seu nome na primeira página e o seu número
em todas as páginas. Responda apenas a 8 das 9 perguntas.
Indique aqui a pergunta que optou não responder: P ____
P1 –
Figura 1
Considere a figura 1. Assuma que a grande maioria das operações (quer em variedade
quer em quantidade) que os programas irão fazer sobre a Base de Dados são os de
consultas sobre o conceito de “employee”, incluindo os seus atributos enquanto
“person”. Com base neste pressuposto, indique qual o cenário que mais simplifica o
desenvolvimento das operações indicadas: (assuma que não existem VIEWS).
 Implementar a generalização em 3 tabelas:
TPerson, TEmployee e TCustomer,
ficando em cada uma os atributos dos conceitos de Person, Employee e Customer,
respectivamente
Implementar a generalização em 2 tabelas: TEmployee e TCustomer, ficando em
cada uma os atributos dos conceitos de Employee e Customer, respectivamente,
acrescidas dos atributos herdadas do conceito Person.
Implementar
a generalização em 2 tabelas: TCustomer e TEmployee_Person,
ficando na primeira os atributos do conceitos Customer, e a segunda os atributos
dos conceitos de Employee e Person.
 Implementar
a generalização em 4 tabelas: TPerson, TEmployee, TCustomer,
cada uma com os atributos dos conceitos respectivos, e uma quarta tabela a
estabelecer as relações entre as anteriores.
Nenhuma das hipóteses anteriores.
1 de 5
1º Teste de Base de Dados – 24 Nov 2004
V1 Número do Aluno:_____________
P2 –
Considere a implementação da entidade “Customer” no esquema da figura anexa em
três tecnologias diferentes: base de dados orientada por objectos (BD OO), base de
dados relacional (BD REL) e ainda base de dados Object-Relational (BD OR).
Tanto as BD REL
como as BD OO suportam a implementação directa de atributos
compostos, como é o caso dos atributos (name, address e street) da figura.
Ao
contrário das BD OO, nem as BD REL nem as BD OR suportam a
implementação directa de atributos multivalor.
Numa
BD OO, o atributo customer-id da entidade customer não pode ser
implementado como identificador porque as BD OO já atribuem um identificador
interno a cada objecto armazenado.
Ao
contrário das BD REL, tanto as BD OO como as
implementação directa do atributo phone-number.
BD OR suportam a
Nenhuma das hipóteses anteriores.
P3 – Considere que existe uma tabela PESSOAL e que sobre esta se declara seguinte
VIEW:
CREAT VIEW V1 AS
SELECT Nome, Idade, Numero FROM PESSOAL WHERE Idade > 45 ;
Considere que um programa executou com sucesso a seguinte instrução:
UPDATE V1 SET Idade = 50 WHERE Nome = “António”
O que podemos afirmar sobre a chave da tabela PESSOAL ?:
Que Nome é chave da tabela PESSOAL
Que Numero é chave da tabela PESSOAL
Que a chave da tabela PESSOAL é o par (Nome, Numero)
Nada se pode dizer sobre a chave (ou as chaves) da tabela PESSOAL
Nenhuma das anteriores é verdadeira
2 de 5
1º Teste de Base de Dados – 24 Nov 2004
V1 Número do Aluno:_____________
P4 –
customer-id
Relativamente à figura anexa, e assumindo que se trata de um diagrama expresso no
modelo Entidade Associação, indique a frase que faz a interpretação correcta do
significado do atributo customer-id da entidade “loan”.
Por definição de atributo,
atributo customer-id da entidade loan não pode ter nada
a haver com o atributo desta customer_id da entidade Customer
O atributo customer-id da entidade loan significa que a forma de implementar a
relação entre a entidade loan e a entidade customer é feita colocando o atributo
customer-id em loan, implementando-se assim uma chave estrangeira de loan para
customer.
O atributo customer-id da entidade loan significa que qualquer “loan” tem que estar
necessariamente associado a um customer, precisamente o referenciado por
customer-id..
O atributo customer-id da entidade loan significa que qualquer “loan” pode estar
associado a um customer, precisamente o referenciado por customer-id..
Nenhuma das hipóteses anteriores.
P5 –Considere que a tabela T1 com um atributo A. Sabendo que:
*
“SELECT COUNT (A) FROM T1” deu o resultado de 80,
*
“SELECT COUNT (*) FROM T1” deu o resultado de 100,
*
“SELECT COUNT (DISTINCT A) FROM T1” deu o resultado de 10.
Indique, fazendo um circulo à volta do número correcto:
(a)- O número de NULOS que o atributo A tem na tabela T1
10 20 30 40 70 80 90 100 110 120 Nenhum dos anteriores
(b)- O número de repetidos que o atributo A tem na tabela T1
10 20 30 40 70 80 90 100 110 120 Nenhum dos anteriores
3 de 5
1º Teste de Base de Dados – 24 Nov 2004
V1 Número do Aluno:_____________
(c)- o resultado da instrução
SELECT COUNT (A) FROM T1 WHERE A ISNULL,
10 20 30 40 70 80 90 100 110 120 Nenhum dos anteriores
P6 –Considere a tabela Pessoal com uma série de atributos, sendo 3 destes
representados da seguinte forma (os “....” significam instruções de definição de outros
atributos)
CREATE TABLE Pessoal (
...
ID
integer
NOT NULL,
...
Nome
char(20)
NOT NULL,
…
Nr
integer
NOT NULL
…
)
Considere que um programa P2 altera o esquema da tabela Pessoal durante a sua
execução, a qual é concorrente com o programa P1. Considere que a tabela Pessoal
não tem registos e que o programa P1 inclui a seguinte instrução:
EXEC SQL INSERT INTO Pessoal (Nome, ID, Nr) VALUES (“Jorge”, 29, 234);
Indique a afirmação verdadeira.
P1 pode falhar se P2
acrescentar atributos à tabela Pessoal, mesmo que sejam
definidos valores por omissão para os mesmos.
 P1 pode falhar sempre que P2 retirar um atributo à tabela Pessoal, que não os ID,
Nome e Nr.
P1 falha se P2 acrescentar atributos com a restrição NOT NULL à tabela Pessoal e
não forem definidos valores por omissão para os mesmos.
P1 falha sempre porque a ordem de definição dos atributos da tabela Pessoal na
instrução “CREATE TABLE Pessoal…” difere da ordem com que estes são
declarados na instrução “EXEC SQL INSERT INTO Pessoal …”
 Nenhuma das anteriores é verdadeira.
P7 – Considere a seguinte relação: R(A,B,C,D,E) na qual existem as seguintes
dependências: A,B -> C,D,E e E->B. Considere que todos os atributos da relação são
escalares. Indique em que relações R1 e R2 se pode decompor a relação R sem que
haja perca de informação:
em R1(A,B,C,E) e R2(D,A).
em R1(A,B,C,D) e R2(D,E).
em R1(B,C,D,E) e R2(E,A)
em R1(A,C,D,E) e R2(E,B)
Nenhuma das anteriores.
4 de 5
1º Teste de Base de Dados – 24 Nov 2004
V1 Número do Aluno:_____________
P8 –Considere o seguinte esquema relacional.
LIVRO(ISBN, TITULO); EDICAO (ISBN, NREDITORA, ANOEDICAO)
EDITORA(NREDITORA, NOME, MORADA)
Considere que:
1. EDICAO.ISBN é chave estrangeira para LIVRO.ISBN.
2. EDICAO.NREDITORA é chave estrangeira para EDITORA.NREDITORA.
3. Não existem NULLS em nenhum dos atributos dos registos destas relações.
Indique qual das hipóteses seguintes traduzem o resultado da seguinte instrução:
SELECT isbn FROM LIVRO WHERE NOT EXISTS (
SELECT * FROM EDITORA WHERE NOT EXISTS (
SELECT * FROM EDICAO WHERE
LIVRO.isbn = EDICAO.isbn AND EDITORA.nreditora = EDICAO.nreditora ) ) )
Indique a afirmação verdadeira .
 O isbn dos livros que foram editados por todas as editoras
 O isbn dos livros que foram editados em todas as edições de todas as editoras.
 Os isbn dos livros que não existem em nenhuma edição
 Os isbn de todos os livros que não têm edições em pelo menos uma editora
 Nenhuma das anteriores
P9 – Considere as relações LIVRO, EDICAO e EDITORA da pergunta anterior.
Indique qual das hipóteses seguinte traduzem o resultado da seguinte instrução:
SELECT anoedicao, count(*) FROM EDICAO GROUP BY anoedicao
 O número de edições feitas por cada editora em cada ano.
A lista das edições feitas em cada ano.
 O número de edições feitas em cada ano.
 O número de edições feitas por cada editora.
 Nenhuma das anteriores
5 de 5
Download