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 Em SQL o comando que insere dados em tabelas é o 'insert', e tem características específicas de utilização, observe o modelo abaixo, para poder aplicar o comando : image.png 14.61 KBFaça uma inclusão do seguinte registro : Pedro Paulo da Silva, com cpf 34343434343, salario R$ 4500,00, cargo de gerente e divisão 8 e idade 35 anos. A - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 4500, 8)check_circleResposta correta B - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values ('34343434343','Pedro Paulo da Silva', 4500, 8)cancelRespondida C - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 14500', 8) D - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', '4500', '8') E - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 4500, '8') Questão 2 de 10 A restrição é uma forma de garantir a integridade dos dados e aplicação de regras nos atributos. Podem ser aplicadas de diversas formas. Analise o código abaixo : Use DbAluno Go Create table Aluno (CPF Numeric (11) not null constraint pk_ cpf primary key, Nome varchar(50) not null, Dt_Nasc date not null, Gênero char(1) constraint ck_sexo check (sexo in (‘F’,’M’)), ) O que podemos afirmar : A - A restrição check não aceita null B - A restrição check aceita null C - A restrição check aceita apenas 'M' ou 'F'check_circleResposta correta D - A restrição check não aplica regras de negócio E - A restrição check apenas válida null e not nullcancelRespondida Questão 3 de 10 O modelo abaixo apresenta o relacionamento da tabela Funcionario e a tabela Divisao, onde dados de cada tabela podem ser consultados e atualizados e para isto deve-se utilizar comandos específicos para integrar estes dados nas duas tabelas para compor o resultado esperado : image.png 14.61 KBFaça um comando em SQL para atualizar o funcionario Joao das Neves com o cpf 23232323232 e divisao comercial. A atualização é no nome que agora será Joao das Neves Junior, e salario de R$ 3.839,00. A - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = 3839 where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' and cpf = '23232323232'check_circleResposta correta B - update funcionário set nome_fun = Joao das Neves Junior , salario = 3839 where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' and cpf is null C - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = '3839' where funcionário.id_divisao = divisão.id_divisao and nome_div = comercial and cpf = '232323232' D - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = '3839' where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial'cancelRespondida E - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = 3839,00 where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' Questão 4 de 10 Restrição é uma forma de garantir integridade aos dados através de aplicação de regras nos atributos. Há diversas formas de utilizar restrição. Analise o código Use DbCliente Go Create table Cliente (CPF Numeric (11) not null constraint pk_ cpf primary key, Nome varchar(100) not null, Endereco varchar(100) not null, Complemento varchar(100), Dt_Nasc date not null, Gênero char(1) constraint ck_sexo check (sexo in (‘F’,’M’)), Fone char (15), Celular char (15) ) O que podemos afirma sobre este código : A - Todos os atributos podem ter nulos B - Os atributos que não podem ser nulos são CPf e Gênero C - atributos que não podem ser nulo é CPf check_circleResposta correta D - Os atributos que tem que não tem not null podem aceitar nulos E - Os atributos que tem que tem not null podem aceitar quaisquer tipos de dadoscancelRespondida Questão 5 de 10 Em sql existe dois comandos para excluir registros, o delete e truncate. O que podemos afirmar sobre estes comandos : A - O comando truncate e delete tem a mesma função : excluir B - O comando delete tem a função excluir em quanto o truncate raramente C - O comando truncate não grava log, o comando delete grava logcheck_circleResposta correta D - O comando truncate grava log, o comando delete não grava log E - O comando truncate grava log, o comando delete grava log Questão 6 de 10 Existem vários tipos de dados para utilização em uma estrutura de tabela. Três tipos de dados que causam conflitos e dor de cabeça é date, datetime e time, pois as representações destes necessitam ser adaptadas de acordo com as exigências de representação do atributo e características regionais e regras de negócios. O que podemos afirmar sobre este tipo de dados : A - Date é muito usado para datas e transações, enquanto datetime não é muito utilizado e time apenas mostra a marcação de data e tempo B - Datetime é muito usado para datas e transações, enquanto datetime para transações e time apenas mostra a data marcação de tempocancelRespondida C - Datetime é muito usado para datas , enquanto date para transações e time apenas mostrando a marcação de data e tempo D - Date é muito usado para datas , enquanto datetime para transações e time apenas mostra a marcação de tempocheck_circleResposta correta E - Date é muito usado para datas e transações, enquanto datetime para transações e time apenas mostra a marcação de tempo Questão 7 de 10 Na criação de uma tabela podemos criar restrições nos atributos para garantir a integridade dos dados e dos relacionamentos, o que podemos afirmar sobre restrições nas alternativas : A - chave primária, chave estrangeira, check, unique , nonunique B - chave primária, chave estrangeira, check, unique check_circleResposta correta C - chave primária e chave estrangeira D - chave primária,check, unique , nonunique E - chave primária, chave estrangeira, unique , nonunique 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) check_circleResposta 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 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 divisaocheck_circleResposta 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ãocancelRespondida 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 10 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 menosmemó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. check_circleResposta correta Exercício de Banco de Dados - Exercício de Fixação 2 - Tentativa 2 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. check_circleResposta correta Questão 2 de 10 As Junções (JOIN), são formas de podermos selecionar dados de várias tabelas de acordo com as regras de negócio e capacidade do modelo de dados, analise as afirmações . I. A junção é usada para combinar registros relacionados em duas tabelas dentro de uma única. II. As junções podem ser criadas fazendo o sequenciamento das operações, ou pode-se aplicar uma operação por vez e criar relação dos resultados intermediários. III. As junções são muito importantes quando trabalha-se com mais de uma tabela, pois permite processar os relacionamentos entre as tabelas. IV. Na junção apenas as combinações de registros que satisfazerem a condição serão mostrados no resultado, enquanto, no produto Cartesiano, todas as combinações de registros serão incluídas no resultado. A - Apenas I. B - Apenas I, II e III. C - Apenas I, III e IV. check_circleResposta correta D - Apenas II, III e IV E - I, II, III e IV. Questão 3 de 10 A cláusula group by é muito utilizado para podermos fazer agregação de informações, contudo muitas vezes precisamos aplicar algum critério para refinar o resultado, com qual cláusula podemos fazer isto : A - where e having B - where C - havingcheck_circleResposta correta D - like E - as Questão 4 de 10 Os comandos SQL utilizam as metodologias e são direcionadas pelas operações de Álgebra relacional, com base nesta afirmação, podemos concluir : A - As principais operações da Álgebra Relacional são : projeção, seleção e uniãocheck_circleResposta correta B - As principais operações da Álgebra Relacional são : projeção e seleção C - As principais operações da Álgebra Relacional são : projeção e uniãocancelRespondida D - As principais operações da Álgebra Relacional são : seleção e união E - As principais operações da Álgebra Relacional são : inserção, atualização e deleção. Questão 5 de 10 Em SQL o comando que insere dados em tabelas é o 'insert', e tem características específicas de utilização, observe o modelo abaixo, para poder aplicar o comando : image.png 14.61 KBFaça uma inclusão do seguinte registro : Pedro Paulo da Silva, com cpf 34343434343, salario R$ 4500,00, cargo de gerente e divisão 8 e idade 35 anos. A - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 4500, 8)check_circleResposta correta B - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values ('34343434343','Pedro Paulo da Silva', 4500, 8) C - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 14500', 8) D - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', '4500', '8') E - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 4500, '8') Questão 6 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) check_circleResposta 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 7 de 10 O modelo abaixo apresenta o relacionamento da tabela Funcionario e a tabela Divisao, onde dados de cada tabela podem ser consultados e atualizados e para isto deve-se utilizar comandos específicos para integrar estes dados nas duas tabelas para compor o resultado esperado : image.png 14.61 KBFaça um comando em SQL para atualizar o funcionario Joao das Neves com o cpf 23232323232 e divisao comercial. A atualização é no nome que agora será Joao das Neves Junior, e salario de R$ 3.839,00. A - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = 3839 where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' and cpf = '23232323232'check_circleResposta correta B - update funcionário set nome_fun = Joao das Neves Junior , salario = 3839 where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' and cpf is null C - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = '3839' where funcionário.id_divisao = divisão.id_divisao and nome_div = comercial and cpf = '232323232' D - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = '3839' where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' E - update funcionário set nome_fun = ' Joao das Neves Junior' , salario = 3839,00 where funcionário.id_divisao = divisão.id_divisao and nome_div = 'comercial' Questão 8 de 10 A instrução JOIN em SQL é utilizada para consultar informações de duas ou mais tabelas, baseadas em relações entre colunas destas tabelas. Um dos tipos de JOIN é o INNER JOIN que retorna linhas. A - não importando a correspondência entre as tabelas, criando uma relação entre as linhas e colunas. B - quando existir correspondência em apenas uma das tabelas. C - não importando a correspondência entre as tabelas, criando uma relação entre as linhas, apenas. D - não importando a correspondência entre as tabelas, criando uma relação entre as colunas, apenas. E - quando existir ao menos uma correspondência em ambas as tabelas. check_circleResposta correta Questão 9 de 10 Na criação de uma tabela podemos criar restrições nos atributos para garantir a integridade dos dados e dos relacionamentos, o que podemos afirmar sobre restrições nas alternativas : A - chave primária, chave estrangeira, check, unique , nonunique B - chave primária, chave estrangeira, check, unique check_circleResposta correta C - chave primária e chave estrangeira D - chave primária,check, unique , nonunique E - chave primária, chave estrangeira, unique , nonunique Questão 10 de 10 O modelo abaixo representa o relacionamento da tabela de funcionário e tabela divisão, onde podemos usar funções agregadas para explorar os dados que estão armazenados e trazer resultados de consultas com informações mais elaboradas para suporte a decisão. image.png 14.61 KBQual o comando de exclusão dos funcionarios que ganham mais do que os funcionarios da divisao do financeiro no modelo acima ? A - deleteFROM funcionario WHERE funcionario.id_divisao = divisao.id_divisao and SALARIO > MAX(SALARIO) AND nome_div= 'financeiro' B - delete FROM funcionario WHERE funcionario.id_divisao = divisao.id_divisao and SALARIO > (SELECT MAX (SALARIO) FROM funcionario WHERE nome_div= 'financeiro'); check_circleResposta correta C - delete FROM funcionario WHERE SALARIO > (SELECT MAX (SALARIO) FROM funcionario WHERE nome_div = 'financeiro'); D - delete FROM funcionario WHERE SALARIO > (SELECT MAX (SALARIO) FROM funcionario ) AND nome_div 'financeiro'; E - delete FROM funcionario WHERE SALARIO > MAX(SALARIO) AND nome_div= 'financeiro'; Exercício de Banco de Dados - Exercício de Fixação 2 - Tentativa 3 de 3 Questão 1 de 10 A instrução JOIN em SQL é utilizada para consultar informações de duas ou mais tabelas, baseadas em relações entre colunas destas tabelas. Um dos tipos de JOIN é o INNER JOIN que retorna linhas. A - não importando a correspondência entre as tabelas, criando uma relação entre as linhas e colunas. B - quando existir correspondência em apenas uma das tabelas. C - não importando a correspondência entre as tabelas, criando uma relação entre as linhas, apenas. D - não importando a correspondência entre as tabelas, criando uma relação entre as colunas, apenas. E - quando existir ao menos uma correspondência em ambas as tabelas. Questão 2 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 Questão 3 de 10 As Junções (JOIN), são formas de podermos selecionar dados de várias tabelas de acordo com as regras de negócio e capacidade do modelo de dados, analise as afirmações . I. A junção é usada para combinar registros relacionados em duas tabelas dentro de uma única. II. As junções podem ser criadas fazendo o sequenciamento das operações, ou pode-se aplicar uma operação por vez e criar relação dos resultados intermediários. III. As junções são muito importantes quando trabalha-se com mais de uma tabela, pois permite processar os relacionamentos entre as tabelas. IV. Na junção apenas as combinações de registros que satisfazerem a condição serão mostrados no resultado, enquanto, no produto Cartesiano, todas as combinações de registros serão incluídas no resultado. A - Apenas I. B - Apenas I, II e III. C - Apenas I, III e IV. D - Apenas II, III e IV E - I, II, III e IV. Questão 4 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 Questão 5 de 10 O modelo abaixo representa o relacionamento da tabela funcionário com a tabela divisão. A consulta de dados das duas tabelas podem ser feitos para comporem um resultado mais eficiente para o suporte a decisão. image.png 12.46 KB Qual SQL fornece a consulta com : nome do funcionario, cpf, nome da divisão, para funcionários da divisão de contabilidade. A - SELECT CPF, NOME_FUN, CPF, NOME_DIV FROM FUNCIONARIO,DIVISAO WHERE FUNCIONARIO.ID_DIVISAO = DIVISÃO.ID_DIVISAO AND DIVISAO.NOME_DIV = 'CONTABILIDADE'check_circleResposta correta B - SELECT CPF, NOME_FUN, CPF, NOME_DIV FROM FUNCIONARIO,DIVISAO WHERE FUNCIONARIO.ID_DIVISAO = DIVISÃO.ID_DIVISAO C - SELECT CPF, NOME_FUN, CPF, NOME_DIV FROM FUNCIONARIO WHERE FUNCIONARIO.ID_DIVISAO = DIVISÃO.ID_DIVISAO AND DIVISAO.NOME_DIV = 'CONTABILIDADE'cancelRespondida D - SELECT CPF, NOME_FUN, CPF, NOME_DIV FROM DIVISAO WHERE FUNCIONARIO.ID_DIVISAO = DIVISÃO.ID_DIVISAO AND DIVISAO.NOME_DIV = 'CONTABILIDADE' E - SELECT CPF, NOME_FUN, CPF, NOME_DIV FROM FUNCIONARIO,DIVISAO WHERE FUNCIONARIO.ID_DIVISAO = DIVISÃO.ID_DIVISAO AND DIVISAO.NOME_DIV = 'CONTAB' Questão 6 de 10 Em SQL o comando que insere dados em tabelas é o 'insert', e tem características específicas de utilização, observe o modelo abaixo, para poder aplicar o comando : image.png 14.61 KBFaça uma inclusão do seguinte registro : Pedro Paulo da Silva, com cpf 34343434343, salario R$ 4500,00, cargo de gerente e divisão 8 e idade 35 anos. A - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 4500, 8)check_circleResposta correta B - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values ('34343434343','Pedro Paulo da Silva', 4500, 8) C - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 14500', 8) D - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', '4500', '8') E - insert into funcionário (cpf, nome_fun, idade, salario,cargo, id_divisao) values (34343434343,'Pedro Paulo da Silva', 4500, '8') Questão 7 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 logcheck_circleResposta correta C - excluir registros como o delete de forma igual D - excluir registros com problemas E - excluir registros com defeitos fisicamente Questão 8 de 10 A cláusula group by é muito utilizado para podermos fazer agregação de informações, contudo muitas vezes precisamos aplicar algum critério para refinar o resultado, com qual cláusula podemos fazer isto : A - where e having B - where C - havingcheck_circleResposta correta D - like E - as Questão 9 de 10 Analise o código abaixo sobre a criação da tabela de compras e produtos : Create table Compras ( id_compras primary key int, id_produto int foreign key (Produtos) references id_produto(ID_produto), nome_produto char (50) unique) Create table Produtos (ID_produto primary key, nome produto char(50) null) O que podemos afirmar sobre estas estruturas de chave primária e estrangeira e suas restrições : A - A tabela tem chave primaria em id_compras e chave estrangeira em id_produto na tabela de produtocheck_circleResposta correta B - o atributo nome_produto pode se repetir C - A tabela tem chave primaria em id_compras onde pode conter nulo D - o atributo nome_produto não pode ser nulo E - O atributo ID_produto pode conter nulo Questão 10 de 10 A chave estrangeira é de vital importância para um modelo relacional, denotando integridade referencial, o que podemos afirmar : A - Chave estrangeira faz o mesmo papel de chave primária B - Chave estrangeira faz o relacionamento aplicando integridade entre as tabelascheck_circleResposta correta C - Chave estrangeira faz o relacionamento, mas não aplica integridade entre as tabelascancelRespondida D - Chave estrangeira faz apenas apontamento para outra tabela E - Chaveestrangeira aceita nulo.