Baixe o app para aproveitar ainda mais
Prévia do material em texto
GABARITO DISCIPLINA EID002 - Bancos de Dados APLICAÇÃO 30/09/2020 CÓDIGO DA PROVA P006/07/08 QUESTÕES OBJETIVAS Questão 1.1 Examine as seguintes assertivas considerando-as verdadeiras (V) ou falsas (F) e assinale a alternativa correta. I. Linguagem de Definição de Dados permite especificar o esquema do banco de dados, através de um conjunto de definições de dados. II. Consistência: sempre que a mesma informação é armazenada, mesmo que em locais diferentes (redundância), podem conter valores distintos. III. Na arquitetura de duas camadas os componentes são distribuídos em clientes e servidor de aplicação. IV. Abstração de dados é a característica que permite a independência de dados do programa e a independência da operação do programa. V. Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de dados manipulados pelos usuários de um banco de dados. VI. Quando os comandos DML são incorporados em uma linguagem de programação, é chamada de linguagem hospedeira. a) V, V, F, V, F, F b) V, F, V, V, F, F c) F, V, F, F, V, V d) F, V, F, F, V, F e) V, F, F, V, F, V RESOLUÇÃO A resposta correta é: V, F, F, V, F, V Justificativa I. Linguagem de Definição de Dados permite especificar o esquema do banco de dados, através de um conjunto de definições de dados. [verdadeira] II. Consistência: sempre que a mesma informação é armazenada, mesmo que em locais diferentes (redundância), podem conter valores distintos. [falsa] III. Na arquitetura de duas camadas os componentes são distribuídos em clientes e servidor de aplicação. [falsa] IV. Abstração de dados é a característica que permite a independência de dados do programa e a independência da operação do programa. [verdadeira] V. Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de dados manipulados pelos usuários de um banco de dados. [falsa] VI. Quando os comandos DML são incorporados em uma linguagem de programação é chamada de Linguagem hospedeira. [verdadeira] Questão 1.2 Para o diagrama ER apresentado a seguir, assinale a alternativa que melhor representa o Mapeamento do Modelo Entidade Relacionamento para o Modelo Relacional (nas relações, as chaves primárias estão sublinhadas e as chaves estrangeiras estão identificadas por FK (Foreign Key). a) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF) FILME (COD_FILME, TITULO, DURACAO, COD_ATOR (FK), NOME_PERSONAGEM) ATOR (CODIGO, NOME, CPF, NACIONALIDADE) PASSA (COD_FILME (FK), COD_CINEMA (FK)) b) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF) FILME (COD_FILME, TITULO, DURACAO, COD_CINEMA (FK)) ATOR (CODIGO, NOME, CPF, NACIONALIDADE) ATUA (COD_FILME (FK), CODIGO (FK), NOME_PERSONAGEM) c) CINEMA (COD_CINEMA, NOME, UF) FILME (COD_FILME, TITULO, DURACAO, COD_CINEMA) ATOR (CODIGO, NOME, CPF, NACIONALIDADE) ATUA (COD_FILME (FK), CODIGO (FK)) PASSA (COD_FILME (FK), COD_CINEMA (FK)) d) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF) FILME (COD_FILME, TITULO, DURACAO) ATOR (CODIGO, NOME, CPF, NACIONALIDADE) PASSA (COD_FILME (FK), CODIGO (FK), COD_CINEMA (FK)) e) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF) FILME (COD_FILME, TITULO, DURACAO) ATOR (CODIGO, NOME, CPF, NACIONALIDADE) ATUA (COD_FILME (FK), COD_CINEMA (FK)) RESOLUÇÃO A resposta correta é: CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF) FILME (COD_FILME, TITULO, DURACAO, COD_CINEMA (FK)) ATOR (CODIGO, NOME, CPF, NACIONALIDADE) ATUA (COD_FILME (FK), CODIGO (FK), NOME_PERSONAGEM) Justificativa Para cada relacionamento regular com cardinalidade 1:N entre entidades E1 e E2, respectivamente, e que geraram as relações R1 e R2, respectivamente, deve-se inserir a chave primária de R1 como chave estrangeira em R2. Para cada relacionamento regular com cardinalidade N:N entre entidades E1 e E2, cria-se uma nova relação R1, contendo todos os atributos do relacionamento mais o atributo chave de E1 e o atributo chave de E2. Questão 1.3 Considerando o banco de dados composto pelas relações a seguir, assinale a expressão em Álgebra Relacional que retoma o código dos participantes do estado de SP que não estão inscritos em minicursos. Participantes (codigo_participante, nome, e-mail, cidade, uf) Eventos (codigo_evento, descricao, data_inicio, data_termino, valor_evento) Minicursos (codigo_minicurso, descricao, carga_horaria) Eventos_minicursos (codigo_evento, codigo_minicurso, qtde_vagas, valor_minicurso) Inscritos_eventos(codigo_participante, codigo_evento, data_inscricao, status) Inscritos_minicursos (codigo_evento, codigo_minicurso, codigo_participante, presenca) a) (𝛑 (codigo_participante) 𝞼 (uf = “SP”) (Participantes)) - 𝛑 (codigo_participante) (Inscritos_minicursos) b) (𝛑 (codigo_participante) 𝞼 (uf = “SP”) (Participantes X Inscritos_minicursos) c) (𝞼 (codigo_participante) 𝛑 (uf = “SP”) (Participantes X Inscritos_minicursos) d) (𝞼 (codigo_participante) 𝛑 (cidade = “SP”) (Participantes)) - 𝛑 (codigo_participante) (Inscritos_minicursos) e) (𝞼 (codigo_participante) 𝛑 (uf = “SP”) (Participantes)) - 𝛑 (codigo_participante) (Inscritos_minicursos) RESOLUÇÃO A resposta correta é: (𝛑 (codigo_participante) 𝞼 (uf = “SP”) (Participantes)) - 𝛑 (codigo_participante) (Inscritos_minicursos) Justificativa Realizar a diferença da relação resultante da projeção do atributo codigo_participante da seleção dos participantes do estado de SP com a relação resultante da projeção do atributo codigo_participante da relação inscritos_minicursos. A operação de Diferença (R – S) seleciona as tuplas que estão na primeira relação (R), mas não estão na segunda (S), ou seja, os participantes que não estão inscritos em minicursos. As duas relações precisam ser compatíveis em número de atributos e domínio. Questão 1.4 Considerando o banco de dados composto pelas relações a seguir, assinale a expressão em SQL que retoma o nome dos participantes que realizaram inscrição em dois eventos. Participantes (codigo_participante, nome, e-mail, cidade, uf) Eventos (codigo_evento, descricao, data_inicio, data_termino, valor_evento) Minicursos (codigo_minicurso, descricao, carga_horaria) Eventos_minicursos (codigo_evento, codigo_minicurso, qtde_vagas, valor_minicurso) Inscritos_eventos(codigo_participante, codigo_evento, data_inscricao, status) Inscritos_minicursos (codigo_evento, codigo_minicurso, codigo_participante, presenca) a) select participantes.nome, as qtde_eventos from participantes, inscritos_eventos where participantes.codigo_participante = inscritos_eventos.codigo_participante having qtde_eventos = 2 b) select participantes.nome, count (*) as qtde_eventos from participantes, inscritos_eventos where participantes.codigo_participante = inscritos_eventos.codigo_participante group by participantes.codigo_participante having qtde_eventos = 2 c) select participantes.nome, count (*) > 2 from participantes, inscritos_eventos where participantes.codigo_participante = inscritos_eventos.codigo_participante group by participantes.codigo_participante d) select participantes.nome, qtde_eventos > 2 from participantes, inscritos_eventos where participantes.codigo_participante = inscritos_eventos.codigo_participante e) select participantes.nome, count (*) from participantes where participantes.codigo_participante = inscritos_eventos.codigo_participante having qtde_eventos = 2 RESOLUÇÃO A resposta correta é: select participantes.nome, count (*) as qtde_eventos from participantes, inscritos_eventos where participantes.codigo_participante = inscritos_eventos.codigo_participante group by participantes.codigo_participante having qtde_eventos = 2 Justificativa Realizar a projeção do atributo nome do participante e a quantidade de participantes agrupados cuja quantidade de eventos seja igual a 2. QUESTÕES DISSERTATIVAS Questão 2 Considereo esquema de relação e as dependências funcionais (DF) especificadas pelo projetista do banco de dados, realize o processo de normalização para atender à Terceira Forma Normal (3NF). MATRICULA (RA, nome_aluno, data_consulta, codigo_paciente, nome_paciente, data_nascimento_pac, codigo_medico, nome_medico, codigo_especialidade, especialidade_med, dignostico). num_consulta → codigo_paciente, data_consulta, codigo_medico, codigo_especialidade, diagnostico codigo_paciente → nome_paciente, data_nascimento codigo_medico → nome_medico, codigo_especialiadade codigo_especialidade → especialidade_med RESOLUÇÃO Passo a passo: 1FN: a relação está na 1FN, pois não há atributos não atômicos e atributos multivalorados. 2FN: a relação está na 2FN, considerando as dependências funcionais, não há chave composta. 3FN: para estar na 3FN, os atributos não chaves devem depender da chave: CONSULTA (num_consulta, data_consulta, codigo_paciente, codigo_medico, codigo_especialidade, dignostico) PACIENTE (codigo_paciente, nome_paciente, data_nascimento_pac) MEDICO (codigo_medico, nome_medico, codigo_especialidade) ESPECIALIDADE (codigo_especialidade, especialidade_med) Rubricas | critérios de correção 100%: o estudante respondeu a pergunta de maneira completa e correta. 50%: o estudante respondeu parte da pergunta de maneira correta. Questão 3 Considerando o banco de dados composto pelas relações a seguir, escreva a expressão em Álgebra relacional que retoma os nomes de todas as disciplinas com mais de cinco créditos. Depto(CodDepto, NomeDepto) Disciplina(CodDepto,NumDisc,NomeDisc,CreditosDisc) PreReq(CodDepto,NumDisc,DeptoReq,NumDisReq) Oferta(CodDepto,NumDisc,SiglaOfer, AnoSem,DiaSem,HoraInicio,NumHoras, CodPred,NumSala) Prédio(CodPred,NomePred) Sala(CodPred,NumSala,CapacSala) Professor(CodProf,NomeProf,CodTit,CodDepto) ProfOferta(AnoSem,CodDepto,NumDisc,SiglaOfer,CodProf) Titulação(CodTit,NomeTit) Observações: ● As Chaves Primárias estão sublinhadas. ● O Código de uma disciplina (matéria) é composto pelo código do departamento que a ministra e pelo número da disciplina dentro do departamento. ● Uma oferta é o horário em que uma disciplina é oferecida. ● Um pré-requisito é uma disciplina que um aluno deve ter cursado como aprovação para poder cursar a disciplina em questão. RESOLUÇÃO 𝛑 nome_disc ( 𝞼 ( créditos_disc > 5 (disciplina)) Rubricas | critérios de correção 100%: o estudante respondeu a pergunta de maneira completa e correta. 50%: o estudante respondeu parte da pergunta de maneira correta.
Compartilhar