🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

Os principais Sistemas Gerenciadores de Bancos de Dados ofe...

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

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


Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

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

I. (T OR F) AND (? OR T) -> Será necessariamente F independente de qualquer valor nos ?

II. T AND ((? OR F) OR ?) -> Unknown

III. NOT (? AND (? AND ?)) -> Unknown

A expressão II, "T AND ((? OR F) OR ?)", resulta em valor desconhecido (?) porque não se pode determinar o resultado quando um valor desconhecido está envolvido em uma operação OR.

A expressão III, "NOT (? AND (? AND ?))", também resulta em valor desconhecido (?) porque é a negação de um valor desconhecido.

A expressão I, "(T OR F) AND (? OR T)", resulta em valor verdadeiro (T), pois a primeira parte da expressão "(T OR F)" é verdadeira (T) e a segunda parte "? OR T" é verdadeira (T) quando uma das condições é verdadeira.

Os operadores lógicos em uma expressão booliana que incluírem UNKNOWNs retornarão UNKNOWN, a menos que o resultado do operador não dependa da expressão UNKNOWN.

Fonte: https://learn.microsoft.com/pt-br/sql/t-sql/language-elements/null-and-unknown-transact-sql?view=sql-server-ver16

I. (T OR F) AND (? OR T)

II. T AND ((? OR F) OR ?)

III. NOT (? AND (? AND ?))

Dada as opções, troque tudo pra facilitar:

Vamos partir do pincipio de ? é UNKNOWN, desconhecido. Blza?

I. (V ∨ F) ∧ (? ∨ V) - V ∧ V = Verdadeiro. ou + alguma coisa é sempre verdadeiro

II. V ∧ ((? ∨ F) ∨ ?) - Do parênteses mais interno é ? (desconhecido), desconhecido novamente..*

III. ¬(? ∧ (? ∧ ?)) - É sempre desconhecido se pelo menos um dos operando for ? (desconhecido)

*falso perde pra qualquer um

Lógica de prioridade para gravar esses resultados com unknown:

Se a condição for AND, a ordem de prioridade é F; ?; T

Se for OR, é T;?;F

Quando são iguais, o resultado é ele mesmo.



Como funciona?

Na sentença T AND ?, vai ser ? porque ? tem prioridade sobre T no resultado de AND

Na sentença F AND ?, vai ser F porque F tem prioridade sobre ? no resultado de AND

Na sentença ? AND?, vai ser ? porque são iguais.

Na sentença T OR ?, vai ser T porque T tem prioridade sobre ? no resultado de OR

Na sentença F OR ?, vai ser ? porque ? tem prioridade sobre F no resultado de OR

Na sentença ? OR ?, vai ser ? porque são iguais.

Foonte: Comentário Tec

Clique para visualizar este comentário

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