Baixe o app para aproveitar ainda mais
Prévia do material em texto
11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 1/13 Avaliação Online 2 Entrega 12 abr em 23:59 Pontos 20 Perguntas 10 Disponível 6 abr em 0:00 - 12 abr em 23:59 7 dias Limite de tempo 120 Minutos Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MANTIDO Tentativa 2 5 minutos 20 de 20 MAIS RECENTE Tentativa 2 5 minutos 20 de 20 Tentativa 1 18 minutos 18 de 20 Pontuação desta tentativa: 20 de 20 Enviado 11 abr em 18:33 Esta tentativa levou 5 minutos. Leia com atenção as orientações abaixo antes de iniciar esta prova: Serão permitidas duas tentativas para realizar esta avaliação, prevalecendo a maior nota. Programe-se para realizar suas avaliações com tranquilidade, pois você terá 120 minutos cronometrados (por tentativa) para conclusão e envio das respostas. Ao iniciar a avaliação o cronômetro não para, independentemente da plataforma estar aberta ou não; Durante a realização da prova: Será exibido uma questão por vez, podendo “Avançar” ou “Voltar” quando necessário 2 / 2 ptsPergunta 1 Um dos pilares do modelo relacional são os relacionamentos. Afinal, os relacionamentos expressam as conexões entre as tuplas de diferentes tabelas ou, até mesmo, entre a própria tabela. No modelo entidade-relacionamento, existem diversos tipos de relacionamentos, que envolvem uma tabela, duas ou até mesmo várias tabelas diferentes. Para cada tipo de relacionamento, há um processo de mapeamento diferente para o modelo relacional. https://newtonpaiva.instructure.com/courses/6428/quizzes/11145/history?version=2 https://newtonpaiva.instructure.com/courses/6428/quizzes/11145/history?version=2 https://newtonpaiva.instructure.com/courses/6428/quizzes/11145/history?version=1 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 2/13 De acordo com o texto apresentado, avalie as seguintes assertivas e a relação entre elas. (1) Os relacionamentos do tipo muitos para muitos não podem ser implementados da forma que são em um banco de dados relacional, sendo preciso então converter cada relacionamento do tipo muitos para muitos em dois relacionamentos do tipo um para muitos. Porque (2) O relacionamento do tipo um para muitos é o tipo ideal em um esquema relacional, podendo ser utilizado em diversas situações de relacionamento entre entidades. A respeito dessas asserções, marque a alternativa correta. A primeira assertiva é verdadeira, e a segunda é falsa. A primeira assertiva é falsa, e a segunda é verdadeira. As duas assertivas são verdadeiras, e a segunda não justifica a primeira. As duas assertivas são verdadeiras, e a segunda justifica a primeira. Correto!Correto! As duas assertivas são falsas. De fato, os relacionamentos do tipo muitos para muitos não podem ser implementados em banco de dados relacionais. Entretanto, é possível converter tais relacionamentos em dois relacionamentos do tipo 1:N por meio da criação de uma tabela associativa. Os relacionamentos 1:N são ideais num banco de dados relacional, pois, além de serem de fácil implementação, evitam a redundância de dados. 2 / 2 ptsPergunta 2 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 3/13 Acerca do modelo relacional, analise as seguintes afirmativas: I. O conceito de domínio no modelo relacional se refere ao conjunto de valores permitidos que podem aparecer em cada coluna. II. Toda chave candidata pode ser eleita como chave primária. III. Os registros de uma tabela são ordenados entre si, da mesma forma que a lista de atributos. IV. Uma chave estrangeira pode ocorrer somente quando a tupla de uma tabela referencia a tupla de outra tabela. É correto o que se afirma em: III, apenas. I, II e IV, apenas. I e II, apenas. Correto!Correto! II, apenas. I, apenas. A afirmativa III está errada, pois os registros ou tuplas de uma tabela não são ordenados entre si. Os registros são “ordenados” apenas pela ordem de inserção nas tabelas; porém, os valores de uma tupla são, sim, ordenados pela lista de atributos, de modo que cada valor corresponda à coluna correta. A afirmativa IV está errada, pois uma chave estrangeira pode fazer referência a uma tupla da própria tabela. Isso acontece quando há um autorrelacionamento. 2 / 2 ptsPergunta 3 O modelo relacional apresenta um banco de dados como uma coleção de relações ou tabelas de modo informal. Quando uma relação é pensada como uma tabela que possui valores, significa que cada linha possuirá um conjunto de valores de dados relacionados. 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 4/13 Com base no texto e nos seus conhecimentos sobre o modelo relacional de dados, analise as seguintes afirmativas: I. Chave estrangeira é um atributo que pode ser não nulo e não precisa ser único. II. Relação é uma estrutura bidimensional composta por tuplas, atributos simples e compostos e valores multivalorados. III. A chave primária em uma relação é a chave estrangeira em outra relação. IV. Chave candidata é um conjunto não mínimo de atributos que identifica uma tupla. É correto o que se afirma em: I, II e III, apenas. IV, apenas. I, apenas. Correto!Correto! I e II, apenas. II, III e IV, apenas. A afirmativa II está errada, pois o modelo relacional não permite valores não atômicos para os atributos. Logo, não é permitido o uso de atributos compostos e multivalorados. A afirmativa III está errada, pois nem sempre a chave primária de uma relação será a chave estrangeira de outra relação. Note, porém, que o inverso é verdadeiro, ou seja, uma chave estrangeira em uma relação é sempre uma chave primária em outra (ou na mesma). A afirmativa IV está errada, pois uma chave candidata deve ser o conjunto mínimo de atributos de uma relação. O modelo relacional visa identificar tuplas por meio do menor conjunto de colunas, preferencialmente apenas uma coluna. 2 / 2 ptsPergunta 4 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 5/13 O modelo relacional dispõe de várias formas de se garantir a integridade dos dados. Dentre elas, há as restrições de integridade. Uma dessas restrições estabelece que nenhum valor de chave primária pode ser nulo (null). Essa restrição é importante porque o valor da chave primária é usado para identificar as tuplas individuais em uma relação. Caso pudessem ocorrer eventuais valores nulos para os atributos chave primária, seria impossível distinguir os registros de uma relação. Com base no texto e nos seus conhecimentos sobre restrição de integridade, assinale a opção correta que nomeia a restrição de integridade apresentada no texto. Restrição de integridade de chaves. Restrição de integridade de domínio. Restrição de integridade de valores nulos. Restrição de integridade de entidades. Correto!Correto! Restrição de integridade referencial. A restrição de integridade de entidade visa à garantia de que nenhum conjunto de atributos chave primária possa ser nulo. A chave primária é importante ao model relacional, pois é ela a responsável pela identificação de instâncias de uma tabela. 2 / 2 ptsPergunta 5 Leia o texto a seguir: “Uma dependência funcional, denotada por X -> Y entre dois conjuntos X e Y, que são subconjuntos de R, especificam uma restrição nas possíveis tuplas que formem um estado da relação r de 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 6/13 R. A restrição é que, para quaisquer duas tuplas t e t em r tenham t [X] = t [X], elas também têm que ter t [Y] = t [Y]” (Elmasri e Navathe, 2010). Uma das possíveis dependências que podem ocorrer em esquemas relacionais, é aquela cujosatributos não identificadores de uma relação dependem de apenas parte dos atributos identificadores. Tal dependência funcional está diretamente associada a um conjunto de regras de normalização. Com base no texto e seus conhecimentos em dependências funcionais, assinale a afirmativa que corresponde à dependência funcional e sua respectiva forma normal em questão. 1 2 1 2 1 2 Dependência funcional parcial e 2FN. Correto!Correto! Dependência funcional transitiva e 1FN. Dependência funcional pseudotransitiva e 2FN. Dependência funcional total e 1FN. Dependência funcional total e 3FN. A dependência funcional parcial é aquela cujos atributos não- chave dependem de apenas parte da chave primária. A segunda forma normal tem como regra a eliminação de tal dependência. 2 / 2 ptsPergunta 6 O processo de normalização de tabelas ocorre com a aplicação das formas normais. As formas normais, por sua vez, ditam um conjunto de regras em que as relações devem seguir para evitar as anomalias causadas pela redundância de dados. 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 7/13 Sabendo disso, considere a seguinte tabela ESCOLA, não necessariamente normalizada: ESCOLA(CodDisciplina, AnoSem, SiglaTurma, HoraInicio, NumHoras, NomeDisciplina, CreditosDisciplina). Considere também as seguintes dependências funcionais existentes na tabela: (CodDisciplina, AnoSem, SiglaTurma, HoraInicio) -> NumHoras CodDisciplina -> NomeDisciplina CodDisciplina -> CreditosDisciplina Assinale a opção que identifica corretamente a forma normal que a tabela ESCOLA se encontra. 1FN Correto!Correto! 3FN 2FN 4FN 5FN A tabela ESCOLA está na primeira forma normal (1FN) pois não contém tabelas aninhadas. Porém, ela contém dependências funcionais parciais, logo não poderia estar em 2FN e consequentemente em 3FN, já que não possui dependências transitivas. 2 / 2 ptsPergunta 7 Analise a seguinte tabela e seus atributos com suas respectivas dependências funcionais. 1 – Tabela Voo e suas dependências funcionais 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 8/13 Fonte: Elaborado pelo autor, 2018. A tabela está na primeira forma normal pois não contém tabelas aninhadas. Porém, ela não se encontra nas segundas e terceiras formas normais, pois contém dependências funcionais parciais e transitivas. Após a análise da imagem e do texto, assinale a alternativa que executa corretamente a transformação desta tabela para uma forma normal superior. A tabela estará em 2FN se os atributos siglaAeroSaida e NomeAeroSaida compuserem uma nova tabela. A tabela estará em 3FN se os atributos siglaCia, nomeCia, siglaAeroSaida e NomeAeroSaida forem agrupados em uma nova tabela. A tabela estará em 2FN se os atributos siglaCia e nomeCia forem agrupados em uma nova tabela. Correto!Correto! A tabela estará em 3FN se os atributos siglaAeroSaida e NomeAeroSaida compuserem uma nova tabela. A tabela estará em 2FN se os atributos siglaCia, nomeCia, siglaAeroSaida e NomeAeroSaida forem agrupados em uma nova tabela. 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 9/13 A tabela se encontra em 1FN, como dito, pois não há tabelas aninhadas. Para normaliar esta tabela para a segunda forma normal, basta criar uma nova tabela para agrupar os atributos siglaCia e nomeCia, pois o atributo nomeCia depende apenas de parte da chave (siglaCia). Para estar em 3FN, além desta modificação, é preciso eliminar a dependência transitiva dada por siglaAeroCia à nomeAeroCia, por meio da inclusão de uma nova tabela. 2 / 2 ptsPergunta 8 Considere a seguinte situação-problema. Os alunos de uma universidade podem cursar diversas disciplinas em cada semestre. Além disso, diversos alunos podem se matricular em uma mesma disciplina. O alto número de alunos pode gerar várias turmas diferentes para cada disciplina, pois cada turma se refere a uma disciplina. Por exemplo, uma disciplina de Banco de Dados poderá ser oferecida para uma turma às terças-feiras e para outra turma às sextas-feiras. Assinale a alternativa que expressa corretamente o relacionamento entre disciplina, aluno e turma. Há um relacionamento N:1 entre aluno e disciplina e um relacionamento 1:N entre turma e disciplina. Há um relacionamento N:N entre aluno e turma e um relacionamento 1:N entre turma e disciplina. Logo, é preciso adicionar uma tabela para representar o relacionamento entre aluno e turma. Correto!Correto! 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 10/13 Há um relacionamento N:N entre aluno e turma e um relacionamento N:1 entre turma e disciplina. Logo, é preciso adicionar uma tabela para representar o relacionamento entre aluno e turma. Há um relacionamento 1:N entre aluno e disciplina e um relacionamento 1:N entre turma e disciplina. Há um relacionamento 1:N entre aluno e turma e um relacionamento N:1 entre turma e disciplina. Nesse problema, há um relacionamento do tipo muitos para muitos entre ALUNO e TURMA, pois um aluno pode cursar diversas disciplinas, sendo que cada disciplina é ofertada aos alunos por meio das turmas. Da mesma forma, uma turma pode conter diversos estudantes. Logo, é preciso adicionar uma tabela “AlunoDisciplina” para representar este relacionamento N:M. Já o relacionamento entre Disciplina e Turma é, de fato, 1:N, pois uma disciplina pode ser ofertada em diversas turmas, porém cada turma é de apenas uma disciplina. 2 / 2 ptsPergunta 9 A restrição de chave na SQL implementa as restrições de chave e de entidade do modelo relacional, pois uma chave primária é utilizada para identificar de forma única cada tupla em uma tabela. Analise os comandos para criação/inclusão da constraint PRIMARY KEY nas tabelas: I – CREATE TABLE Pessoa (nomePessoa VARCHAR(100), numCPF varchar(20), numTelefone varchar(30)); 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 11/13 ALTER TABLE Pessoa ADD CONSTRAINT pkPessoa PRIMARY KEY (numCPF); II – CREATE TABLE Pessoa (nomePessoa VARCHAR(100), numCPF varchar(20) PRIMARY KEY, numTelefone varchar(30)); III – CREATE TABLE Venda (codCliente INTEGER, codProduto INTEGER, codFornecedor INTEGER, valorVenda DOUBLE, PRIMARY KEY pkVenda (codCliente, codProduto, codFornecedor)); IV – CREATE TABLE Venda (codCliente INTEGER, codProduto INTEGER, codFornecedor INTEGER, valorVenda DOUBLE, PRIMARY KEY pkVenda1 (codCliente), PRIMARY KEY pkVenda2 (codProduto), PRIMARY KEY pkVenda3 (codFornecedor)); Agora, selecione a alternativa que indica as assertivas corretas. II e III, apenas. Correto!Correto! I e II, apenas. II, III e IV. III e IV, apenas. I e III, apenas. 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 12/13 A opção I está incorreta. Quando a chave primária de uma tabela for composta por apenas um atributo, basta adicionar a cláusula PRIMARY KEY na definição da coluna correspondente. A opção IV está incorreta. Quando a chave primária de uma tabela for composta por dois ou mais atributos, a restrição de chave primária deverá constar ao final da declaração das colunas. Além disso, só é possível definir uma restrição PRIMARY KEY por tabela. 2 / 2 ptsPergunta 10 Considere o código para criação da tabela “Pessoa”: CREATE TABLE Pessoa ( nome VARCHAR(100), dataNascimento DATE, numCPF VARCHAR(20)); O comando ALTER é utilizado quando se deseja alterar a configuração estrutural de uma tabela em um banco de dados. Após a criação da tabela “Pessoa”, houve a necessidade de alterar o campo que armazena a informação doCPF para que o mesmo se tornasse de preenchimento obrigatório. Qual alternativa melhor representa o comando que altera a tabela “Pessoa”? 11/04/2020 Avaliação Online 2: G.FEV.BDADOS.1 - Banco de Dados https://newtonpaiva.instructure.com/courses/6428/quizzes/11145 13/13 DROP TABLE Pessoa; CREATE TABLE Pessoa ( nome VARCHAR(100), dataNascimento DATE, numCPF VARCHAR(20) NOT NULL); ALTER TABLE Pessoa MODIFY COLUMN numCPF VARCHAR(20) NOT NULL; Correto!Correto! ALTER TABLE Pessoa DROP COLUMN numCPF; ALTER TABLE Pessoa ADD numCPF VARCHAR(20) NOT NULL; ALTER TABLE Pessoa ALTER numCPF NOT NULL; ALTER COLUMN numCPF VARCHAR(20) NOT NULL FROM Pessoa; A alteração da definição de uma coluna em uma tabela é feita utilizando-se o seguinte código: ALTER TABLE <tabela> MODIFY COLUMN <coluna> <definição_coluna>; Sendo que <definição_coluna> contém o tipo de dado e as restrições que redefinem a coluna. Pontuação do teste: 20 de 20
Compartilhar