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