Buscar

Exercício de Banco de Dados - Exercício de Fixação 2 - Tentativa 1 de 3

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 5 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

Exercício de Banco de Dados - Exercício de 
Fixação 2 - Tentativa 1 de 3 
Questão 1 de 10 
Um dos fatores primordiais para refinarmos o desempenho de um sql é usar técnicas que utilizem 
memória adequadamente e aloquem os devidos registros de tabelas distintas para um retorno 
mais rápido das consultas ao banco de dados, Indique qual das ações listadas a seguir utilizam 
menos memória ao remover a duplicidade de registros na apresentação de resultados: 
A - não utilizar stored procedures para consultas realizadas com frequência em ambientes de 
rede. 
B - utilizar DISTINCT ao invés de EXISTS quando se fizer joins que envolvam tabelas com 
relacionamento um-para-muitos. 
C - trocar o operador EXISTS ou NOT EXISTS por IN ou NOT IN. 
D - utilizar funções nas consultas em lugar do operador LIKE. 
E - substituir o UNION por UNION ALL. Resposta correta 
 
Questão 2 de 10 
O modelo de dados abaixo representa o relacionamento da tabela funcionario e tabela 
divisao. Consultas podem trazer dados das duas tabelas compondo um resultado eficiente 
para suporte a decisão, podendo-se usar funções de agregação para otimizar cálculos. 
 
 
image.png 14.61 KB 
 
 
 
Qual consulta com CPF, Nome do funcionario, salario, descreve o resultado todos os funcionários que 
ganham mais do que os empregados do departamento financeiro ? 
 
 
 
 
 
 
https://storage.googleapis.com/painel-docente-prod/questions_db/question/3790/1587729635/image.png
https://storage.googleapis.com/painel-docente-prod/questions_db/question/3790/1587729635/image.png
https://storage.googleapis.com/painel-docente-prod/questions_db/question/3790/1587729635/image.png
A - SELECT CPF, NOME_FUN, MAX(SALARIO),NOME_FUN FROM FUNCIONARIO WHERE 
funcionario.ID_divisao = divisao.id_divisao and SALARIO > MAX(SALARIO) AND NOME_DIV= 
'FINANCEIRO' 
 
 
B - SELECT CPF, NOME_FUN, MAX(SALARIO), NOME_DIV FROM FUNCIONARIO WHERE 
funcionario.ID_divisao = divisao.id_divisao and 
SALARIO > (SELECT MAX (SALARIO) FROM FUNCIONARIO WHERE NOME_DIV= 
'FINANCEIRO'); Resposta correta 
C - SELECT CPF, NOME_FUN, SALARIO, NOME_DIVFROM EMP WHERE 
funcionario.ID_divisao = divisao.id_divisao and SALARIO > (SELECT MAX (SALARIO) FROM 
FUNCIONARIO WHERE NOME_DIV= 5); 
D - SELECT CPF, NOME_FUN, SALARIO, NOME_DIVFROM FUNCIONARIO WHERE 
funcionario.ID_divisao = divisao.id_divisao and SALARIO > (SELECT MAX (SALARIO) FROM 
FUNCIONARIO) AND NOME_DIV= 5; 
E - SELECT CPF, NOME_FUN, SALARIO, NOME_DIVFROM FUNCIONARIO WHERE SALARIO > 
MAX(SALARIO) AND NOME_DIV= 5; 
 
Questão 3 de 10 
O modelo de dados abaixo representa o relacionamento da tabela de funcionário e a tabela 
divisão através da chave estrangeira. 
 
image.png 14.61 KBQual a função da 
chave estrangeira id_divisão na tabela de funcionario neste modelo ? 
A - A chave estrangeira garante que na inclusão de um registo o departamento deverá existir na 
tabela de divisao Resposta correta 
B - A chave estrangeira não garante que na inclusão de um registo o departamento deverá existir na 
tabela de divisao 
C - Na inclusão de um registo o departamento poderá ou não existir na tabela de divisão 
https://storage.googleapis.com/painel-docente-prod/questions_db/question/3781/1587735870/image.png
https://storage.googleapis.com/painel-docente-prod/questions_db/question/3781/1587735870/image.png
https://storage.googleapis.com/painel-docente-prod/questions_db/question/3781/1587735870/image.png
D - Na inclusão de um registo o departamento poderá ou não existir na tabela de divisão, mas 
poderá colocar nulo se não existir 
E - A chave estrangeira aponta apenas o relacionamento 
 
Questão 4 de 10 
A Structured Query Language (SQL) é utilizada para manipular Banco de Dados, cujo SGDB 
deve interpretar , compilar e executar as instruções, baseado neste conceito podemos 
afirmar : 
A - SQL pode apenas selecionar tabelas 
B - SQL pode apenas criar tabelas e selecioná-las 
C - SQL pode criar as estruturas de banco de dados e tabelas 
D - SQL pode criar estruturas de banco de dados 
E - SQL manipula o banco de dados, criando estruturas, tabelas, inserindo, excluindo e 
atualizando dados Resposta correta 
 
Questão 5 de 10 
Na criação de tabelas para um banco de dados é muito importante a escolha dos tipos de 
dados, para que sejam eficientes aos atributos, não criando nenhum conflito de 
interpretação na representação dos mesmos, por este motivo devemos usar um padrão, 
SQL ANSI. Em relação aos tipos de dados podemos afirmar : 
A - Int , smallint , bigint e float representam números inteiros 
B - float e bigin; representam números inteiros e int e smallint representam números 
facionários 
C - Int e float representam números inteiros e smallint e bigint representam 
números facionários 
D - Int , smallint representam números inteiros e bigint e float representa números 
facionários 
E - Int , smallint e bigint representam números inteiros e float representa 
números facionários Resposta correta 
 
Questão 6 de 10 
 A forma lógica que o SGDB trabalha é gravar em uma LOG as alterações feitas através de 
insert, update e delete, para garantir que possa voltar a uma versão anterior dos dados, caso 
alguma incompatibilidade, erro ou falha aconteçam, portanto os backups devem acontecer 
antes de ocorrer o comando truncate, sob pena de não ter registro das operações para uma 
possível recuperação de dados. O comando truncate é um mecanismo que auxilia nesta 
tarefa de dar manutenção em LOG , tendo a seguinte finalidade : 
A - excluir registros e gravar na log 
B - excluir registro e não gravar na log Resposta correta 
C - excluir registros como o delete de forma igual 
D - excluir registros com problemas 
E - excluir registros com defeitos fisicamente 
 
Questão 7 de 10 
Restrição é uma forma de garantir integridade aos dados através de aplicação de regras nos 
atributos. Há diversas forma de utilizar restrição. 
 
Create table Cadastro_cliente 
( CPF Numeric(11) Constraint pk_Cadastro_cliente 
primary key 
nome varchat(100), 
RG varchar (10) Contraint UK_RG Unique, 
Idade smallint) 
 
Podemos afirmar em relação as restrições : 
A - O nome da chave primária é constraint_pk_cadastro_cliente e RG tem uma restrição para 
não repetição Resposta correta 
B - O nome da chave primária é constraint_pk_cadastro_cliente e RG tem uma 
restrição para repetição 
C - O tipo de dados de idade aceita vírgula 
D - O tipo de dados de idade aceita qualquer tipo. 
E - O nome tem tipo de dados fixo com tamanho de 100 
 
Questão 8 de 10 
 A visão é uma construção em SQL que permite ao usuário ter a possibilidade de visualizar 
determinados dados a partir de sua necessidade , sem alterar a estrutura do modelo de 
dados. Faça uma análise das alternativas que corresponde a utilização do comando VIEW : 
A - CREATE VIEW (Lista_clientes) AS (select nome_fantasia,endereco,telefone from 
clientes) Resposta correta 
B - CREATE VIEW (Lista_clientes)(NOME DA VISAO) FROM (select 
nome_fantasia,endereco,telefone from clientes) 
C - SELECT VIEW (Lista_clientes) AS (select nome_fantasia,endereco,telefone from clientes) 
D - SELECT VIEW (Lista_clientes) FROM (select nome_fantasia,endereco,telefone from 
clientes) 
E - UPDATE VIEW (Lista_clientes) FROM (select nome_fantasia,endereco,telefone from 
clientes) . 
 
Questão 9 de 10 
A linguagem que cria as estruturas de banco de dados se chama DDL, linguagem de 
definição de dados, analise o código abaixo que define a criação de um banco de dados : 
CREATE DATABASE Banco_de_Dados_Compras 
ON PRIMARY 
( NAME = ‘Banco_de_Dados_Compras’, 
FILENAME = ‘Path\Compras.mdf’ , SIZE = 7000KB , FILEGROWTH = 1024KB ) 
LOG ON 
( NAME = ‘Banco_de_Dados_Compras_log, 
FILENAME = ‘Path\Compras_log.ldf’ , SIZE = 2048Kb , FILEGROWTH = 10%) 
A - O nome Lógico do Banco de Dados é Banco_de_Dados_Compras e o nome físico Compras, 
e o nome lógico da LOG é Banco_de_Dados_Compras_logResposta correta 
B - O nome Lógico do Banco de Dados é Compras e o nome físico 
Banco_de_Dados_Compras e o nome lógico da LOG é Banco_de_Dados_Compras_log 
C - O nome Lógico do Banco de Dados é Banco_de_Dados_Compras e o nome físico Compras, 
e o nome lógico da LOG é Compras_log 
D - O nome Lógico do Banco de Dados é Banco_de_Dados_Compras e o nome físico 
Banco_de_Dados_Compras e o nome lógico da LOG é Compras_log 
E - O nome Lógico do Banco de Dados é Compras e o nome físico 
Banco_de_Dados_Compras, e o nome lógico da LOG é Compras_log 
 
Questão 10 de 10 
Existe no banco de dados duas tabelas, a tabela Colaboradores e a tabela Dependentes, onde 
tem-se as seguintes definições : Tabela Colaborador ( Id_colaborador, nome_col, 
idade_col) e tabela Dependentes ( id_dependente, id_colaborador, 
nome_depen,idade_depen). Deseja-se elaborar um relatório 
uma consulta SQL para gerar um resultado com todos os funcionários e, para cada 
funcionário, o seu nome, o nome do dependente (ou null se não houver dependente) e idade 
do dependente. 
Essa consulta será: 
A - SELECT Nome_col, Nome_Depen, idade_depen FROM Colaborador, Dependentes WHERE 
Colaborador.ID_colaborador = Dependentes.ID_colaborador; 
B - SELECT Nome_col,Nome_Depen, idade_depen FROM Dependentes, colaborador WHERE 
Dependentes.ID_colaborador = colaborador.ID_colaborador; 
C - SELECT Nome_col,Nome_Depen, idade_depen FROM colaborador INNER JOIN 
Dependentes ON colaborador.ID_colaborador = Dependentes.ID_colaborador; 
D - SELECT Nome_col,Nome_Depen, idade_depen FROM colaborador RIGHT JOIN 
Dependentes ON colaborador.ID_colaborador = Dependentes.ID_colaborador; 
E - SELECT Nome_col,Nome_Depen, idade_depen FROM colaborador LEFT JOIN Dependentes 
ON colaborador.ID_colaborador = Dependentes.ID_colaborador; Resposta correta

Outros materiais