* UNIP – 1o. Sem. 2011 Modelo Relacional – Exercícios 1) Considere as afirmações abaixo com relação a tabelas em um Modelo de Dados Relacional: 1- Um conjunto de atributos de uma tabela é uma Chave Candidata se ele identifica de forma única cada linha da tabela e é mínimo nessa condição. 2- Uma Chave Candidata composta por mais de uma coluna não pode ser escolhida como Chave Primária de uma tabela por que uma Chave Primária tem que ser simples. 3- Chave Estrangeira em uma tabela é um atributo ou conjunto de atributos que possui como domínio de valores os valores da Chave Primária de uma tabela. Pode-se afirmar que: a) Todas as afirmações são verdadeiras b) Todas as afirmações são falsas c) Somente a afirmação 1 é falsa d) Somente a afirmação 2 é falsa e) Somente a afirmação 3 é falsa 2) O controle de integridade referencial relaciona duas chaves, em duas tabelas, sendo: a) Chave alternativa e chave primária b) Chave estrangeira e chave primária c) Chave desnormalizada e chave estrangeira d) Chave derivada e chave estrangeira e) Chave calculada e chave primária 3) Considere a tabela Empregado ( Matricula, Nome, CPF, Data_Nascimento, Codigo_Cargo, Nome_Cargo, Salario, Codigo_Departamento, Nome_departamento) onde Matricula e CPF são chaves candidatas, e as seguintes dependências funcionais: 1- Matricula Nome 2- Codigo_Departamento Nome_Departamento 3- Codigo_Cargo Nome_Cargo Pode-se afirmar que: a) 1-, 2- e 3- são dependências funcionais parciais b) Apenas 2- e 3- são dependências funcionais que devem ser eliminadas para que a Tabela possa ficar em 3ª. Forma Normal c) Todas as 3 dependências funcionais devem ser eliminadas para que a Tabela possa ficar em 3ª. Forma Normal d) A tabela Empregado, como apresentada, está em 3ª. Forma Normal e) Apenas 2- e 3- são dependências funcionais corretas. 1- não é uma dependência funcional 4) Considere o esquema de banco de dados relacional apresentado a seguir, formado por 4 tabelas, que representa o conjunto de estudantes de uma universidade que podem, ou não, morar em repúblicas (moradias compartilhadas por estudantes). A tabela Estudante foi modelada como uma especialização da tabela Pessoa. Considere que os atributos grifados correspondam à chave primária de cada tabela e os atributos que são seguidos da palavra referencia sejam chaves estrangeiras. Pessoa(IdPessoa, Nome, Endereco) FonePessoa(IdPessoa referencia Pessoa, DDD, Prefixo, Numero) Republica(IdRep, Nome, Endereço) Estudante(RA, Email, IdPessoa referencia Pessoa, IdRep referencia Republica) Suponha que já existam as seguintes linhas no banco de dados: Pessoa(l, 'José Silva', 'Rua Flores,20'); Republica(20, 'Várzea', 'Rua Chaves, 2001') Qual opção apresenta apenas linhas válidas para esse esquema de banco de dados relacional? Obs.: null indica nulo, ausência de valor. 1 * a) Estudante (10, '[email protected]', null, 20); FonePessoa(10, '019', '3761', '1370') b) Estudante (10, '[email protected]', 1, null); FonePessoa(10, '019', '3761', '1370') c) Estudante (10, '[email protected]', 1, 20); FonePessoa(l0, null, '3761', '1370') d) Estudante (10, '[email protected]', 1, 50); FonePessoa(l, '019', '3761', '1370') e) Estudante (10, '[email protected]', 1, null); FonePessoa(l, '019', '3761', '1370') 5) Estão definidas as seguintes tabelas Departamento (Codigo, Nome) Empregado (Matricula, Nome, Depto) onde Depto é uma chave estrangeira opcional que referencia Departamento. As tabelas contém as seguintes t-uplas: Departamento ( 1, Contabilidade) ( 2, Compras) ( 3, Produção) Empregado ( 1, Jose Silva, 1) ( 2, Joao Almeida, ) ( 3, Maria Souza, 2) ( 4, Antonio Silva, 1) Assinale a alternativa incorreta: a) O Departamento 1 não pode ser excluído b) O Departamento 3 pode ser excluído c) A t-upla (5, Joao Oliveira, 5) não pode ser incluída na tabela Empregado d) O Empregado 2 não pode ser excluído. e) Para excluir o Departamento 2, antes terá que ser excluída a empregada Maria Souza 6) Escolha a alternativa correta, considerando a implementação no Modelo Relacional do Modelo Entidade-Relacionamento abaixo, onde o relacionamento Ocupa indica o cargo que o Empregado ocupa atualmente e o relacionamento Ocupado indica os cargos anteriormente ocupados pelo empregado, se houver: a) O relacionamento Ocupa deve ser implementado como uma chave estrangeira opcional na tabela Cargo b) O relacionamento Ocupa deve ser implementado como uma chave estrangeira opcional na tabela Empregado c) O relacionamento Ocupa deve ser implementado como uma chave estrangeira obrigatória (not null) na tabela Cargo d) O relacionamento Ocupa deve ser implementado como uma chave estrangeira obrigatória (not null) na tabela Empregado e) Nenhuma das anteriores 2 * 7) Escolha a alternativa correta, considerando as afirmações sobre a implementação no Modelo Relacional do Modelo Entidade-Relacionamento abaixo, onde o relacionamento Ocupa indica o cargo que o Empregado ocupa atualmente e o relacionamento Ocupado indica os cargos anteriormente ocupados pelo empregado, se houver: I) Deverão ser criadas 3 tabelas, uma para cada entidade ( Empregado e Cargo) e uma para o relacionamento Ocupado II) Deverão ser criadas 4 tabelas, uma para cada entidade ( Empregado e Cargo) e uma para cada relacionamento (Ocupado e Ocupa) III) Deverão ser criadas somente 2 tabelas, uma para cada entidade (Empregado e Cargo) IV) A quantidade de tabelas a serem criadas depende dos critérios que sejam adotados pelo analista a) Todas as afirmações são falsas b) Somente a afirmação I é verdadeira c) Somente a afirmação II é verdadeira d) Somente a afirmação III é verdadeira e) Somente a afirmação IV é verdadeira 8) Escolha a alternativa correta, considerando a implementação no Modelo Relacional das entidades Professor e Disciplina do Modelo Entidade-Relacionamento de uma Escola, que possuem um relacionamento (0,N):(0,N) que representa o fato de que um Professor pode ministrar várias Disciplinas e uma Disciplina poder ser ministrada por mais de um Professor a) Serão criadas somente duas tabelas (Professor e Disciplina), cada uma delas com uma chave estrangeira opcional referenciando a outra tabela b) Serão criadas somente duas tabelas (Professor e Disciplina), cada uma delas com uma chave estrangeira obrigatória referenciando a outra tabela c) Serão criadas somente duas tabelas (Professor e Disciplina), sem necessidade de chave estrangeira em nenhuma delas d) Serão criadas três tabelas, uma para cada entidade (Professor e Disciplina) e uma para o relacionamento (Ministra) que será formada por duas chaves estrangeiras, referenciando as outras duas tabelas e) Serão criadas somente duas tabelas (Professor e Disciplina), com uma chave estrangeira opcional na tabela Professor referenciando a tabela Disciplina 9) Escolha a alternativa correta, considerando a implementação no Modelo Relacional do Modelo Entidade-Relacionamento abaixo, onde o relacionamento Atuação indica a participação de Engenheiros em Projetos e a função que exercem em cada um. As tabelas a serem construídas são: 3 * a) Engenheiro(Codigo, Nome), Projeto (Codigo, Titulo, CodEngenheiro, Funcao) b) Engenheiro(Codigo, Nome, CodProjeto), Projeto (Codigo, Titulo, CodEngenheiro, Funcao) c) Engenheiro(Codigo, Nome), Projeto (Codigo, Titulo), Atuacao(CodEngenheiro, CodProjeto, Funcao) d) Engenheiro(Codigo, Nome, CodProjeto, Funcao), Projeto (Codigo, Titulo) e) Nenhuma das anteriores, por que um relacionamento N:N não pode ser implementado no modelo Relacional 10) Considere as tabelas apresentadas no quadro abaixo onde => indica a chave primaria de cada tabela. Represente graficamente todos os relacionamentos existentes entre as tabelas, indicando corretamente os extremos 1 e N (“pé de galinha”) de cada relacionamento e o nome da chave estrangeira que estabelece o relacionamento. Os relacionamentos podem ser representados diretamente sobre a figura abaixo. Funcionario Equipe_Projeto => Cod_Func Nome_Func CPF_Func Dt_Nasc Cod_Cargo Cod_Depto => Cod_Func Dependente => Cod_Func => Nome_Depend Dt_Nasc Cod_Tipo_Depend Cliente => Cod_Cliente Nome_Cliente => Cod_Projeto Dt_Entrada_Projeto Projeto Tipo_Dependente Cargo => Cod_Cargo Departamento => Cod_Depto Nome_Depto Cod_Func_Chefe => Cod_Tipo_Depend Descricao Nome_Cargo Valor_Salario_Cargo => Cod_Projeto Nome_Projeto Cod_Func_Chefe Dt_Inicio Cod_Cliente Cod_Status Status_Projeto => Cod_Status Descricao 4