Considere as seguintes afirmações sobre linguagem SQL. I. ...

Próximas questões
Com base no mesmo assunto
Q1394673 Banco de Dados

Considere as seguintes afirmações sobre linguagem SQL.


I. Embora nos refiramos à linguagem SQL como uma "linguagem de consulta", ela possui muitos outros recursos além da consulta ao banco de dados, como meios para definição da estrutura de dados, para modificação de dados no banco de dados e para a especificação de restrições de segurança.

II. A estrutura básica de uma expressão em SQL consiste de três cláusulas: SELECT, FROM e WHEN; a cláusula WHEN corresponde à seleção do predicado da álgebra relacional.

III. Em SQL, pode-se usar a função agregada COUNT para contar o número de tuplas em uma relação, mas SQL não permite o uso da palavrachave DISTINCT com COUNT(*).


Quais estão corretas?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C - Apenas I e III.

Explicação:

A primeira afirmação (I) está correta porque a linguagem SQL é de fato um sistema abrangente de gerenciamento de bancos de dados. Ela não se restringe apenas a consultas (SELECT), mas também inclui funcionalidades para definição de estrutura de dados (CREATE, ALTER), manipulação de dados (INSERT, UPDATE, DELETE) e controle de acesso (GRANT, REVOKE).

A segunda afirmação (II) contém um erro. A estrutura básica de uma expressão em SQL é composta pelas cláusulas SELECT, FROM e WHERE, e não "WHEN". A cláusula WHERE é que corresponde à seleção do predicado na álgebra relacional.

Finalmente, a terceira afirmação (III) está correta. Pode-se usar a função agregada COUNT para contar o número de tuplas em uma relação, e é possível sim utilizar a palavra-chave DISTINCT com COUNT(*) para contar o número de tuplas distintas. Portanto, a afirmação está correta no que tange à capacidade de usar COUNT, mas erra ao dizer que não se pode usar DISTINCT com COUNT(*).

Com base nessas informações, a resposta correta é que somente as afirmações I e III estão corretas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

ACREDITO QUE O ERRO DO ITEM 2 FOI EM DIZER WHEN NO LUGAR DE WHERE

SQL não permite o uso do distinct na função count?

@Maicon

SELECT DISTINCT COUNT(*) FROM myTable; PERMITIDO

SELECT COUNT(DISTINCT x) FROM myTable; PERMITIDO

SELECT COUNT(DISTINCT *) FROM myTable; NÃO PERMITIDO

.

Mais informações em: https://stackoverflow.com/questions/5010470/why-doesnt-countdistinct-work

a-

II. A estrutura básica de uma expressão em SQL consiste de três cláusulas: SELECT, FROM e WHERE; a cláusula WHERE corresponde à seleção do predicado da álgebra relacional.

III. Em SQL, pode-se usar a função agregada COUNT para contar o número de tuplas em uma relação, e SQL permite o uso da palavrachave DISTINCT com COUNT(*).

O item 3 está incorreto?

O gabarito seria a)?

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo