1. UNIVERSIDADE LUSÓFONA DO PORTO
Operadores Booleanos
Claudia Garcia
Psicopedagoga Clínica
Porto, 31 de Março de 2009
2. Origem
• Boolean Operators, Boole e álgebra de Boole
• George Boole: matemático inglês, séc. XIX (1815-64)
• Criou um sistema de álgebra
• Foi um dos precursores da lógica moderna
• Criou um modo de conduzir o raciocínio utilizando
algumas expressões simples e monossilábicas que
ficaram conhecidas como operadores booleanos
• Publicou em 1854 os princípios da lógica booleana, onde
as variáveis assumem apenas valores 0 e 1 (verdadeiro
e falso)
• A dificuldade de implementar um dígito decimal (um
número inteiro entre 0 e 9) em componentes eléctricos
determinaram o uso da base 2 em computadores
• A lógica booleana foi usada na implementação dos
circuitos eléctricos internos a partir do século XX
3. Origem
• Matemática e Ciência da Computação: as álgebras
booleanas (ou Álgebra de Boole) são estruturas
algébricas que quot;capturam a essênciaquot; das operações
lógicas E, OU e NÃO, bem como das operações da teoria
de conjuntos soma, produto e complemento
• É o fundamento da matemática computacional, baseada
em números binários
• A álgebra booleana foi uma tentativa de utilizar técnicas
algébricas para lidar com expressões no cálculo
proposicional
• Hoje, as álgebras booleanas têm muitas aplicações na
electrónica
• Foram pela primeira vez aplicadas a interruptores por
Claude Shannon, no século XX
4. Características
• As suas designações foram retiradas da linguagem
humana vulgar
• Permitem efectuar uma pesquisa que envolve 2 ou mais
termos independentes, que tais operadores permitem
ligar numa só interrogação
• O motor de pesquisa ignora determinadas palavras, que
são frequentemente utilizadas na língua inglesa, mas
que são ignoradas quando efectuamos uma pesquisa
• Palavras “vazias”: a, and, are, as, at, be, but, by, for, if,
in, into, is, it, no, not, of, on, or, such, the, to, was
• É frequente serem simplesmente escritos como E, OU ou
NÃO (são mais comuns os seus equivalentes em inglês:
AND, OR e NOT)
5. Características
• Na descrição de circuitos também podem ser utilizados
NAND (NOT AND), NOR (NOT OR) e XOR (OR exclusivo)
• Os matemáticos usam com frequência + para OU e .
para E (visto que sob alguns aspectos estas operações
são análogas à adição e multiplicação noutras estruturas
algébricas)
• Representam NÃO com uma linha traçada sobre a
expressão que está a ser negada.
• Aqui iremos usar outra notação comum: ∧ (ou ^) para
E, ∨ (ou v) para OU e ¬ (ou ~) para NÃO
6. Listado
• Operadores de inserção: E, AND, +, &
• Descrição: a resposta deve conter obrigatoriamente quer
A quer B (ambos os termos)
• Utiliza-se o sinal + antes de uma palavra se se deseja
que ela esteja presente nos resultados da pesquisa
• Exemplo: educar+gatos
• Resultado: a palavra “educar” é opcional, mas a palavra
“gato” deverá constar necessariamente no resultado
7. Listado
• Operadores de união: OU, OR, |, !
• Descrição: a resposta deve conter ou A ou B (pelo
menos um dos dois termos)
• Exemplo: educar OU gatos
• Resultado: pelo menos um dos termos deverá aparecer
nos resultados
8. Listado
• Operadores de exclusão: NÃO, NOT, -
• Descrição: a resposta deve conter A e não deve conter B
• Utiliza-se o sinal - antes de uma palavra se deseja que
ela não esteja presente nos resultados da pesquisa -
assim, poder-se-ão eliminar documentos não desejados
dos resultados da pesquisa
• Exemplo: educar-gatos
• Resultado: encontra os documentos que contêm a
palavra “educar”, excepto aqueles que contêm também
a palavra “gatos”
9. Listado
• Operador de proximidade: NEAR
• Descrição: a resposta deve conter A na proximidade de
B, tratando-se aqui de uma proximidade física numa
dada página, que pode ser definida de modo diferente
em motores de pesquisa diferentes (5, 10, 12 palavras,
etc…)
• Exemplo: educar NEAR gatos
10. Listado
• Operadores de truncagem: *, $, ?, “”
• Descrição: deve utilizar-se o asterisco depois da raiz de
uma palavra, para obter os registos que contenham
qualquer uma das palavras que começam com essa raiz
• O ponto de interrogação representa uma única letra em
qualquer parte da palavra
• Exemplo: comput*
• Resultado: computação, computacional, computador,
computadores, computer, computers…
• Exemplo: wom?n
• Resultado: women e woman
• As aspas servem para pesquisar várias palavras, como
uma frase
• Exemplo: “(frase ou expressão)”
11. Listado
• Operadores de adjacência: ADJ, SAME
• Descrição: este operador implica que as palavras se
devem encontrar umas ao lado das outras
• As bases de dados tradicionais recorrem à abreviatura
ADJ
• Os símbolos empregues para designar este operador
booleano varia de motor de busca para motor de busca
• ADJ: encontra como resultado todos os documentos que
contenham as palavras pesquisadas desde que não haja
nenhum termo entre elas
• SAME: encontra como resultado todos os documentos
que contenham as palavras pesquisadas, desde que não
haja mais de dez termos entre elas
• As palavras podem ser encontradas em qualquer ordem
12. Listado
• Operador de adjacência e de proximidade: ()
• Descrição: permitem a utilização de operadores
booleanos de adjacência e de proximidade
simultaneamente nas pesquisas complexas
• Exemplo: partes do computador (internas)
• Operadores de comparação: <, =, >, <=, >=, <>
• Descrição: são aplicáveis a todos os tipos nativos
• Operadores: IS NULL, IS NOT NULL
• Descrição: testa se o resultado de uma expressão é nulo
ou não
13. Listado
• Operador: LIKE
• Descrição: tenta fazer a correspondência entre uma
expressão de caracter e um padrão de caracter, que é uma
cadeia de caracteres que inclui um ou mais caracteres
curinga
• Operador: %
• Descrição: corresponde a qualquer número (zero ou mais)
de caracteres na posição correspondente na primeira
expressão de caracter
• Operador: _
• Descrição: corresponde a um caracter na posição
correspondente na expressão de caracter
14. Listado
• Operador: BETWEEN
• Descrição: testa se o primeiro operando está entre o
segundo e o terceiro operandos
• O segundo operando deve ser menor que o terceiro
operando
• Aplicável apenas aos tipos de dado onde se pode aplicar <=
e >=
• Operador: IN
• Descrição: opera sobre uma sub-consulta a tabela ou uma
lista de valores
15. Listado
• Operador: EXISTS
• Descrição: opera sobre uma sub-consulta a tabela
• Retorna TRUE se a sub-consulta a tabela retornar alguma
linha, e FALSE se não retornar nenhuma linha
• A subconsulta a tabela pode retornar várias colunas
(somente se for utilizado * para indicar várias colunas) e
linhas
16. Listado
• Operadores de comparação quantificada: ALL, ANY, SOME
• Descrição: é um operador de comparação (<, =, >, <=,
>=, <>) com ALL, ANY ou SOME aplicado
• ALL: a comparação deverá ser verdade para todos os
valores retornados pela sub-consulta a tabela
• ANY ou SOME: a comparação deverá ser verdade para pelo
menos um valor da subconsulta a tabela
• ANY e SOME são equivalentes
17. Utilidade
• Os operadores booleanos permitem modular as questões
colocadas a um motor de pesquisa
• Servem, de um modo geral, para tornar a interrogação
mais específica