Baixe o app para aproveitar ainda mais
Prévia do material em texto
IMPLEMENTAÇÃO DE BANCO DE DADOS Lupa Calc. CCT0835_A1_202008391881_V1 Aluno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Álgebra Relacional é o conjunto de operações sobre modelos relacionais de dados. Referente as operações de álgebra relacional, relacione cada uma com os objetivos apresentados a seguir. 1. Seleção 2. Projeção 3. Produto Cartesiano 4. Junção ( ) É utilizada para selecionar um subconjunto de tuplas de uma relação. ( ) Seleciona um conjunto determinado de colunas de uma relação. ( ) É uma operação binária que combina todas as tuplas de duas relações. ( ) O resultado conterá apenas as tuplas que se relacionam de acordo com uma determinada condição. A relação correta entre as camadas e as características, de cima para baixo, é: 1, 3, 4, 2 1, 2, 4, 3 2, 1, 4, 3 1, 2, 3, 4 2, 1, 3, 4 2. 3. Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação. União Junção Diferença Interseção Projeção 4. Considere a consulta em álgebra relacional aplicada sobre as relações Cliente e Pedido, conforme a seguir: Dessa forma, pode-se afirmar que o resultado será: O código do vendedor dos pedidos realizados pelo cliente de nome 3021 O nome do vendedor, o nome do cliente 3021 e o código de seu pedido Os nomes dos vendedores e o nome do cliente dos pedidos cujo cliente possui código 3021 Os códigos dos vendedores dos pedidos realizados pelo cliente 3021 Os nomes dos vendedores, o nome do cliente 3021 e os códigos de seus pedidos 5. Sobre Álgebra Relacional é possível afirmar que: é o operador da Junção, usado quando se deseja identificar a chave primária e a chave estrangeira das consultas é o operador de Projeção, usado quando se quer restringir o número de linhas O Produto Cartesiano é a concatenação de cada linha da primeira consulta com todas as linhas da segunda consulta A união só poderá ocorrer quando houver, nas duas consultas, o mesmo número de linhas é o operador de Seleção, usado quando se quer restringir o número de colunas 6. Uma imobiliária possui um banco de dados com informações de clientes e imóveis. Entre as tabelas do sistema existem as tabelas abaixo: Analise a expressão da álgebra relacional: O resultado da expressão acima retorna Explicação: O produto cartesiano retornará uma combinação de todas as linhas das tabelas envolvidas: A seleção atuará e retornará somente as linhas cujo estado = RJ. A projeção atuará e retornará somente as colunas nome e tipo. 7. Considere a seguinte tabela criada: Aluno {matricula, nome, email} Marque a alternativa que representa em Álgebra Relacional, a PROJEÇÃO apenas do nome do aluno cuja matrícula é 0364. 8. A operação da álgebra relacional que recupera linhas em uma tabela é denominada: Projeção Junção Seleção Produto cartesiano Diferença IMPLEMENTAÇÃO DE BANCO DE DADOS Lupa Calc. CCT0835_A2_202008391881_V1 Aluno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Em um banco de dados, que comando SQL é utilizado para eliminar uma tabela? DELETE ALTER UPDATE DROP INSERT 2. São comandos da categoria de Manipulação de Dados (DML): INSERT / UPDATE / DELETE SELECT GRANT / REVOKE CREATE / ALTER / DROP COMMIT / ROLLBACK 3. (PRODEST-ES/2014) Sobre a chave primária de uma tabela de um banco de dados relacional, é correto afirmar que: pode ser composta por mais de um atributo. não há chave primária em tabelas com até 100 registros. não pode conter atributos do tipo textual. pode conter, no máximo, três atributos. não pode conter atributos do tipo numérico. 4. Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela "Alunos", segundo o seguinte esquema de banco de dados: Alunos(matricula, nome, endereco, cod_curso) Cursos(codigo, nome) Admitindo que os campos "matricula" e "codigo" são chaves primárias de suas tabelas e que o campo "cod_curso" é chave estrangeira da tabela "Cursos" na tabela "Alunos". create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (codigo) references Cursos(cod_curso) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (nome), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) 5. A constraint Foreign Key possui no SQL Ansi quais regras? On Delete Cascade / On Delete Restrict / On Update Cascade / On Update Delete On Delete Cascade / On Delete Set Null / On Update Cascade / On Update Set Null On Delete Set Null / On Delete Restrict / On Update Set Null / On Update Delete On Delete Set Null / On Delete Set Default / On Update Set Null / On Update Set Default On Delete Cascade / On Delete Restrict / On Delete Set Null / On Update Cascade / On Update Delete / On Update Set Null 6. (PRODEST-ES/2014) Assinale a alternativa que contém a consulta SQL correta para excluir, da tabela T, os registros cujos valores do campo numérico B estejam compreendidos entre 20 e 40. DELETE T.B AND B >= 20 AND B <= 40 DELETE T FOR B BETWEEN 20 AND 40 DELETE T HAVING B INTO 20 AND 40 DELETE B FROM T B >= 20 AND B <= 40 DELETE FROM T WHERE B BETWEEN 20 AND 40 7. Uma imobiliária está criando um banco dedados específico para aluguel de imóveis por temporada. A primeira tabela a ser criada no banco de dados é a tabela TipoImovel, representada pela figura: Sabendo-se que o atributo NomeTipoImovel é obrigatório, assinale qual das alternativas abaixo cria esta tabela corretamente no banco de dados: CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50)) CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50), Primary Key (CodTipoImovel)) CREATE TABLE TipoImovel (CodTipoImovel INTEGER, PRIMARY KEY, NomeTipoImovel VARCHAR (50) NOT NULL) CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL, Primary Key (CodTipoImovel)) CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL) 8. Considere o modelo de banco de dados abaixo: medico (CRM, NomeMedico, Idade,Cidade,Especialidade); paciente (Ident,NomePaciente,Idade,Cidade,Doenca); consulta (Ident, CRM, Data, Hora); Qual alternativa altera a idade do paciente "Fulano de tal"?. update paciente where nomePaciente="Fulano de tal" insert into paciente (idade) values (25) where nomePaciente="Fulano de tal" alter paciente set idade=25 alter paciente set idade=25 where nomePaciente="Fulano de tal" update paciente set idade=25 where nomePaciente="Fulano de tal" IMPLEMENTAÇÃO DE BANCO DE DADOS Lupa Calc. CCT0835_A3_202008391881_V1 Aluno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Considere a relação abaixo: AUTOMÓVEL (placa, fabricante, modelo, cor, data_de_fabricação) A consulta SQL que responde a questão "Liste todos os automóveis (placa, modelo, cor) fabricados pela VW ou pela Fiat" é: SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IS (VW, FIAT); SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN (VW, FIAT); Nenhuma das resposta acima. SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE BETWEEN VW AND FIAT; SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE = VW AND FABRICANTE = FIAT; 2. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar apenas o nome completo do Empregado que atende ao Cliente ¿Ponto Quente¿. SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE E.VENDEDOR = C.ID AND C.NOME=' Ponto Quente'; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.VENDEDOR = E.ID AND C.NOME=' Ponto Quente'; SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.VENDEDOR = E.ID AND C.NOME= 'Ponto Quente'; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO C, CLIENTE E WHERE C.VENDEDOR = E.ID AND C.NOME=' Ponto Quente'; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.NOME='Ponto Quente'; 3. Considere a seguinte consulta SQL:SELECT XXX A FROM TAB.Para que não haja repetições nos valores obtidos como resposta para o atributo A, XXX deve ser substituído por: SINGLE DISTINCT LIKE IN ALL 4. SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A; SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A; SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; 5. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Assinale em qual das consultas abaixo são selecionados nomes populares de tubarões, sem repetição, que foram capturados com temperatura da água igual a 25 e 27 graus: SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27); SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA NOT BETWEEN 25 AND 27; SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27); SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA BETWEEN 25 AND 27; SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA = 25 AND 27; 6. Considere a consulta a seguinte: Marque a alternativa que representa o script equivalente em SQL: SELECT matricula = 0364 FROM aluno WHERE nome; SELECT aluno WHERE matricula = 0364; SELECT * FROM aluno WHERE nome, matricula = 0364; SELECT aluno FROM nome WHERE matricula = 0364; SELECT nome FROM aluno WHERE matricula = 0364; 7. As três cláusulas de uma consulta SQL são: select, initial, final. select, from, where. start, from, who. start, from, to. select, up, what. 8. ALUNO (cpf : string , nome : string , endereco : string, telefone : string) MATRICULA (cpf : string , cod-cad : string) CADEIRA (cod-cad : string , nome : string , creditos : number) Qual o comando SQL que obtém apenas os nomes de todos os alunos? LIST nome FROM ALUNO SELECT nome FROM ALUNO SELECT * FROM ALUNO WHERE nome IS STRING LIST * FROM ALUNO SELECT nome WHERE ALUNO IMPLEMENTAÇÃO DE BANCO DE DADOS Lupa Calc. CCT0835_A4_202008391881_V1 Aluno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. DELETE FROM ALUGUEL WHERE CODANUNCIO IS NOT NULL DELETE ALL FROM ALUGUEL WHERE CODANUNCIO IS NULL DELETE FROM ALUGUEL WHERE CODIMOVEL IS NOT NULL DELETE * FROM ALUGUEL WHERE CODANUNCIOIS NULL DELETE ALL FROM ALUGUEL WHERE CODIMOVEL IS NULL 2. O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: Projeção e União Seleção e Diferença Seleção e Junção União e Interseção Seleção e Projeção 3. Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta: Nenhuma das respostas anteriores. A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY. O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário. O predicado LIKE é um predicado com operações de boleanos. O predicado IS NULL faz a checagem de valores zerados. 4. Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN 15/11/2014 AND 16/11/2014;": SELECT * FROM TCC WHERE DTDEFESA IN (15/11/2014 AND 16/11/2014); SELECT * FROM TCC WHERE DTDEFESA IN (15/11/2014,16/11/2014); SELECT * FROM TCC WHERE DTDEFESA = 15/11/2014 AND 16/11/2014; SELECT * FROM TCC WHERE DTDEFESA => 15/11/2014 AND <= 16/11/2014; SELECT * FROM TCC WHERE DTDEFESA > 15/11/2014 AND < 16/11/2014; 5. SELECT DISTINCT * FROM Imovel SELECT DISTINCT ALL NumQuartos FROM Imovel SELECT * NumQuartos FROM Imovel SELECT ALL NumQuartos FROM Imovel SELECT DISTINCT NumQuartos FROM Imovel 6. O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: DELETE FROM Aluno WHERE nome=M. DELETE FROM Aluno DELETE FROM Aluno WHERE nome SUCH %M. DELETE FROM Aluno WHERE nome LIKE M%. DELETE FROM Aluno WHERE nome LIKE G%. 7. Durante uma consulta SQL, utilizando o comando select, é possível selecionar linhas que se assemelham em uma determinada porção de uma string. Qual é o operador utilizado para esse tipo de seleção? Operador de Listas(in) Operador de comparação (=,>,<) Operador de indisponibilidade (maybe) Operador de Intervalos (between) Operador de Caracteres semelhantes (like) 8. Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2015 até o dia de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA IN (21/11/2016, 22/11/2016);": SELECT * FROM TCC WHERE DTDEFESA = 21/11/2016 AND 22/11/2016; SELECT * FROM TCC WHERE DTDEFESA BETWEEN 21/11/2016 AND 22/11/2016; SELECT * FROM TCC WHERE DTDEFESA > 21/11/2016 AND < 22/11/2016; SELECT * FROM TCC WHERE DTDEFESA BETWEEN (21/11/2016; 22/11/2016); SELECT * FROM TCC WHERE DTDEFESA => 21/11/2016 AND <= 22/11/2016; luno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Observe a tabela empregado: Qual será o resultado se executarmos a consulta abaixo: Niterói, Rio de Janeiro, Santos Niterói, Rio de Janeiro, Santos, São Paulo Niterói, Rio de Janeiro, Santos, Santos, São Paulo São Paulo, Santos, Rio de Janeiro, Niterói São Paulo, Santos, Santos, Rio de Janeiro, Niterói 2. Quando usar o Group By Quando usar funções de Coluna Quando usar a Função Where Quando Usar o Order By Quando usar o Order By em conjunto com a função SUM Sempre apos o comando Where 3. Em uma tabela criada no banco de dados com o nome VEICULOS, contendo os campos ID, DESCRICAO, MARCA e MODELO, indique a alternativa que apresenta o comando correto para selecionar a quantidade de veículos cadastrados por modelo, ordenado por modelo em ordem crescente. SELECT MODELO, COUNT(ID) FROM VEICULOS GROUP BY MODELO ORDER BY MODELO Asc; SELECT * FROM VEICULOS ORDER BY MODELO desc; SELECT MODELO, COUNT(ID) FROM VEICULOS GROUP BY MARCA ORDER BY MODELO desc; SELECT DESCRICAO, MODELO FROM VEICULOS ORDER BY DESCRICAO desc; SELECT * FROM VEICULOS GROUP BY MODELO; 4. 6 2,35 3,45 4,29 10 5. O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos. Analise-o: Professor (MatP,NomeP, telP, emailP) Aluno (MatA, MatP, NomeA, emailA) TCC (IDTCC, MatA, Titulo, Resumo) Assinale a única alternativa que retorna exatamente os dados exibidos na figura: SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP; SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; 6. SELECT AVG(NUMVAGASGARAGEM) FROM IMOVEL SELECT MEDIA(NUMVAGASGARAGEM) FROM IMOVEL SELECT SUM(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL SELECT AVG(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL SELECT MEDIA(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL 7. Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta: O operador LIKE é usado para operações com booleanos O operador IN pode ser usado para comparar valores na cláusula FROM DESC é obrigatoriamente necessário à cláusula ORDER BY quando se deseja ordenar decrescentemente O operador ALIAS é usado para renomear definitivamente colunas e tabelas O operador AND faz a checagem de valores zerados 8. Considere a seguinte tabela de Empregados: Empregado (CodEmpregado, Nome, Salario) Escolha o comado SQL que liste o nome de todos os empregados sem repetição e em ordem decrescente: SELECT ORDER BY Nome FROM Empregado WHERE DISTINCT Nome SELECT Nome FROM Empregado ORDER BY Nome SELECT DISTINCT Nome FROM Empregado ORDER BY Nome DESC SELECT Nome FROM Empregado ORDER BY DISTINCT Nome SELECT DISTINCT Nome FROM Empregado GROUP BY Nome Aluno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Considere o seguintecomando SQL: SELECT D.NM_DEPARTAMENTO, SUM(P.SALARIO) FROM TB_DEPARTAMENTO D INNER JOIN TB_PROFESSOR P ON (D.COD_DEPARTAMENTO = P.COD_DEPARTAMENTO) É CORRETO afirmar: Se existir uma linha na tabela TB_PROFESSOR com valor NULO (NULL) para o atributo SALARIO, o resultado da consulta também será um valor NULO (NULL). A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ). soma total. A sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY. A consulta irá retornar o mesmo número de linhas da tabela TB_PROFESSOR. 2. A partir das relações abaixo, responda em SQL: quantos alunos (nota maior ou igual a 6) foram aprovados na disciplina Banco de Dados com o professor Rui? Use inner join. Relações: PROFESSOR (idprofessor, nomeprofessor); LECIONA (idprofessor, iddisciplina); DISCIPLINA (iddisciplina, nomedisciplina); ALUNO (matricula, nomealuno); MATRICULA (inscrição, iddisciplina, matricula, nota, período, ano) SELECT count(distinct) AS total FROM professor p INNER JOIN leciona l ON p.idprofessor = l.idprofessor INNER JOIN disciplina d ON l.iddisciplina = d.iddisciplina INNER JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui AND nomedisciplina = Banco de Dados SELECT sum(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = Rui AND nomedisciplina = Banco de Dados SELECT count(*) AS total FROM professor p LEFT JOIN leciona l ON p.idprofessor = l.idprofessor LEFT JOIN disciplina d ON l.iddisciplina = d.iddisciplina LEFT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui OR nomedisciplina = Banco de Dados SELECT count(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = Rui AND nomedisciplina = Banco de Dados SELECT count(distinct) AS total FROM professor p RIGHT JOIN leciona l ON p.idprofessor = l.idprofessor RIGHT JOIN disciplina d ON l.iddisciplina = d.iddisciplina RIGHT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui OR nomedisciplina = Banco de Dados 3. Quando dois conjuntos de dados são concatenados de acordo com uma determinada condição, representa o resultado da operação relacional: união intersecção projeção junção restrição 4. quatro e quatro. cinco e quatro. quatro e três. três e quatro. cinco e cinco. 5. Três alugueis do Tipo1, três do Tipo2 e um do Tipo3. Dois alugueis do Tipo1, quatro do Tipo2 e um do Tipo3. Dois alugueis do Tipo1, três do Tipo2 e dois do Tipo3. Um aluguel do Tipo1, quatro do Tipo2 e dois do Tipo3. Um aluguel do Tipo1, três do Tipo2 e três do Tipo3. 6. SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c SELECT fi.nome filial, count(*) FROM Filial fi RIGHTJOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial SELECT fi.nome filial, count(*) FROM Filial fi LEFT JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial 7. O comando select permite gerar produto cartesiano porque os bancos relacionais utilizam álgebra relacional. Ambas sentenças estão erradas. A primeira sentença está certa porém a segunda está errada. Ambas sentenças estão certas. O select permite produto cartesiano mas por outra ração que não é a algebra relacional. A primeira sentença está errada porém a segunda está certa. 8. Qual opção Representa a interpretação Correta sobre o CROSS JOIN É um comando exclusivo da DDL É um comando que substitui o INNER JOIN Nunca é usado em Estruturas SELECT Serve para fazer a combinação dos elementos de uma tabela com todos os elementos de outra tabela sem a necessidade de junção de chaves primárias e estrangeiras. Não se aplica aos comandos DML Aluno: NICOLE DOS SANTOS Matr.: 202008391881 Disc.: IMPL.BANCO DE DADOS 2023.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Sabendo-se que a tabela nome contém nomes populares de tubarões e deseja-se listar o comprimento e o sexo de todos os tubarões que tem nome popular terminado com a letra k. Assinale a alternativa abaixo que retorna corretamente a consulta desejada: SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like %k; SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like _k; SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = N.IDEspécie AND NomePopular like %k; SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like %k%; SELECT * FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like %k; 2. SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE PERIODO > (SELECT AVG(PERIODO) FROM ALUGUEL); SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA*PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL); SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL); SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(PERIODO) FROM ALUGUEL); SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(VALORDIARIA) FROM ALUGUEL); 3. SEJA O MODELO: Forncedor(cod_fornec, nome_fornec, telefone, cidade, uf) Estado(UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados é: SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM FORNECEDOR AS F) SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM FORNECEDOR AS F) SELECT E.nome_estado FROM Estado ASE, FROM Fornecedor as F WHERE E.nome_estado = F.UF SELECT E.UF FROM ESTADO AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM FORNECEDOR AS F) SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF 4. eM um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da linha de títulos, possui: 20 linhas; 10 linhas; 600 linhas; 6.000 linhas. 30 linhas; 5. A junção irrestrita também é conhecida como: Autojunção Junção Contínua Junção Interior Junção Exterior Junção Cruzada 6. SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS , NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL; SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO; SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL , TIPOIMOVEL WHERE NOMETIPOIMOVEL = APARTAMENTO PADRÃO; SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND NOMETIPOIMOVEL = APARTAMENTO PADRÃO; SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS "NUMERO QUARTOS E BANHEIROS", NUMBANHEIROS FROM IMOVEL , TIPOIMOVEL WHERE UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO; 7. Considere as seguintes tabelas de um banco de dados: Estado (UF, NomeEstado) Cidade (CodCidade, NomeCidade, UF) UF referencia Estado Escolha o comando SQL que liste o nome de cada estado e a quantidade de cidades cadastradas para cada um: (J) SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF HAVING Count(*) >= 1 SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF GROUP BY E.NomeEstado SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E GROUP BY E.NomeEstado SELECT Count(*) FROM Estado SELECT UF, Count(*) FROM Cidade GROUP BY UF Disc.: IMPLEMENTAÇÃO DE BANCO DE DADOS Aluno(a): NICOLE DOS SANTOS 202008391881 Acertos: 9,0 de 10,0 19/03/2023 1a Questão Acerto: 1,0 / 1,0 Considere a seguinte tabela criada: Aluno {matricula, nome, email} Marque a alternativa que representa em Álgebra Relacional, a PROJEÇÃO apenas do nome do aluno cuja matrícula é 0364. Respondido em 19/03/2023 14:22:27 2a Questão Acerto: 1,0 / 1,0 Considere o modelo de banco de dados abaixo: medico (CRM, NomeMedico, Idade,Cidade,Especialidade); paciente (Ident,NomePaciente,Idade,Cidade,Doenca); consulta (Ident, CRM, Data, Hora); Qual alternativa altera a idade do paciente "Fulano de tal"?. update paciente where nomePaciente="Fulano de tal" alter paciente set idade=25 alter paciente set idade=25 where nomePaciente="Fulano de tal" insert into paciente (idade) values (25) where nomePaciente="Fulano de tal" update paciente set idade=25 where nomePaciente="Fulano de tal" Respondido em 19/03/2023 14:26:31 3a Questão Acerto: 1,0 / 1,0 Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? JOIN GET UPDATE SELECT INSERT Respondido em 19/03/2023 14:31:44 4a Questão Acerto: 1,0 / 1,0 O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: DELETE FROM Aluno WHERE nome SUCH %M. DELETE FROM Aluno WHERE nome LIKE M%. DELETE FROM Aluno DELETE FROM Aluno WHERE nome=M. DELETE FROM Aluno WHERE nome LIKE G%. Respondido em 19/03/2023 14:28:29 5a Questão Acerto: 1,0 / 1,0 Em SQL, para contar linhas usamos: GROUP BY SELECT SUM COUNT AVG Respondido em 19/03/2023 14:33:37 6a Questão Acerto: 1,0 / 1,0 Considere o seguinte comando SQL: SELECT D.NM_DEPARTAMENTO, SUM(P.SALARIO) FROM TB_DEPARTAMENTO D INNER JOIN TB_PROFESSOR P ON (D.COD_DEPARTAMENTO = P.COD_DEPARTAMENTO) É CORRETO afirmar: Se existir uma linha na tabela TB_PROFESSOR com valor NULO (NULL) para o atributo SALARIO, o resultado da consulta também será um valor NULO (NULL). soma total. A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ). A consulta irá retornar o mesmo número de linhas da tabela TB_PROFESSOR. A sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY. Respondido em 19/03/2023 14:34:33 7a Questão Acerto: 1,0 / 1,0 SEJA O MODELO: Forncedor(cod_fornec, nome_fornec, telefone, cidade, uf) Estado(UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados é: SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM FORNECEDOR AS F) SELECT E.UF FROM ESTADO AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM FORNECEDOR AS F) SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM FORNECEDOR AS F) SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor as F WHERE E.nome_estado = F.UF Respondido em 19/03/2023 14:35:44 8a Questão Acerto: 0,0 / 1,0 Qual comando abaixo é o mais adequado para consultar os dados da última linha de uma tabela SELECT * FROM funcionarios WHERE id = (SELECT LAST(id) FROM funcionarios); SELECT MAX(id) FROM funcionarios WHERE id = (SELECT MAX(id) FROM funcionarios); SELECT * FROM funcionarios WHERE id = (SELECT MAX(id) FROM funcionarios); SELECT MAX(id) FROM funcionarios; SELECT * FROM funcionarios WHERE id = LAST(id); Respondido em 19/03/2023 14:40:06 9a Questão Acerto: 1,0 / 1,0 Qual das alternativas a seguir apresenta a sintaxe correta do comando SELECT aplicando as cláusulas GROUP BY e HAVING? SELECT HAVING FROM WHERE GROUP BY SELECT FROM WHERE GROUP BY HAVING SELECT FROM GROUP BY WHERE HAVING SELECT FROM HAVING GROUP BY WHERE SELECT HAVING FROM WHERE GROUP BY Respondido em 19/03/2023 14:44:23 10a Questão Acerto: 1,0 / 1,0 A cláusula having, quando usada, estabelece uma condição sobre uma agregação obtida de: sum em uma expressão create. group by em uma expressão select. order by em uma expressão select. Reorganiza-se automaticamente com pequenas mudanças locais. group by em uma cláusula order by.
Compartilhar