Austeclynio Pereira - Banco de Dados Relacionais Nebulosos

Propaganda
Modelo Relacional de Banco de Dados
Banco de Dados Relacionais
Nebulosos
• Proposto por E.F.Codd em 1970 com objetivo de
simplificar a estrutura das bases de dados
consideradas complexas em outros modelos
distintos de um SGBD.
• Em 1986, Codd publicou uma relação com as 12
regras que deveriam cumprir os SGBDs
relacionais.
Austeclynio Pereira
Representando Imprecisões em BD
Imprecisões em BDs tradicionais
• Existem vários modelos para representar
informações imprecisas em BD, sejam estes
tradicionais ou nebulosos.
• Aproximação de Codd – Caso 1
– Introduziu o valor NULL para indicar que o valor do
atributo era desconhecido e, portanto, era possível
possuir qualquer valor de domínio.
• Todos os modelos devem atender as operações da
álgebra relacional (Codd,1972).
Imprecisões em BDs tradicionais
– Emprega uma lógica tri-valorada de forma que qualquer
comparação com o valor NULL gere um valor
resultante.
Imprecisões em BDs tradicionais
• Aproximação de Codd – Caso 1
• Aproximação de Codd – Caso 2
AND
T
null
F
OR
T
null
F
F
F
F
F
F
T
null
F
– Introduziu o valor NULL para indicar que o valor do
T
T
null
F
T
T
T
T
atributo era desconhecido e, portanto, era possível
null
null
null
F
null
T
null
null
possuir qualquer valor de domínio
– Emprega uma lógica tri-valorada de forma que qualquer
comparação com o valor NULL tenha um valor
resultante. Utilizada pelo SGBD Oracle.
– Criou duas marcas (A,I), gerando uma lógica tetravalorada, onde a marca A significa valor ausente ou
desconhecido, porém aplicável e a marca I indica valor
não aplicável (Ex: placa de um carro de alguém sem
carro)
1
Imprecisões em BDs tradicionais
• Aproximação de Codd – Caso 2
– Criou duas marcas (A,I), gerando uma lógica tetravalorada, onde a marca A significa valor ausente ou
desconhecido, porém aplicável e a marca I indica valor
não aplicável (Ex: placa de um carro de alguém sem
carro)
AND
T
A
I
F
OR
T
A
I
F
T
T
A
I
F
T
T
T
T
T
A
A
A
I
F
A
T
A
A
A
I
I
I
I
F
I
T
A
I
F
F
F
F
F F
F
F
T
F
F
Imprecisões em BDs tradicionais
• Faixa de Valores, de Grant (1980):
– Estendeu o modelo relacional para permitir o armazenamento de
valores em um atributo[a,b] significando uma faixa de valores.
– Também aceita o valor NULL caso não haja nenhuma informação.
– Em seu modelo são permitidas tuplas repetidas.
– O resultado de uma consulta divide-se em três partes:
• Tuplas que seguramente pertencem ao resultado
• Tuplas que possivelmente pertencem ao resultado
• Tuplas que seguramente não pertencem ao resultado
Imprecisões em BDs tradicionais
• Esquema de valores por imperfeição:
– Criado por C.J.Date (1982) que contestou a utilização
dos valores NULL julgando-os como sendo “Uma rica
fonte de erros e confusões”*. Recomendou que fossem
sempre atribuídos os valores NOT NULL ou NOT
NULL WITH DEFAULT para os valores imprecisos.
* Relational DataBase;Selected Writings( Addison-Wisley, 1986)
Imprecisões em BDs tradicionais
• Base de Dados Estatísticas e Probabilísticas:
– Barbara(1992) definiu um modelo de BD em que cada
atributo pode ter a ele associado uma distribuição de
probabilidade. A soma de todas as probabilidades deve
ser igual a 1. O cálculo das probabilidades é
introduzido pelos usuários. Nas consultas pode ser
estabelecida uma entrada de probabilidade mínima.
– Outros modelos também foram desenvolvidos:
Cavallo(1987), Shosnani(1985) e Fuhr(1990)
Banco de Dados Relacionais Nebulosos
• Deve reunir as seguintes características:
– Proporcionar os mecanismos adequados para poder
representar informação nebulosa em todas as suas
vertentes.
– Deve oferecer um conjunto mínimo de operadores que
possam recuperar e tratar a informação, obedecendo a
natureza nebulosa da mesma.
– Deve satisfazer os requisitos do Modelo Relacional na
maior medida possível.
Banco de Dados Relacionais Nebulosos
• Modelos mais importantes publicados:
•Buckles-Petry (1982,1984)
• Umano-Fukami (1982,1994)
•Prade-Testemale(1984,1987)
•Zemankova-Kandel(1984,1985)
•GEFRED de Medina-Pons-Vila(1994)
2
Banco de Dados Relacionais Nebulosos
• Estes modelos são aplicados nos BDs já existentes. Não
existe no mercado BDs nebulosos !
• Necessidade da existência de uma linguagem de Query
específica para tratamento dos BDs nebulosos.
• Fuzzy SQL (J. Galindo) e SQL Nebuloso (Bosc e Pivert),
permitem a consulta a bases de dados tradicionais
(informações precisas) e a bases de dados nebulosas
(informações imprecisas).
Banco de Dados Relacionais Nebulosos
FSQL – Extensões do Select
• Identificação lingüística – Se um atributo é
suscetível de tratamento nebuloso ele será
identificado com o símbolo $, precedendo o seu
nome. Será associada a cada identificação uma
distribuição de possibilidade(baseadas em Zadeh)
ou escalares com uma relação de similaridade.
Banco de Dados Relacionais Nebulosos
FSQL – Extensões do Select
• Comparadores nebulosos – existem
comparadores
possibilidade
e de
Possibilidade de Necessidade
Significado
FEQ
NFEQ
Igual Nebuloso
necessidade.
FGT
NFGT
Maior Nebuloso
• Os de FGEQ
necessidadeNFGEQ
exigem que
a condição
Maior ou Igual Nebuloso
seja satisfeita
emNFLT
certo grau Menor
ainda
que não
FLT
Nebuloso
completamente.
FLEQ
NFLEQ
Menor ou Igual Nebuloso
NMGT
Muito Maior nebuloso
• Os de MGT
possibilidade
medem em
que grau é
MLT
NMLT
Muito Menor nebuloso
possível que a condição se cumpra.
Banco de Dados Relacionais Nebulosos
FSQL
• Utiliza o GEFRED, que aborda o problema de
representação e tratamento da informação
nebulosa em Bancos de Dados Relacionais
fazendo uma síntese dos modelos anteriormente
propostos.
• Estende a linguagem SQL.
• Programado em PL/SQL para o SGBD Oracle.
Banco de Dados Relacionais Nebulosos
FSQL – Extensões do Select
• Comparadores nebulosos – existem
comparadores de possibilidade e de
necessidade.
• Os de necessidade exigem que a condição
seja satisfeita em certo grau ainda que não
completamente.
• Os de possibilidade medem em que grau é
possível que a condição se cumpra.
Banco de Dados Relacionais Nebulosos
FSQL – Extensões do Select
• Grau de inclusão – em cada condição
sempre pode ser estabelecido um grau de
inclusão mínimo entre [0,1].
• Constantes difusas – existem contantes
nebulosas para apoiar as comparações
nebulosas.
3
Banco de Dados Relacionais Nebulosos
FSQL – Extensões do Select
• Grau de inclusão – em cada condição
sempreConstantes
pode ser
estabelecido
Nebulosas
Significadoum grau de
inclusão
mínimo
entre
[0,1].
UNKNOWN
Valor desconhecido, mas aplicável
UNDEFINED
Atributo não aplicável
• Constantes
difusas – existem
contantes
NULL
Ignorância total
nebulosas
para
apoiar
as
comparações
$Label
Identificação lingüística
nebulosas.
$[a,b,c,d]
Trapézio possibilístico com
Armazenamento dos Dados Nebulosos
•
a<=b<=c<=d
[n,m]
Intervalo entre n e m
#n
Valor aproximadamente n. Triângulo
com n +- margem
Armazenamento dos Dados Nebulosos
Base de dados tradicional
•
Os atributos nebulosos podem ser de 3 tipos:
– Tipo 1 : Estes atributos são totalmente crisp
mas admitem consultas e comparações
nebulosas.
– Tipo 2 : Estes atributos admitem tanto dados
crisp quanto nebulosos, na forma de
distribuição de possibilidade sobre um
domínio subjacente ordenado.
Classificação dos dados armazenados
1. Base de dados tradicional – Formada pelos
dados armazenados na forma relacional
tradicional, mas com um formato especial
para representar os atributos nebulosos.
2. Base de metaconhecimento nebuloso –
Armazena as informações sobre os BDs e
seus atributos nebulosos em um formato
relacional.
Armazenamento dos Dados Nebulosos
Base de dados tradicional
•
Os atributos nebulosos podem ser de 3 tipos:
– Tipo 1 : Estes atributos são totalmente crisp
mas admitem consultas e comparações
nebulosas.
– Tipo 2 : Estes atributos admitem tanto dados
crisp quanto nebulosos, na forma de
distribuição de possibilidade sobre um
domínio
subjacente
ordenado. .
Altura(Pedro)
= não
muito alto
Não muito alto é uma identificação nebulosa sobre o domínio do atributo
Altura na forma da seguinte distribuição de possibilidade:
{0.8/1.60,09/1.65,1/1.70,1/1.75,08/1.80}
Armazenamento dos Dados Nebulosos
Base de dados tradicional
•
Os atributos nebulosos podem ser de 3 tipos:
– Tipo 1 : Estes atributos são totalmente crisp mas
admitem consultas e comparações nebulosas.
– Tipo 2 : Estes atributos admitem tanto dados crisp
quanto nebulosos, na forma de distribuição de
possibilidade sobre um domínio subjacente ordenado.
– Tipo 3 : Estes atributos são definidos sobre um
domínio subjacente não ordenado, como por
exemplo, a cor da pele. A estes atributos definem-se
algumas identificações que são escalares com uma
relação de semelhança entre elas.
Armazenamento dos Dados Nebulosos
Base de dados tradicional
•
Branco Moreno
Os atributos nebulosos
podemPardo
ser de 3Negro
tipos:
1 atributos
0.6 são0.2
0
– TipoBranco
1 : Estes
totalmente
crisp mas
admitem
consultas
e1 comparações
nebulosas.
Moreno
0.6
0.5
0.3
– TipoPardo
2 : Estes
tanto
0.2atributos
0.5 admitem
1
0.6 dados crisp
quanto
nebulosos, na
forma0.6
de distribuição
de
Negro 0
0.3
1
possibilidade sobre um domínio subjacente ordenado.
– Tipo 3 : Estes atributos são definidos sobre um
domínio subjacente não ordenado, como por
exemplo, a cor dos cabelos. A estes atributos
definem-se algumas identificações que são escalares
com uma relação de semelhança entre elas.
4
Armazenamento dos Dados Nebulosos
Base de Metaconhecimento
Armazenamento dos Dados Nebulosos
1.
Escalar simples
2.
Número simples
Ex: aptidão = boa
Representada pela distribuição de possibilidade 1/boa
Ex: idade = 28
Representada pela distribuição de possibilidade 1/28
3. Conj. de possíveis
Ex. aptidão = {má, boa}
atribuições para escalares
Se expressa {1/má, 1/boa}
4. Conj. de possíveis
Ex. idade = {20, 21}
atribuições para números
Se expressa {1/20, 1/21}
5. Dist. De possibilidades no Ex. aptidão = {0,6/má , 0,7/boa}
domínio de escalares
6. Dist. De possibilidades no Ex. idade = {0,4/23 , 1/24 , 0,8/25}
domínio de números
7. Número real ∈ [0,1]
Representando grau de cumprimento
8. Valor desconhecido
UNKNOWN = {1/u; u ∈ U}
9. Valor indefinido
UNDEFINED = {0/u; u ∈ U}
10. Valor nulo
NULL = {1/UNKNOWN, 1/UNDEFINED}
• São os dados que descrevem os dados nebulosos. Podem
ser de 3 tipos:
– Tipo 1 : Utilizado em atributos crisp em condições
nebulosas. Armazena identificações lingüísticas;
valores para as margens dos valores aproximados; e o
valor para a distância mínima para que dois valores
sejam considerados muito separados.
– Tipo 2 :Armazena os mesmos dados do Tipo 1 só que
aplicados para atributos nebulosos.
– Tipo 3- Armazena as identificações lingüísticas e a
relação de semelhança entre elas.
Armazenamento dos Dados Nebulosos
Armazenamento dos Dados Nebulosos
H NOME
B Luis
Antonio
Juan Carlos
Francisco
Julia
Inês
Javier
RUA
Recogidas
Reyes Católicos
Camino Ronda
P. Alarcon
Puerta Real
Manuel de Falla
Gran Via
IDADE
&0.8/30,1/31
Maduro
Jovem
Idoso
Jovem
#28
*30,35
RENDIMENTO
Bom
Regular
Mal
Excelente
Bom
Bom
Regular
SALÁRIO
110000
100000
90000
150000
130000
125000
105000
Tabela de Funcionários - Empregados
#
&
*
significa “aproximadamente”
indica distribuição de possibilidade
intervalo
Banco de Dados Relacionais Nebulosos
FSQL – Exemplo de Consulta
SELECT * FROM Empregados
WHERE
Idade
FEQ
AND
Rendimento FGEQ
ORDER BY Nome Desc;
$Jovem
$Bom
• Os atributos NOME e RUA são de natureza
precisa.
• O domínio subjacente de IDADE é numérico e
tem definido sobre ele uma distribuição de
possibilidade.
• Permite a presença de valores “desconhecidos” em
IDADE.
• O domínio subjacente do atributo RENDIMENTO
apresenta uma relação de semelhança.
Banco de Dados Relacionais Nebulosos
Referências
.5
.7
• J.Galindo,J.M.Medina,O.Pons,J.C.Cubero”
A Server for Fuzzy SQL Queries”.
• J.Galindo,”Tratamiento de la Imprecisión
em Bases de Datos Relacionales”.
5
Download