Hoje vamos comentar as questões de banco de dados da prova do TCE-PR. O gabarito oficial ainda não foi divulgado, mas apresentamos, antecipadamente, algumas considerações sobre as questões.
A respeito de SQL, assinale a opção correta.
A) A função STDDEV é utilizada para calcular a média aritmética de determinada coluna
B)O produto cartesiano é o resultado da combinação de mais de uma tabela, havendo pelo menos uma coluna em comum entre elas, de maneira que se apresentem os registros que constam simultaneamente em todas as tabelas
C)O resultado de uma subquery é utilizado como argumento para uma query superior e pode conter uma única linha, múltiplas linhas ou múltiplas linhas e colunas.
D)Uma instrução SQL de insert deve citar nominalmente todas as colunas da tabela.
E)As instruções insert, update e delete são processadas no banco de dados após serem executadas pelo usuário, dispensando-se o uso de outro comando para a disponibilização de seus resultados a outros usuários.
Comentário: Vamos analisar cada uma das alternativas acima.
A alternativa “A” apresenta a função de desvio padrão (STDDEV) e associa esse termo a média aritmética. Portanto, está incorreta.
Na alternativa “B” existe uma definição equivocada de produto cartesiano. O produto cartesiano é uma operação advinda da teoria dos conjuntos relaciona todos os elementos de um conjunto aos elementos de outro conjunto. Quando pensamos no modelo relacional, o relacionamento é feito entre as tuplas das tabelas ou relações participantes da operação. Não existe a necessidade de uma coluna em comum.
C é a alternativa correta! Ele fala de consultas correlacionadas.
O comando insert não precisa citar nominalmente as colunas, basta repassar os valores dos atributos na mesma ordem que foram declarados na definição da tabela. Desta forma, a alternativa C encontra-se errada.
A alternativa E tem uma pegadinha. Você precisa se lembrar do contexto de transações em SQL. A depender do nível de isolamento não basta o usuário executar a instrução de insert, update ou delete. Ele tem que executar a instrução de COMMIT. Sendo assim, devemos assinalar a alternativa como incorreta.
Gabarito: C
No que se refere a banco de dados, assinale a opção correta
A) DDL (data definition language) e DML (data manipulation language) são linguagens utilizadas pelos usuários e desenvolvedores para manipular os dados em um banco de dados.
B)Os bancos de dados objeto-relacionais representam uma evolução dos bancos de dados relacionais, pois, incorporam várias funcionalidades anteriormente implementadas nos bancos de dados orientados a objetos.
C)A restrição de asserção de um banco de dados permite a execução de ações automáticas a partir de eventos previamente definidos, por exemplo, a entrada de um CPF com formatação incorreta.
D)Uma view representa uma tabela em forma física consolidada a partir de outras tabelas previamente definidas.
E)Em chaves primárias compostas, formadas por mais de um atributo, o valor NULL, é adotado para qualquer atributo exceto para o primeiro na ordem de formação da chave.
Comentário: Comentaremos abaixo cada uma das alternativas. O CESPE aproveitou essa questão para misturar diversos conceitos de banco de dados. Confesso que gostei da questão.
Na alternativa “A” ele trata de manipular dados, essas operações seriam feitas apenas com DML. Alternativa incorreta, portanto.
A alternativa “B” é a resposta. Essa ideia de que os banco de dados objetos relacionais foi a união dos bancos OO com os relacionais é bem difundida na literatura.
A letra C descreve em uma parte da alternativa o conceito trigger. As asserções são na realidade verificações sobre valores em tabelas de bancos de dados. Elas não vêm associadas a alguma ação. Quando pensamos no modelo de evento-condição-ação devemos associa-lo diretamente aos gatilhos de bancos de dados. Desta forma, podemos considerar a alternativa incorreta.
Uma visão ou view é uma construção temporária armazenada na memória principal. Geralmente, não existe do ponto de vista físico. Ela é carregada durante a sua execução. Determinamos, então, a alternativa D como errada.
A alternativa “E” é no mínimo bizarra de tão errada. Dizer que o valor nulo pode fazer parte de chave primária não faz o menor sentido.
Gabarito: B
Espero que gostem dos comentário, qualquer dúvida estamos às ordens,
Forte abraço,
Thiago Cavalcanti
Divulgado resultado preliminar da etapa de autodeclaração (negros, PcD e indígenas) do CNU O Concurso…
Concurso Correios oferece vagas de nível médio e superior Estão oficialmente encerradas as inscrições do…
Salário inicial é de mais de R$ 5 mil. Saiba todos os detalhes desse importante…
O Superior Tribunal de Justiça oferece vagas para formação de cadastro de reserva distribuídas entre…
Você vai fazer a prova do concurso do Superior Tribunal de Justiça (STJ) no dia…
Mais um edital do concurso do Ministério da Saúde (MS) autorizado! Serão ofertadas, ao todo,…
Ver comentários
Professor, fiquei com uma dúvida na primeira questão:
Você comentou de uma pegadinha no item E (outros comandos após INSERT, UPDATE, ...) e, realmente, podem ser necessário o COMMIT, caso tenham sido precedidos por um BEGIN TRANSACTION. No entanto, o item não deixa explícita essa restrição.
Já eu vi outra pegadinha no item C (da subquery), dizendo que pode contra 1 ou múltiplas linhas. No entanto, não marquei esse item porque uma subquery pode também não retornar NENHUMA linha.
Faz sentido? Acredito que ambos os itens não estejam 100%.
Olá Cauê,
Veja que neste caso existe uma questão de entendimento. Na alternativa da questão ele diz que pode retornar "uma única linha, múltiplas linhas ou múltiplas linhas e colunas". Veja que ele não limitou a essa lista.
Já na alternativa E ele disse que "dispensa-se o uso de outro comando". Quando ele fala desta forma, o examinador está generalizando, em todos os casos são dispensados comandos auxiliares? Sabemos que não.
Uma dica é sempre prestar atenção as generalizações.
Qualquer dúvida estou às ordens,
Thiago
Professor, eu achava que os banco de dados orientados a objetos vieram depois dos bancos de dado objeto-relacionais. Estou enganado mesmo? Estou buscando fontes de informacoes por enquanto.
Professor, achei a resposta, parece que me enganei mesmo. Mas a outra questão eu acertei hehe. Obrigado!