Buscar

ATIVIDADE 03

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Pergunta 1
0,25 em 0,25 pontos
	
	
	
	Os comandos de SQL para manipulação de dados (DML) podem ser executados através de uma ferramenta administrativa, ou eles são executados internamente por um software ao se codificar uma funcionalidade do sistema.
Imagine que um Módulo de Sistema de Recursos Humanos possui uma função que é aplicar um reajuste de um determinado valor para todos os funcionários de um determinado setor. Essa situação pode ocorrer por conta de uma negociação de reajuste anual para a categoria de funcionários, por exemplo. Considerando que, em determinado ano, o reajuste foi de 3,5%, qual comando a seguir deve ter sido disparado pela função interna do sistema responsável por este reajuste?
	
	
	
	
		Resposta Selecionada:
	 
UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100)
                WHERE COD_SETOR = 10
	Resposta Correta:
	 
UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100)
                WHERE COD_SETOR = 10
	Feedback da resposta:
	Resposta correta. A alternativa está correta, pois o comando para alteração de dados é o UPDATE e, no caso, o salário será igual ao salário anterior mais 3.5% (3.5/10) aplicado ao salário. E isso para um determinado COD_SETOR, no caso usado, o COD_SETOR = 10.
	
	
	
Pergunta 2
0,25 em 0,25 pontos
	
	
	
	Uma das manipulações que existem em banco de dados é a exclusão de registros em tabelas e em SQL. O comando para esta finalidade é o DELETE. A sintaxe deste comando envolve especificar qual a tabela que está sendo afetada e um filtro para indicar quais registros devem ser excluídos pelo comando.
 
Em um sistema de registro de áreas agrícolas, na tabela PLANTIO existem os seguintes registros:
	Código
	Município
	Área
	Produto
	Data Colheita
	1
	Alegre
	32,50
	Tomate
	20/02/2019
	2
	Linhares
	54,70
	Mamão
	05/03/2019
	3
	Sooretama
	47,30
	Tomate
	10/03/2019
	4
	Linhares
	52,10
	Café
	25/02/2019
	5
	Colatina
	35,80
	Café
	18/02/2019
	6
	Linhares
	43,70
	Mamão
	03/03/2019
Fonte: Elaborado pelo autor.
 
O seguinte comando foi executado no banco de dados:
                DELETE FROM    PLANTIO
                WHERE                 (AREA < 40) OR
                                                                (MUNICIPIO = ‘Linhares’ AND AREA > 50)
 
Quantas linhas foram afetadas por este comando?
	
	
	
	
		Resposta Selecionada:
	 
4
	Resposta Correta:
	 
4
	Feedback da resposta:
	Resposta correta. A alternativa está correta, pois, pela condição (AREA < 40), as linhas 1 e 5 serão afetadas e, pela condição (MUNICIPIO = ‘Linhares’ AND AREA > 50), as linhas 2 e 4 atendem à condição. Portanto, 4 linhas serão afetadas.
	
	
	
Pergunta 3
0 em 0,25 pontos
	
	
	
	Em um modelo relacional, os conceitos de chaves são relevantes. As chaves primárias servem para identificar as linhas em uma tabela e, para o caso da chave estrangeira, ela permite estabelecer a restrição de que um valor depende de outro valor em outra tabela. Por exemplo, em um sistema de uma universidade, uma disciplina pertence a um curso e um curso pode conter várias disciplinas. A especificação destas tabelas pode ser compreendida a seguir; os campos em sublinhado são chaves primárias.
 
DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA, COD_CURSO (FK))
CURSO(COD_CURSO, DCR_CURSO)
 
A respeito dos comandos para criação das chaves primárias e estrangeiras deste modelo, analise as sentenças a seguir e assinale (V) para a(s)  verdadeira(s) e (F) para as falsa(s):
 
I. (    ) Para criar a chave primária de disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE
                “ PRIMARY KEY (COD_DISCIPLINA) ”
II. (    )  Para criar a chave estrangeira na tabela disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE
                “ FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ”
III. (    )  Uma outra forma de criar uma chave estrangeira é via o comando ALTER TABLE, e, para a chave estrangeira na tabela disciplina, pode ser usado desta forma
                “ ALTER TABLE DISCIPLINA ADD
                FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ”
IV.  (    ) Para criar uma chave primária, é possível também usar o comando a seguir
                “ ALTER TABLE DISCIPLINA
ADD CONSTRAINT ‘PK_DISC’ PRIMARY KEY (COD_DISCIPLINA) “
 
Conforme as associações realizadas, assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	 
V, V, V, F
	Resposta Correta:
	 
V, V, V, V
	Feedback da resposta:
	Sua resposta está incorreta. A alternativa está incorreta, pois todas as opções são verdadeiras. Analisando cada item, o item (I) é verdadeiro, de fato basta adicionar a definição de primary key no CREATE TABLE. O item II é verdadeiro, uma chave estrangeira pode ser criada ao se adicionar a cláusula de FOREIGN KEY no CREATE TABLE. O item III é verdadeiro, a cláusula de foreign key pode ser adicionada no ALTER  TABLE. Por fim, o item IV é verdadeiro, pois a sentença está correta com a adição de primary key com seu nome e especificação.
	
	
	
Pergunta 4
0 em 0,25 pontos
	
	
	
	As atividades rotineiras de um desenvolvedor, ao manipular um banco de dados, envolve escrever consultas ou comandos em SQL e analisar os resultados que o servidor apresenta, por exemplo, ao inserir uma linha com um INSERT, ele depois checa se a linha foi inserida ou, quando realiza uma consulta, ele avalia os dados da consulta. Em uma destas tarefas, um programador obteve a seguinte consulta:
 
	Código
	Fabricante
	Placa
	Modelo
	Ano
	1
	Ford
	MQF4236
	Fiesta
	2016
	2
	Fiat
	QFG5534
	Uno
	2018
	3
	Renault
	FES3321
	Clio
	2014
	4
	Fiat
	QQF5298
	Idea
	2018
	5
	Renault
	AAX8943
	Sandero
	2013
Fonte: Elaborado pelo autor.
 
Qual consulta o programador deve ter digitado na ferramenta do SGBD?
	
	
	
	
		Resposta Selecionada:
	 
SELECT * FROM CARRO WHERE (ANO >=2015) AND (PLACA LIKE ‘%QF%’)
	Resposta Correta:
	 
SELECT * FROM CARRO WHERE (ANO <=2015) OR  (PLACA LIKE ‘%QF%’)
	Feedback da resposta:
	Sua resposta está incorreta. A alternativa está incorreta por conta de alguma das situações a seguir. Na linha com código 5, o ano do carro é 2013, que não é maior ou igual a 2014, no caso (ANO >=2014) . O combinador lógico está AND (E) na sentença  (ANO >=2015) AND (PLACA LIKE ‘%QF%’) e a linha com código 3 já invalida esta sentença, nem é maior que 2015 nem possui ‘QF’ na placa. Com a cláusula where (PLACA LIKE ‘%QF%’), a linha com código 5 não possui ‘QF’ na placa e apareceu na lista. E para o caso da cláusula (ANO <=2015) AND (PLACA LIKE ‘%QF%’), a linha 3 invalida esta opção, pois a placa não possui ‘QF’. 
	
	
	
Pergunta 5
0,25 em 0,25 pontos
	
	
	
	Na construção de um banco de dados, em seu início, um projetista de dados compreende os requisitos de um sistema e faz a modelagem de dados criando um modelo de entidade e relacionamento ou um modelo relacional. A partir do modelo, os comandos de DDL (Data Definition Language) são usados para criar as tabelas e outras definições no banco de dados.
Para um certo sistema, uma parte do modelo de dados está mostrado a seguir. 
 [1] 
Fonte: Elaborada pelo autor.
Existe a necessidade de criar um comando para gerar a tabela de BAIRRO com todos os campos e restrições, que, considerando que todos os campos são obrigatórios, precisam ser preenchidos na manipulação dos registros. O comando para esta criação da tabela é:
	
	
	
	
		Resposta Selecionada:
	 
CREATE TABLE BAIRRO (         COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,
                COD_CIDADE INTEGER   NOT NULL,
                                                               PRIMARY KEY (COD_BAIRRO) ,FOREING KEY (COD_CIDADE)
REFERENCES CIDADE (COD_CIDADE) );
	Resposta Correta:
	 
CREATE TABLE BAIRRO (         COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,
                COD_CIDADE INTEGER   NOT NULL,
                                                               PRIMARY KEY (COD_BAIRRO) ,
                                                               FOREING KEY (COD_CIDADE)
REFERENCES CIDADE (COD_CIDADE) );
	Feedback da resposta:
	Resposta correta. A alternativa está correta pois apresenta todas as definições necessárias, os campos COD_BAIRRO, DCR_BAIRRO, COD_CIDADE e a chave primária (PRIMARY KEY) e a chave estrangeira (FOREIGN KEY), tudo definido corretamente.
	
	
	
Pergunta 6
0,25 em 0,25 pontos
	
	
	
	De acordo com Elmasri e Navathe (2011), o modelo relacional foi introduzido, em 1970, via um artigo clássico de CODD. Esta teoria de modelo relacional deu origem aos sistemas gerenciadores de bancos de dados relacionais (SGBDs) que têm sido amplamente empregados por aproximadamente 50 anos. 
 
ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011.
 
Em relação a esses SGBDs relacionais, analise as sentenças a seguir:
 
I. Um dos motivos de sucesso dos SGBDs relacionais é a linguagem SQL, que serve para expressar os comandos que devem ser executados pelo SGBD
 
Porque:
 
II. Como essa linguagem (SQL) tornou-se um padrão, os usuários apresentam menos dificuldades para migrar suas aplicações; por exemplo, um usuário insatisfeito com um SGBD comercial pode implantar sua aplicação em outro SGBD com esforço e custo mais controlado.
 
A seguir, assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
	Resposta Correta:
	 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
	Feedback da resposta:
	Resposta correta. A alternativa está correta, pois as duas sentenças estão certas e a linguagem SQL é, de fato, um dos fatores de sucesso dos SGBDs comerciais. Isso porque, como ela se tornou um padrão de mercado, vários fabricantes mantêm compatibilidade, desenvolvedores de tecnologia falam a mesma “linguagem”, o que possibilitou um vasto uso no mercado de TI.
	
	
	
Pergunta 7
0 em 0,25 pontos
	
	
	
	Em um banco de dados, as necessidades de informação do usuário podem ser traduzidas em comandos de SELECT, principalmente a edição dos filtros, isto é, as condições que fazem parte da cláusula WHERE.
 
Em um sistema de clínica médica, existe uma tabela de pacientes com a seguinte especificação.
 
PACIENTE (CODIGO, NOME, CPF, TELEFONE, SEXO, IDADE, BAIRRO)
 
Neste sistema, existe a necessidade de recuperar especificamente o nome e telefone das pacientes do sexo feminino que moram em pelo menos um dos dois bairros mais próximos da clínica, o bairro Barra e o bairro Graça. O comando de SELECT que permite atender a esta necessidade é
	
	
	
	
		Resposta Selecionada:
	 
SELECT NOME, TELEFONE FROM PACIENTE
    WHERE SEXO = ‘F’ AND (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’)
	Resposta Correta:
	 
SELECT NOME, TELEFONE FROM PACIENTE
    WHERE SEXO = ‘F’ OR (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’)
	Feedback da resposta:
	Sua resposta está incorreta. A alternativa está incorreta, pois a condição correta seria SEXO = ‘F’ AND (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’)  recupera as linhas que possuem pacientes de sexo feminino E (and) que morem na Barra ou na Graça, conforme requisitado. Caso esteja diferente disso, algumas das situações a seguir podem ter ocorrido. Ou sexo está combinado com o operador OR na condição de bairro, o que estaria errado. Ou então, na condição de bairro, o operador usado foi AND, e não faz sentido (a princípio, tendo o modelo como base) uma paciente morar em dois bairros ao mesmo tempo. Ou ainda pode ter faltado o campo telefone na lista de colunas do SELECT e o uso do operador NOT está inconsistente.
	
	
	
Pergunta 8
0,25 em 0,25 pontos
	
	
	
	Após a etapa de modelagem, é necessária a criação dos elementos que vão acomodar os dados e suas restrições; é a etapa em que as tabelas são criadas junto com chave primária, chave estrangeira e outros elementos que estruturam um banco de dados. A DDL (Data Definition Language) é uma parte da SQL responsável por comandos com esta finalidade.
 
A respeito de alguns comandos e termos empregados na execução de comandos de DDL, analise as sentenças a seguir e assinale (V) para verdadeiro e (F) para falso.
 
I.  (   ) A palavra CONSTRAINT pode ser empregada na definição de chaves estrangeiras e primárias.
II   (     ) DROP TABLE é o comando usado para excluir uma tabela no banco de dados.
III. (     ) ADD COLUMN é parte de um comando e é usado em geral com comandos de ALTER TABLE.
IV.  (     ) NUMERIC é uma palavra usada na definição de campos que aceitam números, em geral, com decimais.
 
Conforme as associações realizadas assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	 
V, V, V, V
	Resposta Correta:
	 
V, V, V, V
	Feedback da resposta:
	Resposta correta. A alternativa está correta, pois o item I é verdadeiro; apesar de não ser obrigatório, o termo CONSTRAINT diz respeito a restrições, e as mais comuns, em que é usado na definição de chaves primárias e estrangeiras. O item II é verdadeiro, a exclusão de componentes do banco de dados é feita por DROP, por exemplo, DROP TABLE, DROP VIEW e outros. O item III é verdadeiro, pois, quando é necessário adicionar colunas em uma tabela já criada, o ADD COLUMN é usado como parte do ALTER TABLE. Por fim, o item IV é verdadeiro, pois campos que guardam valores com decimais são definidos com NUMERIC.
	
	
	
Pergunta 9
0,25 em 0,25 pontos
	
	
	
	Um SGBD relacional foi concebido com base em algumas teorias sobre como representar os dados e como realizar manipulações sobre eles. Conforme Puga, França e Goya (2013), uma destas fundamentações teóricas é uma linguagem formal de alto nível para expressar as operações sobre tabelas, suas linhas e colunas. Ela contém operações como seleção, projeção, produto cartesiano e outras.
 
PUGA, S; FRANÇA, E.; GOYA, M. Banco de Dados: implementação em SQL, PL/SQL e Oracle 11g. São Paulo: Pearson Education do Brasil, 2013.
 
A linguagem a que se refere Puga, França e Goya (2013) é a :
	
	
	
	
		Resposta Selecionada:
	 
Álgebra Relacional.
	Resposta Correta:
	 
Álgebra Relacional.
	Feedback da resposta:
	Resposta correta. A alternativa está correta, pois é a Álgebra Relacional, criada na IBM Research em 1970, que estabelece os fundamentos teóricos para a tecnologia de bancos de dados relacionais e com as características e operações presentes no enunciado.
	
	
	
Pergunta 10
0,25 em 0,25 pontos
	
	
	
	A álgebra relacional fornece um conjunto de operadores que podem ser aplicados sobre relações e propõe uma sintaxe para combinar operadores e ainda processar condições lógicas com operações como E e OU lógicos. Para extrair um resultado a partir de uma relação, foi necessário formular uma sentença em álgebra linear. O cenário é o de uma locadora de automóveis, e a relação CARRO está apresentada a seguir com alguns valores:
 
	Codigo
	Fabricante
	Modelo
	Ano
	1
	Ford
	Fiesta
	2016
	2
	Fiat
	Uno
	2018
	3
	Renault
	Clio
	2014
Fonte: Elaborado pelo autor.
 
A consulta a ser feita é para saber, na lista de carros da locadora, qual o código e o modelo de carros com ano superior ou igual a 2015 e da marca Ford. Qual sentença atende a esta consulta em álgebra relacional?
.
	
	
	
	
		Resposta Selecionada:
	 
π Codigo, Modelo ( σ  ano >= 2015 ^ Fabricante=Ford ( CARRO ) )
	Resposta Correta:
	 
π Codigo, Modelo ( σ  ano >= 2015 ^ Fabricante=Ford ( CARRO ) )Feedback da resposta:
	Resposta correta. A alternativa está correta, pois está aplicando primeiro (na parte mais interna junto à relação CARRO) a operação de seleção (σ) com o operador lógico E (^) e combinando as duas condições para ano e fabricante. Depois, na parte mais externa, ela aplica a projeção (π)  escolhendo apenas as colunas Codigo e Modelo da relação.

Outros materiais