Questão nº 80
Questão de Fluência em Dados · FGV Receita Federal do Brasil 2023 - Manhã (nº 80)
Os principais Sistemas Gerenciadores de Bancos de Dados oferecem total suporte à linguagem SQL; um aspecto importante da implementação do SQL é o tratamento para valores nulos, quando a lógica admite três estados.
T – true
F – false
? – unknown
Nesse contexto, considere as expressões lógicas a seguir.
I. (T OR F) AND (? OR T)
II. T AND ((? OR F) OR ?)
III. NOT (? AND (? AND ?))
Com relação às expressões acima, está correto afirmar que o valor final é unknown (?) em
- AI, apenas.
- BI e II, apenas.
- CI e III, apenas.
- DII e III, apenas. (alternativa correta)
- EI, II e III.
Resposta comentada
Gabarito Alternativa D
SQL utiliza uma lógica trivalorada (3VL) para tratar valores NULL, que representam dados desconhecidos. Além dos estados TRUE (verdadeiro) e FALSE (falso), existe o estado UNKNOWN (desconhecido), que é o resultado de operações envolvendo NULL.
As regras básicas de 3VL são:
- AND:
TRUE AND UNKNOWNresulta emUNKNOWN;FALSE AND UNKNOWNresulta emFALSE(pois umFALSEjá garante o resultado, independentemente doUNKNOWN). - OR:
TRUE OR UNKNOWNresulta emTRUE(pois umTRUEjá garante o resultado);FALSE OR UNKNOWNresulta emUNKNOWN. - NOT:
NOT UNKNOWNresulta emUNKNOWN.
Vamos analisar cada expressão:
I. (T OR F) AND (? OR T)
(T OR F):TRUE OR FALSEéTRUE.(? OR T):UNKNOWN OR TRUEéTRUE(pois a presença de umTRUEtorna a expressãoORverdadeira, independentemente doUNKNOWN).TRUE AND TRUEéTRUE.- Resultado final: TRUE.
II. T AND ((? OR F) OR ?)
(? OR F):UNKNOWN OR FALSEéUNKNOWN.(UNKNOWN OR ?):UNKNOWN OR UNKNOWNéUNKNOWN.T AND UNKNOWN:TRUE AND UNKNOWNéUNKNOWN.- Resultado final: UNKNOWN.
III. NOT (? AND (? AND ?))
(? AND ?):UNKNOWN AND UNKNOWNéUNKNOWN.(? AND UNKNOWN):UNKNOWN AND UNKNOWNéUNKNOWN.NOT UNKNOWN:UNKNOWN.- Resultado final: UNKNOWN.
As expressões que resultam em UNKNOWN são II e III.
(A) Incorreta: A expressão I resulta em TRUE, não UNKNOWN.
(B) Incorreta: A expressão I resulta em TRUE, não UNKNOWN.
(C) Incorreta: A expressão I resulta em TRUE, não UNKNOWN.
(D) Correta: As expressões II e III resultam em UNKNOWN. Na expressão II, T AND UNKNOWN é UNKNOWN. Na expressão III, NOT UNKNOWN é UNKNOWN.
(E) Incorreta: A expressão I resulta em TRUE, não UNKNOWN.
Fonte: FGV Receita Federal do Brasil 2023 - Manhã Auditor-Fiscal da Receita Federal do Brasil (Caderno Tipo 1). Reproduzida para fins de estudo.