Exercícios de Modelo Relacional

Propaganda
1º Teste de Base de Dados – 24 Nov 2004
Número do Aluno:_____________
Versão que integra a V1, V2, V3 e V4.
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 6
1º Teste de Base de Dados – 24 Nov 2004
Número do Aluno:_____________
Versão que integra a V1, V2, V3 e V4.
P2 –
Considere a figura 1, na qual à qual se acrescenta os atributos: Person_ID, Employee_ID e
Customer_ID como identificadores dos conceitos Person, Employee e Customer. Assumindo
estes atributos (identificadores) adicionais, indique a afirmação verdadeira:
 Pode
existir um Employee_ID sem que exista necessariamente um Person_ID
correspondente.
 Pode existir um Person_ID que corresponda a vários Employee_ID
√ Para cada Employee_ID existe um e apenas um Person_ID correspondente.
 Como os identificadores de Person são também identificadores de Employee, os valores
de Employee_ID e Person_ID de um mesmo “employee” têm que ser necessariamente
iguais.
Nenhuma das hipóteses anteriores.
P3 –
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 BD OR suportam a
implementação directa do atributo phone-number.
Nenhuma das hipóteses anteriores.
2 de 6
1º Teste de Base de Dados – 24 Nov 2004
Número do Aluno:_____________
Versão que integra a V1, V2, V3 e V4.
P4 – 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
P5 –
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..
3 de 6
1º Teste de Base de Dados – 24 Nov 2004
Número do Aluno:_____________
Versão que integra a V1, V2, V3 e V4.
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.
P6 –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
(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
P7 – 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
P8 – 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,C,D,E) e R2(E,B)
em R1(A,B,C,E) e R2(D,A).
Nenhuma das anteriores.
em R1(A,B,C,D) e R2(D,E).
em R1(B,C,D,E) e R2(E,A)
4 de 6
1º Teste de Base de Dados – 24 Nov 2004
Número do Aluno:_____________
Versão que integra a V1, V2, V3 e V4.
P9 –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.
5 de 6
1º Teste de Base de Dados – 24 Nov 2004
Número do Aluno:_____________
Versão que integra a V1, V2, V3 e V4.
P10 –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
6 de 6
Download