Buscar

Softblue - Relacionamentos e Visões

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

Prévia do material em texto

21/06/2022 01:14 Softblue
https://www.softblue.com.br/course/submittest 1/4
ÁREA DO ALUNO
Início Meus cursos Minhas trilhas Meus pedidos Meus dados Atendimento Sair
SQL Completo
Avaliação
1) Sobre visões é correto afirmar: 
* Marque todas as alternativas que respondem o enunciado da questão
São comandos SELECT pré-programados para ficarem disponíveis no banco de dados.
(alternativa correta)
É possível construir visões de relacionamento entre tabelas (JOINS). (alternativa correta)
Ao realizar um comando DELETE em uma visão, ele é propagado para deletar os dados das
tabelas que compõem a visão. (alternativa incorreta)
Não armazenam dados. (alternativa correta)
Visões ocupam muito espaço em disco, por isso devem ser utilizada com moderação.
(alternativa incorreta)
 
Resposta incorreta! 
Visões não armazenam dados, por isso não ocupam espaço em disco. São
comandos SELECT pré-programados, podendo utilizar JOINS para a montagem de
visões. Um comando DELETE em uma visão não é executado, e não é propagado para as
tabelas que compõem a visão, pois uma visão não é uma tabela, mas sim, uma expressão
SELECT apenas.
2) Com base nas duas tabelas apresentadas abaixo, quantas linhas terá a tabela resultado da
expressão SQL LEFT JOIN existente logo após as tabelas?
4 (alternativa incorreta)
5 (alternativa correta)
3 (alternativa incorreta)
Nenhuma das alternativas. (alternativa incorreta)
01 Tabela INSTRUTORES: Tabela CURSOS:
02 ------------------- ------------------
03 ID | NOME ID | INS | TITULO
04 1 | André 1 | 1 | Java
05 2 | Carlos 2 | NULL | PHP
06 3 | Samuel 3 | 1 | MySQL
07 4 | Fábio 4 | 3 | SQL
08 5 | 2 | C++
09 
10 SELECT * FROM INSTRUTORES LEFT JOIN CURSOS ON INSTRUTORES.ID = CURSOS.INS;
21/06/2022 01:14 Softblue
https://www.softblue.com.br/course/submittest 2/4
2 (alternativa incorreta)
 
Resposta correta! 
Ao todo 5 linhas serão retornadas na tabela resultado, pois para cada um dos
registros da tabela INSTRUTORES (tabela que está no lado esquerdo da expressão
SQL) existirá um registro na tabela resultado, independente dos registros terem
correspondente na tabela CURSOS. Isso quer dizer que o registro do instrutor Fábio aparece na
tabela resposta, mesmo sem cursos correspondentes. A instrução LEFT JOIN apresenta
TODOS os registros da tabela a esquerda (LEFT) apresentada no comando, incluindo aqueles
que tenham mais de um relacionamento com a outra tabela. Observe que o registro do
instrutor André aparece duas vezes na tabela resultado, pois dois registros correspondentes
existem para seu ID na tabela CURSOS. O registro do curso de PHP não aparece nesta tabela
resultado, mas apareceria se a instrução fosse RIGHT JOIN, que neste caso traria todos os
registros da tabela a direita, independente de haver relacionamentos com a outra tabela.
3) Com base nas duas tabelas apresentadas abaixo, quantas linhas terá a tabela resultado da
expressão SQL RIGHT JOIN existente logo após as tabelas?
2 (alternativa incorreta)
4 (alternativa incorreta)
Nenhuma das alternativas. (alternativa incorreta)
5 (alternativa correta)
3 (alternativa incorreta)
 
Resposta correta! 
Ao todo 5 linhas serão retornadas na tabela resultado, pois para cada um dos
registros da tabela CURSOS (tabela que está no lado direito da expressão SQL)
existirá um registro na tabela resultado, independente dos registros terem correspondente na
tabela INSTRUTORES. A instrução RIGHT JOIN apresenta TODOS os registros da tabela a direita
(RIGHT) apresentada no comando, incluindo aqueles cujo campo de relacionamento com a
outra tabela esteja nulo. Observe que o registro do instrutor André aparece duas vezes na
tabela resultado, pois dois registros correspondentes existem para seu ID na tabela CURSOS, e
que no caso do registro do curso PHP, que apresenta o valor NULL na coluna INS, também
aparece na tabela resultado, mas não apareceria se a tabela CURSOS estivesse no lado
esquerdo da instrução RIGHT JOIN.
4) Suponha uma tabela LIVROS e a tabela USUARIOS, e suponha o relacionamento entre elas onde
o campo EMPRESTOU_ID da tabela LIVROS representa o valor do campo ID da tabela USUARIOS,
armazenando o ID do usuário que emprestou o livro da biblioteca, ou então o valor NULL no caso
01 Tabela INSTRUTORES: Tabela CURSOS:
02 ------------------- ------------------
03 ID | NOME ID | INS | TITULO
04 1 | André 1 | 1 | Java
05 2 | Carlos 2 | NULL | PHP
06 3 | Samuel 3 | 1 | MySQL
07 4 | Fábio 4 | 3 | SQL
08 5 | 2 | C++
09 
10 SELECT * FROM INSTRUTORES RIGHT JOIN CURSOS ON INSTRUTORES.ID = CURSOS.INS;
21/06/2022 01:14 Softblue
https://www.softblue.com.br/course/submittest 3/4
do livro estar disponível na biblioteca. Qual a melhor forma de construir um SELECT de união
entre estas tabelas, visando trazer os dados de todos os livros e de todos os usuários,
independente se os livros estão locados ou não?
SELECT * FROM LIVROS RIGHT JOIN JOIN USUARIOS ON LIVROS.EMPRESTOU_ID =
USUARIOS.ID (alternativa incorreta)
Nenhuma das alternativas. (alternativa incorreta)
SELECT * FROM LIVROS FULL JOIN USUARIOS ON LIVROS.EMPRESTOU_ID = USUARIOS.ID
(alternativa correta)
SELECT * FROM LIVROS LEFT JOIN USUARIOS ON LIVROS.EMPRESTOU_ID = USUARIOS.ID
(alternativa incorreta)
SELECT * FROM LIVROS INNER JOIN USUARIOS ON LIVROS.EMPRESTOU_ID = USUARIOS.ID
(alternativa incorreta)
 
Resposta correta! 
Para que os registros de ambas as tabelas constem no resultado, é necessário que
um FULL JOIN seja utilizado garantindo que todos os registros, mesmo os sem
relacionamento entre as tabelas devido ao campo EMPRESTOU_ID sejam apresentados.
5) Com base nas duas tabelas apresentadas abaixo, quantas linhas terá a tabela resultado da
expressão SQL FULL JOIN existente logo após as tabelas?
6 (alternativa correta)
3 (alternativa incorreta)
4 (alternativa incorreta)
Nenhuma das alternativas. (alternativa incorreta)
5 (alternativa incorreta)
 
Resposta incorreta! 
Ao todo 6 linhas serão retornadas na tabela resultado, pois para cada um dos
registros da tabela CURSOS (tabela que está no lado direito da expressão SQL)
existirá um registro na tabela resultado, independente dos registros terem correspondente na
tabela INSTRUTORES contabilizando cinco linhas, e mais uma do registro do instrutor Fábio que
não possui correspondente na tabela CURSOS.
Retornar para a página do curso (/course/home/id/3)
 
01 Tabela INSTRUTORES: Tabela CURSOS:
02 ------------------- ------------------
03 ID | NOME ID | INS | TITULO
04 1 | André 1 | 1 | Java
05 2 | Carlos 2 | NULL | PHP
06 3 | Samuel 3 | 1 | MySQL
07 4 | Fábio 4 | 3 | SQL
08 5 | 2 | C++
09 
10 SELECT * FROM INSTRUTORES FULL JOIN CURSOS ON INSTRUTORES.ID = CURSOS.INS;
https://www.softblue.com.br/course/home/id/3
21/06/2022 01:14 Softblue
https://www.softblue.com.br/course/submittest 4/4
Sobre Nós (/site/quemsomos)
Blog (Fire in the Code) (/blog)
Certificado (/site/certificados)
Dúvidas Frequentes (/site/perguntasfrequentes)
Formas de Pagamento (/site/formaspagamento)
Planos Empresariais (/site/planosempresariais)
Contato (/site/contato)
(/site/certificados) (/site/garantia)
 (https://www.facebook.com/softbluecursos) 
(https://www.instagram.com/softbluecursos) (https://www.youtube.com/softbluecursos)
CNPJ 06.860.085/0001-64 
Política de Privacidade (/site/politicaprivacidade)
© Softblue
https://www.softblue.com.br/site/quemsomos
https://www.softblue.com.br/blog
https://www.softblue.com.br/site/certificados
https://www.softblue.com.br/site/perguntasfrequentes
https://www.softblue.com.br/site/formaspagamento
https://www.softblue.com.br/site/planosempresariais
https://www.softblue.com.br/site/contato
https://www.softblue.com.br/site/certificadoshttps://www.softblue.com.br/site/garantia
https://www.facebook.com/softbluecursos
https://www.instagram.com/softbluecursos
https://www.youtube.com/softbluecursos
https://www.softblue.com.br/site/politicaprivacidade

Continue navegando