L - PowerPoint PPT Presentation

1 / 207
About This Presentation
Title:

L

Description:

E : P i:1..n ( 2Di ) / E(pk) (2Dk), E(pk) = Ext(p) (pk es un predicado de aridad k) ... Teor a T. T = { p(d1, ..., dn): pn P, y d1, ..., dn Ext(p) ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 208
Provided by: DSIC
Category:
Tags: ext

less

Transcript and Presenter's Notes

Title: L


1
Lógica y Bases de Datos
  • Matilde Celma Giménez

2
Lógica y Bases de Datos 1. Lógica y Bases de
Datos introducción. 2. Bases de datos
deductivas definición y formalización. 3.
Actualización de vistas. 3.1. Introducción al
problema 3.2. Estudio avanzado del problema 4.
Comprobación de restricciones de integridad en
esquemas con vistas 4.1 Introducción al
problema 4.2 Estudio avanzado del problema 5.
SGBD deductivos. 5.1. Evaluación de
consultas 5.2. SQL3
3
1. Lógica y Bases de Datos introducción
La idea básica que subyace al uso de la lógica
para el estudio de los sistemas de bases de datos
es una idea común a todos los campos de la
computación lógica la semántica por teoría de
modelos de la lógica proporciona una base para la
representación del conocimiento, y la semántica
por teoría de la demostración proporciona una
base para la computación J.W. Lloyd, en
Computational Logic, 1990.
4
1. Lógica y Bases de Datos introducción
  • La lógica de primer orden ha sido utilizada en el
    desarrollo del modelo relacional de datos desde
    su aparición en 1970.
  • Problemas
  • formalización
  • definición de lenguajes de consulta
  • estudio del concepto de independencia del
    dominio
  • actualización de vistas
  • - comprobación y restauración de la integridad.
  • - optimización de consultas
  • - diseño de bases de datos

5
1. Lógica y Bases de Datos introducción
Modelo Relacional de Datos
  • Tupla
  • Relación

Estructuras de datos
  • Álgebra Relacional
  • Cálculo Relacional de Tuplas/Dominios
  • SQL

Operadores (lenguajes)
  • Definición de relaciones
  • Restricciones generales

Restricciones
(estáticas)
6
1. Lógica y Bases de Datos introducción
  • Tupla
  • Relación

Estructuras de datos
tupla º registro
  • esquema de tupla t (A1, D1), (A2, D2), ,
    (An, Dn)
  • tupla t de esquema (A1, D1), (A2, D2), , (An,
    Dn)
  • t (A1, v1), (A2, v2), ,
    (An, vn) ?i ( vi ? Di)

7
1. Lógica y Bases de Datos introducción
  • Tupla
  • Relación

Estructuras de datos
Relación conjunto de tuplas del mismo esquema al
que se denomina esquema de la relación.
R
Definición de una relación R R (A1 D1, A2 D2
, , An Dn ) Extensión de R (A1, v1), (A2,
v2), , (An, vn) ?i ( vi ? Di )
A1 A2 A3 An
R
representación del esquema de una relación
representación tabular de la extensión de la
relación
8
1. Lógica y Bases de Datos introducción
  • Valor No Nulo (NOT NULL)
  • Unicidad (UNIQUE)
  • Clave Primaria (PRIMARY KEY)
  • Clave Ajena (FOREING KEY)
  • CHECK
  • CREATE ASSERTION

Restricciones de Integridad
9
1. Lógica y Bases de Datos introducción
  • Álgebra Relacional
  • Cálculo Relacional de Dominios
  • Cálculo Relacional de Tuplas

Lenguajes
SQL (estándar)
Operadores del Álgebra Relacional
insertar una tupla en una relación
borrar una tupla de una relación
seleccionar tuplas de una
relación que cumplen una



condición
proyectar los valores de las tuplas de una
relación sobre un conjunto de atributos.
concatenar relaciones
(join) unión, intersección, diferencia,
...
actualización
consulta
10
1. Lógica y Bases de Datos introducción
Lenguaje de tipo algebraico
Consulta Nombre de los ríos que sólo pasan por
una provincia ( ( Pasa_por rcod (
(Pasa_por P1 ? Pasa_por P2 ) DONDE P1.rcod
P2.rcod AND P1.pcod ? P2.pcod) rcod )
producto cartesiano
diferencia
proyección
concatenación
Río) nombre
selección
11
1. Lógica y Bases de Datos introducción
  • Álgebra Relacional
  • Cálculo Relacional de Dominios
  • Cálculo Relacional de Tuplas

Lenguajes
SQL (estándar)
SQL
INSERT (insertar tupals) DELETE (borrar tuplas)
actualización
SELECT
consulta
12
1. Lógica y Bases de Datos introducción
Lenguaje de tipo lógico
Consulta Nombre de los ríos que sólo pasan por
una provincia SELECT nombre FROM Río R WHERE
EXISTS (SELECT FROM Pasa_por P1 WHERE P1.rcod
R.rcod AND NOT EXISTS (SELECT FROM
Pasa_por P2 WHERE P2.rcod R.rcod AND
P1.pcod ltgt P2.pcod ) ) )
13
1. Lógica y Bases de Datos introducción
Relación conjunto de tuplas del mismo esquema.
Definición de una relación R R (A1 D1, A2 D2
, , An Dn ) Extensión de R (A1, v1), (A2,
v2), , (An, vn) ?i ( vi ? Di )
El Álgebra Relacional es un conjunto de
operadores definidos para la estructura de datos
relación (conjunto de tuplas).
El CRT, CRD y SQL son lenguajes lógicos definidos
sobre ???
Aproximación algebraica
Aproximación lógica
14
1. Lógica y Bases de Datos introducción
  • Formalización lógica de una base de datos
    relacional
  • Interpretación de un lenguaje de 1er orden
    (Teoría de Modelos)
  • Teoría de un lenguaje de 1er orden
    (Teoría de la Demostración)

15
1. Lógica y Bases de Datos introducción
Esquema S
Enseña (cod_prof dom_P, cod_curso dom_C) CP
cod_prof, cod_curso CAj cod_prof ?
Profesor CAj cod_curso ? Curso Matriculado
(cod_alum dom_A, cod_curso dom_C) CP
cod_alum, cod_curso CAj cod_alum ?
Alumno CAj cod_curso ? Curso
Dominios dom_P A, B, C dom_A a, b, c,
d dom_C CS100, CS200, P100, P200
Relaciones Profesor (cod_prof dom_P) CP
cod_prof Alumno (cod_alum dom_A) CP
cod_alum Curso (cod_curso dom_C) CP
cod_curso
Restricciones "Todo curso es impartido por
algún profesor"
16
1. Lógica y Bases de Datos introducción
Base de Datos Ext (S)
Ext(Profesor)
Ext(Alumno)
Ext(Curso)
Ext(Matriculado)
Ext(Enseña)
17
1. Lógica y Bases de Datos introducción
Formalización lógica de una base de datos
relacional interpretación de un lenguaje de 1er
orden.
Esquema S (L, RI)
Un conjunto de símbolos biyectivo con la unión de
los dominios de definición de las relaciones del
esquema C ci ci?di, di ? ?i (Di), Di es un
dominio de S
Constantes C
Lenguaje L
Predicados P
Nombres de relación del esquema P Rn R (A1
D1, A2 D2 , ..., An Dn) ? S ?
Fórmulas bien formadas (f.b.f) de L
RI
Restricciones de Integridad (RI)
18
1. Lógica y Bases de Datos introducción
Formalización lógica de una base de datos
relacional interpretación de un lenguaje de 1er
orden.
Interpretación I de L (D, K, E)
Unión de los dominios de definición de las
relaciones del esquema D di di ? ?i (Di),
Di es un dominio de S
Dominio D
Interpretación
Asignación (K, E)
K C ? D / K (c, d) c ? C, d ? D, c ?
d E P ? ?i1..n ( 2Di ) / E(pk) ? (2Dk),
E(pk) Ext(p) (pk es un predicado de aridad
k) E() (d, d) d ? D
19
1. Lógica y Bases de Datos introducción
Predicados P
Nombres de relación del esquema P Rn R (A1
D1, A2 D2 , ..., An Dn) ? S ?
En la definición del lenguaje L, hemos convertido
cada relación n-aria del esquema S en un
predicado n-ario, definiendo un orden en el
conjunto de atributos del esquema de la relación.
De esta forma el concepto de relación coincide
con el concepto de relación matemática
(subconjunto del producto cartesiano de los
dominios) se pierde el concepto de atributo de
una relación.
20
1. Lógica y Bases de Datos introducción
Unión de los dominios de definición de las
relaciones del esquema D di di ? ?i (Di),
Di es un dominio de S
Dominio D
Asignación (K, E)
E P ? ?i1..n ( 2Di ) / E(pk) ? (2Dk), E(pk)
Ext(p) (pk es un predicado de aridad k)
E() (d, d) d ? D
En la definición de la interpretación I de L,
hemos definido el dominio como la unión de los
dominios de definición de las relaciones del
esquema. De esta forma se pierde el concepto de
dominio de un atributo (lógica homogénea). Esta
simplificación no quita generalidad a la
formalización, ya que podría trabajarse en una
lógica con tipos (lógica heterogénea).
21
1. Lógica y Bases de Datos introducción
Esquema S (L, RI)
Constantes dom_P È dom_A È dom_C A, B, C,
a, b, c, d, CS100, CS200, P100, P200
Predicados Profesor(.), Alumno(.), Curso(.),
Enseña(.,.), Matriculado(.,.) ?
Lenguaje L
Variables X, Y, Z, Cuantificadores " ,
Conectivas lógicas Ù, Ú , Símbolos de
puntuación (, ),, ...
Restricciones de Integridad "x ( curso (x) ?
y enseña (y,x) )
Fórmula bien formada de L
RI
22
1. Lógica y Bases de Datos introducción
BD interpretación de L que es modelo de RI
D A, B, C, a, b, c, d, CS100, CS200, P100,
P200 K(A)A, K(B)B, , K(P200)P200
E() (d, d) d ?D
23
1. Lógica y Bases de Datos introducción
BD interpretación de L que es modelo de RI
D A, B, C, a, b, c, d, CS100, CS200, P100,
P200 K(A)A, K(B)B, , K(P200)P200
E() (d,d) d ?D
  • En esta formalización, L es un lenguaje de
    definición de datos y de consulta
  • f.b.f cerrada de L restricción de integridad
    (?x ( curso (x) ? ? y enseña (y,x) )
  • f.b.f abierta de L consulta a la BD (profesor
    (x) ? enseña (x, CS100) )

24
1. Lógica y Bases de Datos introducción
  • Formalización lógica de una base de datos
    relacional
  • Interpretación de un lenguaje de 1er orden
  • Teoría de un lenguaje de 1er orden

25
1. Lógica y Bases de Datos introducción
Formalización lógica de una base de datos
relacional teoría de un lenguaje de 1er orden.
Esquema S (L, RI) BD Interpretación I de L
Esquema S (L, RI) BD Teoría T de L
I F sii T F
26
1. Lógica y Bases de Datos introducción
Formalización lógica de una base de datos
relacional teoría de un lenguaje de 1er orden.
Axiomas de información básica en T Por cada
predicado n-ario p de L y por cada tupla ltd1,
..., dngt en la extensión de p en la base de
datos, se incluye en T el átomo p(d1, ...,
dn). T profesor(A), profesor(B), ...,
matriculado(d, P200) ? ?x (x, x)
27
1. Lógica y Bases de Datos introducción
Axiomas de compleción en T (información
negativa) Existen fórmulas F que no son
consecuencia lógica de la teoría T y sin embargo
son ciertas en la interpretación I, es decir T
?F y I F, por ejemplo la fórmula Prof(P100).
Para resolverlo se añade a T un axioma que
defina explícitamente quienes son los únicos
individuos para cada predicado ?x1, ..., xn
(p(x1, ..., xn) ? (((x1, d11) ? ... ? (xn,
d1n)) ? . . . (ltdi1, ..., dingt es una
tupla de p) ((x1, dm1) ? ... ? (xn,
dmn)))) T profesor(A), profesor(B), ...,
matriculado(d, P200), ?x (x, x), ?x
(profesor(x) ? ((x, A) ? (x, B) ?
(x,C))), ?x (alumno(x) ? ((x, a) ? (x, b) ?
(x,c) ? (x,d))),
28
1. Lógica y Bases de Datos introducción
Axiomas de nombre único en T Existen fórmulas F
que no son consecuencia lógica de la teoría T y
sin embargo son ciertas en la interpretación I,
es decir T ?F y I F, por ejemplo la fórmula
(A, B). Para resolverlo se añade a T un axioma
que defina explícitamente qué pares de constantes
no son iguales (c, c) c, c son dos
constantes distintas de C T profesor(A),
profesor(B), ..., matriculado(d, P200), ?x (x,
x), ?x (profesor(x) ? ( (x, A) ? (x, B) ?
(x,C))), ?x (alumno(x) ? ( (x, a) ? (x, b)
? (x,c) ? (x,d))), , (A, B), (A,
C), (A, a), ..., (P100, P200)
29
1. Lógica y Bases de Datos introducción
Axioma de cierre de dominio en T Existen fórmulas
F que no son consecuencia lógica de la teoría T y
sin embargo son ciertas en la interpretación I,
es decir T ?F y I F, por ejemplo la fórmula
dependiente del dominio, F ?x (Prof(x) ?
Curso(x) ? Alumno(x)). Para resolverlo se añade a
T un axioma que defina explícitamente el
domino ?x ((x, c1) ? ... ? (x, cm)) c1,
c2,...cm son las constantes de C. T
profesor(A), profesor(B), ..., matriculado(d,
P200), ?x (x, x), ?x (profesor(x) ? ( (x, A)
? (x, B) ? (x,C))), ?x (alumno(x) ? ( (x,
a) ? (x, b) ? (x,c) ? (x,d))), ,
(A, B), (A, C), (A, a), ..., (P100,
P200), ?x ((x, A) ? (x, B) ? ... ? (x,
P200))
30
1. Lógica y Bases de Datos introducción
Teoría T T p(d1, ..., dn) pn ? P, y ltd1,
..., dngt ? Ext(p), ?x (x, x),
?x1, ..., xn (p(x1, ..., xn) ? (((x1, d11)
? ... ? (xn, d1n)) ? . . . ((x1, dm1) ?
... ? (xn, dmn)))) pn ? P y ltdi1, ..., dingt ?
Ext(p), ?x1, ..., xn p(x1, ..., xn )
pn ? P y Ext(p) ?, (c, c) c y c
son constantes distintas de C, ?x ((x,
c1) ? (x, c2) ? ... ? (x, cm)) (c1, c2, , cm)
son las constantes de C
Axiomas de información básica
Axioma de la igualdad
Axiomas de compleción
Axiomas de nombre único
Axioma de cierre de dominio
31
1. Lógica y Bases de Datos introducción
Esquema S de la BD
Lenguaje de 1er orden L
Axiomas de información básica D p(d1, ...,
dn) pn ? P, y ltd1, ..., dngt ? Ext(p) (átomos
base)
Extensión D de la BD
T comp(D) ? axioma de cierre de
dominio
Teoría de primer orden en L
32
1. Lógica y Bases de Datos introducción
Esquema S de la BD
Lenguaje de 1er orden L
Programa lógico D A A es un átomo base
Extensión D de la BD
Semántica de D
L L es un literal base, T L
T comp(D) ? axioma de cierre de dominio
33
1. Lógica y Bases de Datos introducción
La teoría de la compleción formaliza hipótesis
implícitas en la evaluación de consultas en bases
de datos relacionales - hipótesis del mundo
cerrado - hipótesis del cierre del dominio -
hipótesis de nombre único
Hipótesis del mundo cerrado
axiomas de compleción
axioma de cierre de dominio
Hipótesis del cierre de dominio
Hipótesis de nombre único
axioma de nombre único
34
1. Lógica y Bases de Datos introducción
Axiomas de compleción para las relaciones del
esquema
A? D
Hipótesis del mundo cerrado
Ø A
D
HMC
35
Lógica y Bases de Datos 1. Lógica y Bases de
Datos introducción. 2. Bases de datos
deductivas definición y formalización. 3.
Actualización de vistas. 3.1. Introducción al
problema 3.2. Estudio avanzado del problema 4.
Comprobación de restricciones de integridad en
esquemas con vistas 4.1 Introducción al
problema 4.2 Estudio avanzado del problema 5.
SGBD deductivos. 5.1. Evaluación de
consultas 5.2. SQL3
36
2. Bases de datos deductivas definición y
formalización
Base de datos relacional
Conocimiento explícito
Base de datos relacional

Reglas deductivas
Reglas deductivas
Conocimiento implícito
Base de datos deductiva
Las Bases de Datos Deductivas extienden la
capacidad expresiva de las bases de datos
relacionales incluyendo un conjunto de reglas que
permiten definir conocimiento implícito
37
2. Bases de datos deductivas definición y
formalización
Padre
Reglas Deductivas
Antecesor (x, y) Padre (x, y) Antecesor (x, y)
?z (Padre (x, z) Ù Antecesor (z, y) )
Base de datos deductiva
Juan es antecesor de Luis Juan es antecesor de
María Juan es antecesor de Pedro Luis es
antecesor de José
38
2. Bases de datos deductivas definición y
formalización
Hechos tuplas de relaciones (información
básica)
Hechos
Información derivada
Sistema de inferencia
Reglas reglas deductivas (conocimiento
implícito)
Reglas
Sistema de Gestión de Bases de Datos Relacionales
Base de datos relacional


Reglas deductivas
Usuario
Sistema de Inferencia
Base de datos deductiva
Sistema de gestión de bases de datos deductivas
39
2. Bases de datos deductivas definición y
formalización
Relación derivada
Base de datos deductiva
Padre
Antecesor
Reglas Deductivas
Antecesor (x, y) Padre (x, y) Antecesor (x, y)
?z (Padre (x, z) Ù Antecesor (z, y))
40
2. Bases de datos deductivas definición y
formalización
Bases de Datos Deductivas
Bases de Datos Relacionales
ESQUEMA Relaciones Ri (Ai1 Di1, Ai2 Di2 ,
..., Aini Dini) (1 i m) (m
relaciones) Restricciones de Integridad Wi Wi
es una expresión lógica (1 i k) (k
restricciones de integridad)
ESQUEMA Relaciones básicas Ri (Ai1 Di1, Ai2
Di2 , ..., Aini Dini) (1 i m) (m
relaciones básicas) Relaciones derivadas Si
(Ai1 Di1 , Ai2 Di2 , ..., Aini Dini) (1 i
s) (s relaciones derivadas) Restricciones
de Integridad Wi Wi es una expresión lógica (1
i k) (k restricciones de integridad)
41
2. Bases de datos deductivas definición y
formalización
Bases de Datos Relacionales
Bases de Datos Deductivas
Base de datos
Base de datos
Ri Í (Di1 x Di2 x ... x Dini ) (1 i m)
(m relaciones básicas)
Ri Í (Di1 x Di2 x ... x Dini) (1 i m)
(m relaciones)
Sij (x1, x2,..., xni ) Wij (1 i s)
(s relaciones derivadas) (1 j Ki)
(Ki reglas para la relación Si)
Ri
42
2. Bases de datos deductivas definición y
formalización
Bases de Datos Deductivas
Bases de Datos Relacionales
Base de datos
Base de datos
Ri Í (Di1 x Di2 x ... x Dini ) (1 i m)
(m relaciones básicas)
Ri Í (Di1 x Di2 x ... x Dini) (1 i m)
(m relaciones)
Sij (x1, x2,..., xni ) Wij (1 i s)
(s relaciones derivadas) (1 j Ki)
(Ki reglas para la relación Si)
Si definimos un orden en el conjunto de atributos
del esquema de la relación, el concepto de
relación coincide con el concepto de relación
matemática (subconjunto del producto cartesiano
de los dominios) se pierde el concepto de
atributo de una relación.
En la definición de una regla deductiva, S ? W W
es una fórmula cuyas únicas variables libres son
las variables de S.
43
2. Bases de datos deductivas definición y
formalización
Relaciones básicas PIEZA (codpieza D1, desc
D2, peso D3) CP codpieza PROV (codprov D4,
nombre D5, zona D6) CP codprov PRECIOS
(codprov D4, codpieza D1, precio D7) CP
codprov, codpieza CAj codprov PROV CAj
codpieza PIEZA COMP (pieza1 D1, pieza2
D1) CP pieza1, pieza2 CAj pieza1
PIEZA CAj pieza2 PIEZA
Esquema
44
2. Bases de datos deductivas definición y
formalización
Relaciones derivadas PRECIOS3 (codprov D4,
codpieza D1, precio D7) CP codprov,
codpieza CAj codprov PROV CAj codpieza
PIEZA PRECIOS_EXT (codprov D4, nombre D5,
codpieza D1, desc D2, precio D7) CP
codprov, codpieza CAj codprov PROV CAj
codpieza PIEZA COMPONENTE (pieza1 D1,
pieza2 D1) CP pieza1, pieza2 CAj pieza1
PIEZA CAj pieza2 PIEZA Restricciones de
integridad "x "y ( COMPONENTE (x,y) Ø
COMPONENTE (y,x) )
Esquema
45
2. Bases de datos deductivas definición y
formalización
PIEZA
PROV
Base de Datos
PRECIOS
COMP
46
2. Bases de datos deductivas definición y
formalización
Reglas deductivas 1 PRECIOS3 (x, y, z) ?w
(PROV (x, w, 3) ? PRECIOS (x, y, z) ) 2
COMPONENTE (x, y) ?z (COMP (x, z) Ù COMPONENTE
(z, y) ) 3 COMPONENTE (x, y) COMP (x, y) 4
PRECIOS_EXT (x, n, y, d, p) ?z ?w (PROV (x, n,
z) Ù PIEZA (y, d, w) ? PRECIOS (x, y, p) )
Base de Datos
Se asume la notación de la Programación Lógica
todas las variables libres en la regla se suponen
cuantificadas universalmente.
47
PROV
PIEZA
PRECIOS
COMP
BASE DE DATOS
PRECIOS3
COMPONENTE
PRECIOS_EXT
El usuario desea manipular las relaciones de la
BD independientemente de que sean relaciones
básicas o derivadas.
48
2. Bases de datos deductivas definición y
formalización
Definición de información implícita
Mecanismo de vistas del modelo relacional
Relación derivada PRECIOS3
VISTA
SQL92 CREATE VIEW PRECIOS3 AS SELECT codprov,
codpieza, precio FROM PRECIOS, PROV WHERE
(PRECIOS.codprov PROV.codprov AND
(PROV.zona3)
49
2. Bases de datos deductivas definición y
formalización
Limitaciones del modelo relacional (SQL92) en la
definición de vistas
Relación derivada COMPONENTE
VISTA
SQL CREATE VIEW COMPONENTE AS SELECT pieza1,
pieza2 FROM COMP UNION SELECT pieza1,
pieza2 FROM COMP, COMPONENTE ...................
En SQL92 no se pueden definir vistas recursivas!
50
2. Bases de datos deductivas definición y
formalización
Limitaciones del modelo relacional (SQL92) en la
actualización de vistas
opción 1
INSERT INTO PRECIOS3 VALUES (pv12, pz23, 20)
INSERT INTO PRECIOS VALUES (pv12,pz23,20)
el proveedor existe?
la pieza existe?
NO
SI
NO
SI
INSERT INTO PROV VALUES (pv12,NULL,3)
INSERT INTO PIEZA VALUES (pz23,NULL,NULL)
el proveedor es de la zona 3?
SI
NO
error
c
51
2. Bases de datos deductivas definición y
formalización
Limitaciones del modelo relacional (SQL92) en la
actualización de vistas
opción 2
INSERT INTO PRECIOS3 VALUES (pv12, pz23, 20)
el proveedor pv12 existe y es de la zona 3 y la
pieza pz23 existe?
SI
NO
error
INSERT INTO PRECIOS VALUES (pv12, pz23, 20)
52
2. Bases de datos deductivas definición y
formalización
Limitaciones del modelo relacional (SQL92) en la
actualización de vistas
INSERT INTO PRECIOS3 VALUES (pv12, pz23, 20)
opción 1
opción 2
Debido a la ambigüedad existente, el SQL92 no
permite actualizar vistas definidas a partir de
una concatenación de tablas!
53
2. Bases de datos deductivas definición y
formalización
Los sistemas de gestión de bases de datos
deductivas deben superar las limitaciones de los
sistemas relacionales
  • PROBLEMAS
  • Formalización
  • Actualización de la base de datos
  • Construcción de SGBD deductivos

54
2. Bases de datos deductivas definición y
formalización
Bases de Datos Deductivas
ESQUEMA Relaciones básicas Ri (Ai1 Di1, Ai2
Di2 ..., Aini Dini) (1 i m) (m
relaciones básicas) Relaciones derivadas Si
(Ai1 Di1, Ai2 Di2 , ..., Aini Dini) (1 i
s) (s relaciones derivadas)
notación algebraica
BASE DE DATOS
Ri Í (Di1 x Di2 x ... x Dini ) (1 i m)
Sij (x1, x2,..., xni ) Wij (1 i s) (1
j Ki)
notación lógica
55
2. Bases de datos deductivas definición y
formalización
Formalización
Si intentamos representar la información
explícita y la información implícita en un mismo
lenguaje (lenguaje de 1er orden) obtenemos un
programa lógico
pieza (pz1, tornillo, 10) ... prov (pv1, Juan,
1) ... comp (pz1, pz3) ... precios3 (x, y, z)
?w (prov (x, w, 3) Ù precios (x, y, z)
) componente (x, y) ?z ( comp (x, z) Ù
componente (z, y) ) componente (x, y) comp (x,
y) precios_ext (x,n,y,d,p) ?z?w (prov (x, n, z)
Ù pieza (y, d, w) Ù precios (x, y, p) )
Base de datos deductiva
Reglas deductivas Hechos
56
2. Bases de datos deductivas definición y
formalización
Lenguaje de definición de reglas Lenguaje de
1er orden
Programa lógico
Base de datos deductiva
Sistema de gestión de bases de datos deductivas
Sistema de programación lógica
57
2. Bases de datos deductivas definición y
formalización
MARCO FORMAL Lógica de primer orden
(Programación Lógica) Esquema de BDD (L,
RI) - L es un lenguaje de 1er orden - RI es
un conjunto de f.b.f de L (restricciones de
integridad) BDD (programa lógico) A A es un
átomo base (hechos) È A L1 Ù L2 Ù ...
Ù Ln A es un átomo y Li es un literal
(reglas)
58
2. Bases de datos deductivas definición y
formalización
  • BDD (programa lógico)
  • A A es un átomo base
  • È
  • A L1 Ù L2 Ù ... Ù Ln A es un átomo y Li
    es un literal

BASE DE DATOS
Ri Í (Di1 x Di2 x ... x Dini ) (1 i m)
Sij (x1, x2,..., xni ) Wij (1 i
s) (1 j Ki)
En la formalización como un programa lógico, las
reglas se definen como cláusulas (disyunción de
literales). Esta simplificación no quita
generalidad ya que el algoritmo de Lloyd LT84
permite transformar una regla general, S? W, en
un conjunto de cláusulas equivalentes en la
semántica de la compleción.
59
2. Bases de datos deductivas definición y
formalización
BDD (programa lógico) A A es un átomo
base (hechos) È A L1 Ù L2 Ù ... Ù Ln
A es un átomo y Li es un literal (reglas)
BDD definida sin negación en el cuerpo de las
reglas BDD normal con negación en el cuerpo de
las reglas BDD jerárquica sin recursión BDD
estratificada con recursión (no en términos de
negación)
60
2. Bases de datos deductivas definición y
formalización
Esquema (L, RI)
Unión de los dominios de definición de las
relaciones del esquema
Constantes
Lenguaje L
Predicados
Nombres de relación del esquema
Fórmulas bien formadas (f.b.f) de L
RI
Restricciones de Integridad (RI)
61
2. Bases de datos deductivas definición y
formalización
Esquema (L, RI)
Constantes D1 È D2 È D3 È D4 È D5 È D6 È D7
pz1, pz3, , tornillo, tuerca, , pv1, pv5, ...,
Juan, Predicados PIEZA, PROVEEDOR, PRECIOS,
PRECIOS_EXT, PRECIOS3, COMP, COMPONENTE
Lenguaje L
Variables X, Y, Z, Cuantificadores " ,
Conectivas lógicas Ù, Ú , Símbolos de
puntuación (, ),, ...
Restricciones de Integridad "x "y ( componente
(x,y) Ø componente (y,x) )
Fórmulas bien formadas de L
RI
62
2. Bases de datos deductivas definición y
formalización
BDD
pieza (pz1, tornillo, 10), ..., proveedor (pv1,
Juan, 1), ..., precios (pv1, pz3, 100), ..., comp
(pz1, pz3), ...
Fórmulas bien formadas de L
Hechos
È
precios3 (x, y,z) precios (x, y, z) Ù prov (x,
w, 3) componente (x, y) comp (x,z) Ù
componente (z, y) componente (x, y) comp (x,
y) precios_ext (x,n,y,d,p) prov (x, n, z) Ù
pieza (y, d, w) Ù precios (x, y, p)
Reglas deductivas
63
2. Bases de datos deductivas definición y
formalización
Esquema de la BDD
Lenguaje de 1er orden L
Extensión de la BDD
Programa lógico (D)
64
2. Bases de datos deductivas definición y
formalización
Semántica de una BDD
  • Programación lógica semántica operacional
    SLDNF
  • semántica declarativa comp(D)
  • Semántica operacional procedimiento SLDNF
  • SLDNF - procedimiento de refutación
  • - reglas de inferencia
  • resolución
  • negación como fallo
  • Semántica declarativa asociada al SLDNF
    compleción de D

65
componente (pz1,w)
Procedimiento SLDNF
2
3
comp (pz1,z) Ù componente (z,w)
comp (pz1,w)
z/pz3
hecho
hecho
w/pz3
componente (pz3,w)
3
2
comp (pz3,w)
comp (pz3,z ) Ù componente (z ,w)
De qué piezas se compone la pieza pz1?
w/pz8
z/pz8
hecho
hecho
componente ( pz8,w)
2
3
comp (pz8,w)
comp (pz8,z ) Ù componente (z ,w)
w pz3 w pz8
2 componente (x, y) comp (x, z) Ù componente
(z, y) 3 componente (x, y) comp (x, y)
66
Procedimiento SLDNF
componente (pz1,w)
componente (x,y) comp (x,z) Ù componente (z,y)
regla 2
x/pz1
y/w
comp (pz1,z) Ù componente (z,w)
comp (pz1,pz3)
hecho
z/pz3
De qué piezas se compone la pieza pz1?
componente (pz3,w)
componente (x,y) comp (x,y)
regla 3
respuesta
x/pz3
y/w
comp (pz3,w)
comp (pz3,pz8)
hecho
w pz8
w/pz8
éxito
67
Procedimiento SLDNF
proveedor (x, y, z) Ù Ø precios (x,pz1,30)
hecho
proveedor (pv1,Juan,1)
Qué proveedores no suministran la pieza pz1 a
30?
x/pv1, y/Juan, z/1
Ø precios (pv1, pz1,30)
precios (pv1,pz1,30)
negación como fallo
respuesta
x/pv1
fallo
éxito
68
2. Bases de datos deductivas definición y
formalización
Semántica declarativa teoría de la compleción
de D (comp(D))
precios (pv1, pz1, 30)
Suministra el proveedor pv1 la pieza pz1 a 30?
no
precios (pv1, pz1, 30)
SLDNF no infiere consecuencias lógicas de
D SLDNF infiere consecuencias lógicas de comp(D)
D
Ø precios (pv1, pz1, 30)
D
69
2. Bases de datos deductivas definición y
formalización
precios (pv1, pz3,10), precios (pv1,
pz8,20), precios (pv3, pz8, 30), precios (pv5,
pz1,50), , ...
D
precios (pv1, pz1, 30)
D
Ø precios (pv1, pz1, 30)
D
Comp(D)
precios (pv1, pz3,10), precios (pv1, pz8,
20), precios (pv3, pz8, 30), precios (pv5, pz1,
50), "x "y "z ( precios (x, y, z) (xpv1 Ù
ypz3 Ù z10) Ú (x pv1 Ù y pz8 Ù z 20) Ú (x
pv3 Ù y pz8 Ù z 30) Ú (x pv5 Ù y pz1 Ù z 50)
), ...
Ø precios (pv1, pz1, 30)
Comp(D)
70
2. Bases de datos deductivas definición y
formalización
"x "y "z ( precios (x, y, z) (xpv1 Ù ypz3 Ù
z10) Ú (x pv1 Ù y pz8 Ù z 20) Ú (x pv3 Ù
y pz8 Ù z 30) Ú (x pv5 Ù y pz1 Ù z 50) )
(precios (pv1, pz1,30) (pv1pv1 Ù pz1pz3 Ù
3010) Ú (pv1pv1 Ù pz1pz8 Ù 3020) Ú
(pv1pv3 Ù pz1pz1 Ù 3030) Ú (pv1pv5 Ù pz1pz1
Ù 3050) )
Ø (pv1pv1 Ù pz1pz3 Ù 3010) Ø (pv1pv1 Ù
pz1pz1 Ù 3020) Ø (pv1pv3 Ù pz1pz8 Ù
3030) Ø (pv1 pv5 Ù pz1pz1 Ù 3050)
Ø precios (pv1, pz1, 30)
71
2. Bases de datos deductivas definición y
formalización
comp (D)
pieza (pz1, tornillo, 10), ..., proveedor (pv1,
Juan, 1), ..., precios (pv1, pz3, 100), ..., comp
(pz1, pz3), ...
Axiomas de hechos
È
precios3 (x, y,z) precios (x, y, z) Ù prov (x,
w, 3) componente (x, y) comp (x,z) Ù
componente (z, y) componente (x, y) comp (x,
y) precios_ext (x,n,y,d,p) prov (x, n, z) Ù
pieza (y, d, w) Ù precios (x, y, p)
Axiomas de reglas
È
72
È
"x "y "z pieza (x, y, z) (x pz1 Ù y tornillo
Ù z10) Ú (x pz3 Ù y tuerca Ù
z11) Ú (x pz8 Ù y arandela Ù
z8) ... "x "y "z precios3 (x, y, z) precios
(x,y,z) Ù prov (x,w,3) ... "x "y componente
(x,y) comp(x,y) Ú z (comp(x,z) Ù
componente (z,y))
Axiomas de compleción
73
2. Bases de datos deductivas definición y
formalización
Teoría de la compleción comp(D) p(t1,.., tn) ?
L1 ? L2 ? ... ? Lm ? p(x1,..., xn) ? ?y1... ?yd
(x1t1 ? ... ? xntn ? L1 ? L2 ? ... ? Lm) Com(D)
p(x1,..., xn) ? E1 . . . (Ei
?y1... ?yd (x1t1 ? ... ? xntn ? L1 ? L2 ? ... ?
Lm) ) p(x1,..., xn) ? Ek , ?x1, ..., xn (
p(x1, ..., xn) ? (E1 ? ... ? Ek) ), ?x1, ...,
xn p(x1, ..., xn) no existen sentencias de p
en D ?x (x, x), (A, B), (A, C),
(A, a), ..., (P100, P200) ?x ((x,
A) ? (x, B) ? ... ? (x, P200))
Axiomas sobre p en D
Axiomas de compleción de p
Axiomas de la igualdad
Axioma de cierre de dominio
74
2. Bases de datos deductivas definición y
formalización
BDD
PL
reglas

hechos gtgtgt reglas hechos
relaciones de D - básicas - derivadas
predicados de P
lenguaje libre de funciones
no
hechos y reglas son independientes del dominio
no
tiempo del sistema de inferencia
tiempo de acceso a los datos
eficiencia º
eficiencia º
75
Bases de Datos Deductivas 1. Lógica y Bases de
Datos introducción. 2. Bases de datos
deductivas definición y formalización. 3.
Actualización de vistas. 3.1. Introducción al
problema 3.2. Estudio avanzado del problema 4.
Comprobación de restricciones de integridad en
esquemas con vistas 4.1 Introducción al
problema 4.2 Estudio avanzado del problema 5.
SGBD deductivos. 5.1. Evaluación de
consultas 5.2. SQL3
76
3. Actualización de vistas
3.1 Introducción al problema.
Actualización sobre relación derivada
Actualización(es) sobre relación(es) básicas(s)
Dada una base de datos D (DBDI È BDE) y un
requisito de actualización insertar (A) (resp.
borrar (A)) donde A es una tupla de una relación
derivada, encontrar una transacción T sobre EDB
tal que T(D) satisfaga el requerimiento de
actualización
Ejemplo DELETE FROM PRECIOS_EXT WHERE codprovpv1
77
PIEZA
PRECIOS_EXT
PRECIOS
PROV
T1borrar (PROV (pv1,Juan,1)) T2borrar (PIEZA
(pz3,tuerca,11), borrar (PIEZA
(pz8,arandela,8)) T3borrar (PRECIOS
(pv1,pz3,10), borrar (PRECIOS (pv1,pz8,20))
78
3. Actualización de vistas
Métodos para la actualización de bases de datos
deductivas
Utilización de los procedimientos de
evaluación de consultas para determinar los
posibles caminos de derivación del conocimiento
que se desea a actualizar
79
SLDNF
precios_ext (pv1, x1, x2, x3, x4)
4
prov (pv1, x1, x5) Ù pieza (x2,x3,x6) Ù precios
(pv1,x2,x4)
T1
prov(pv1,Juan,1)
x1 / Juan
pieza (x2,x3,x6) Ù precios (pv1,x2,x4)
pieza(pz3,tuerca,11)
pieza(pz8,arandela,8)
T2
T2
x2 / pz8, x3 / arandela
x2 / pz3, x3 / tuerca
precios (pv1,pz3,x4)
precios (pv1,pz8,x4)
precios(pv1,pz3.10)
precios(pv1,pz8,20)
T3
T3
x4/ 10
x4/ 20
80
3. Actualización de vistas
BDD 1. q(x) ? r(x) ? p(x) 2. q(x) ? s(x) p(a)
Act borrar(q(a))
q(a)
1
2
resolución
r(a) ? p(a)
s(a)
r(a)
NF
p(a)
T1 insertar (r(a)) T2 borrar (p(a))
p(a)
resolución
81
3. Actualización de vistas
Act insertar(p(a))
BDD 1. p(x) q(x) Ù f(x) 2. p(x) s(x) Ù
n(x) 3. s(x) r(x) 4. s(x) t(x) Ù
m(x) r(a), q(a), m(a)
? p(a)
1
2
resolución
? q(a) ? f(a)
? s(a) ? n(a)
3
4
resolución
? t(a) ? m(a) ? n(a)
? r(a) ? n(a)
r(a)
resolución
T1 insertar (f(a)), borrar (q(a)) T2
insertar (t(a)), borrar (m(a)), insertar
(n(a)) T3 insertar (n(a))
? n(a)
82
3. Actualización de vistas
Procedimientos de borrado e inserción de una
tupla de una relación derivada
Hipótesis
- reglas deductivas sin recursión (BDD
jerárquicas) - procedimiento de evaluación
SLDNF - regla de selección de literales en un
paso de derivación seleccionar primero los
literales derivados positivos y sólo seleccionar
un literal negativo cuando es base.
Características
- sólo actualizan la base de datos explícita -
procedimientos recursivos (se llaman mutuamente)
83
Procedimiento de borrado Borrado (D, A,
?) Entrada una base de datos D y un requisito de
borrado borrar(A) donde A es una tupla de una
relación derivada Salida un conjunto de
transacciones ? Inicio t un árbol SLDNF para D
? ? A ? T1, ..., Tn (debe existir
un Ti por cada rama de éxito del árbol t) Ti
borrar(C) donde C es un hecho de D utilizado como
cláusula de entrada en una rama de éxito de
t o Ti insertar(B) tal que B es básico y
B tiene éxito en una rama no fallada de
t o Ti ? ? tal que B tiene éxito en una
rama no fallada de t, B es derivado y ? es la
salida de la llamada al procedimiento de
inserción con argumentos de entrada D y B Fin
84
Procedimiento de inserción Inserción (D, A,
?) Entrada una base de datos D y un requisito de
inserción insertar(A) donde A es una tupla de una
relación derivada Salida un conjunto de
transacciones ? Inicio ? T1, ..., Tn
r una rama (derivación) SLDNF fallada para D ?
? A ? L1 ? ... ? Ln es el objetivo que
falla en r, Li (i1.. n) es base Ti insertar
(B) si Li B y B es básico (hecho) y B ?
D o Ti borrar(B) si Li B y B es básico
(hecho) y B ? D o Ti ? ? si Li B y B es
derivado y ? es la salida de la llamada al
procedimiento de borrado con argumentos de
entrada D y B Fin seleccionar primero
los literales derivados positivos y sólo
seleccionar un literal negativo cuando es base
(los literales se pueden seleccionar en cualquier
orden) se deben buscar las derivaciones que
cumplan esta propiedad porque a partir de ellas
se pueden encontrar transacciones
85
p(a)
Act insertar (p(a))
BDD 1. p(x) q(x) Ù f(x) 2. p(x) m(x) Ù
n(x) 3. q(x) r(x) Ù t(x) r(a), m(a)
1
2
resolución
q(a) Ù f(a)
m(a) Ù n(a)
T1borrar(m(a)), insertar(n(a))
q(a)
T1 borrar (r(a)), insertar (f(a)) T2
insertar (t(a)), insertar (f(a))
3
resolución
r(a) Ù t(a)
r(a)
resolución
t(a)
g1 insertar(t(a)) g2 borrar(r(a))
borrar(q(a))
NF
86
3. Actualización de vistas
3.2 Estudio avanzado del problema.
Enunciado del problema Dados el esquema (L,RI)
de una base de datos deductiva, un estado de base
de datos D de ese esquema tal que ?W ? RI se
cumple que D satisface W, y dado un requisito de
actualización U tal que U no es cierto en D
entonces encontrar una transacción T tal que ?W ?
RI, D T(D) satisface W y U es cierto en D.
87
3. Actualización de vistas
Ejemplo 1
1. p(x) ? q(x) ? t(x) 2. p(x) ? w(x) ? v(x) 3.
t(x) ? s(x) ? r(x)
Actualización U p(1)
1) w(1), v(1) Í BDE 2) q(1), s(1) Í BDE y
r(1) ? BDE 3) p(1) Í BDE 4) q(1), t(1) Í
BDE
Obtener transacciones que aseguren una de estas
cuatro situaciones
88
3. Actualización de vistas
Caracterización del problema
  1. Tiempo de generación de la solución.
  2. Variables cuantificadas existencialmente
  3. Recursividad
  4. Información asumida
  5. Tratamiento de restricciones de integridad

89
3. Actualización de vistas
  • 1) Tiempo de generación de la solución.
  • Tiempo de ejecución el árbol de derivación para
    el requisito de actualización se genera cuando la
    actualización es solicitada.
  • Tiempo de definición el árbol de derivación para
    un requisito de actualización se estudia cuando
    se define el esquema de la base de datos, lo que
    supone una mejora ya que determinadas tareas sólo
    se realizan una vez.
  • Mixto en este caso una parte de la solución se
    genera en tiempo de definición del esquema y se
    completa en tiempo de ejecución.

90
3. Actualización de vistas
  • En el Ejemplo 1
  • un método que obtuviese la solución en tiempo de
    ejecución estudiaría el árbol de derivación de la
    actualización p(1) para encontrar una solución.
  • un método que trabajase en tiempo de definición
    del esquema estudiaría el requisito genérico p(x)
    para obtener soluciones que luego se
    instanciarían en tiempo de ejecución.

91
3. Actualización de vistas
2) Variables existencialmente cuantificadas.
Dada una regla deductiva de una base de datos
normal, a las variables que aparecen en el cuerpo
de la regla y no aparecen en la cabeza se les
denomina variables existencialmente
cuantificadas.
?x1 ¼?xi ¼?xm (A ? L1 Ù ? Ù Ln) ? (xi no
aparece en A) ?x1 ¼?xi-1 ?xi1 ¼ ?xm (A ? xi (L1
Ù ¼ Ù Ln))
La presencia de variables existencialmente
cuantificadas en las reglas deductivas puede
provocar la aparición del problema llamado falta
de valores durante la generación de las
transacciones que resuelven un requisito de
actualización.
92
3. Actualización de vistas
BDD 1. p(x) ? q(x,y) ? t(x,y) . t(1,2)
Ejemplo 2
p(1)
Actualización U p(1).
1
resolución
q(1,y) ? t(1,y)
y (q(1,y) Ù t(1,y))
y/--
Una solución sencilla a este problema consiste en
utilizar el valor nulo para la variable de la que
se desconoce el valor o bien un valor cualquiera
proporcionado por el usuario o extraído sin
criterio de la base de datos. Aunque en ocasiones
esta solución es la única posible, en otras se
puede elegir un valor tal que la transacción
obtenida sea más sencilla.
93
3. Actualización de vistas
BDD 1. p(x) ? q(x,y) ? t(x,y) . t(1,2)
Ejemplo 2
p(1)
Actualización U p(1).
1
resolución
q(1,y) ? t(1,y)
y (q(1,y) Ù t(1,y))
y/ nulo
y/ c
y/ 2
T1 insertar(q(1,nulo)), insertar(t(1,nulo))
T2 insertar(q(1, c)), insertar(t(1, c))
T3 insertar(q(1,2))
94
3. Actualización de vistas
3) Recursividad. La presencia de reglas
recursivas en la base de datos puede complicar la
generación de la transacción, ya que el árbol de
derivación puede ser infinito para un determinado
requisito de actualización, lo que supone la
existencia de infinitas transacciones posibles
para satisfacerlo.
95
3. Actualización de vistas
Ejemplo 3
BDD 1. p(x,y) ? q(x,y) 2. p(x,y) ? q(x,z) ?
p(z,y)
Actualización U p(1,1).
Para satisfacer este requisito hay infinitas
transacciones posibles T1 insertar(q(1,1))
T2 insertar(q(1,2)), insertar(q(2,1)) T3
insertar(q(1,2)), insertar(q(2,3)),
insertar(q(3,1))
96
3. Actualización de vistas
4) Problema de la información asumida. En
presencia de negación en las reglas deductivas,
es posible que algunas soluciones que podrían
parecer correctas no lo sean, ya que alguna
información que se ha supuesto cierta (resp.
falsa), durante la construcción de la solución
pase a ser falsa (resp. cierta) debido a las
actualizaciones propuestas más adelante.
97
3. Actualización de vistas
BDD 1. p(x) ? r(x,y) Ù Ø s(x,y) Ù q(x,y) 2.
s(1,2) ? q(1,2) r(1,2)
Ejemplo 4
p(1)
Actualización U p(1).
resolución
1
y (r(1,y) Ù Ø s(1,y) Ù q(1,y))
r(1,2) ? s(1,2) ? q(1,2)
r(1,y) ? s(1,y) ? q(1,y)
y/2
r(1,2) ? BDE s(1,2) fallo finito q(1,2) ? BDE
T1 insertar( q(1,2))
s(1,2)
s(1,2)
T1 no es una solución correcta porque induce la
inserción de s(1,2) que se había asumido falsa en
la construcción de la solución.
2
resolución
2
resolución
q(1,2)
q(1,2)
q(1,2)
resolución
98
3. Actualización de vistas
5) Tratamiento de las restricciones de
integridad. La solución propuesta para un
requisito de actualización puede suponer la
violación de alguna restricción de integridad por
lo que es interesante estudiar cómo integra cada
método, si lo hace, su estrategia con la
comprobación de las restricciones del esquema.
99
3. Actualización de vistas
Ejemplo 5
BDD 1. p(x) ? q(x) Ù r(x) W ?x (r(x) ?
t(x))
p(1)
1
resolución
Actualización U p(1).
q(x) ? r(x)
T1 insertar(q(1)), insertar(r(1))
T1 no es una solución correcta porque el estado
T1(BDD) viola la restricción de integridad W
Un método que integre la generación de las
soluciones con la restauración de la integridad
podría generar la transacción insertar(q(1)),
insertar(r(1)), insertar(t(1)).
100
3. Actualización de vistas
Estudio de un método de actualización 1. Semántic
a asumida la semántica declarativa determina el
conjunto de posibles soluciones al requisito de
actualización y la semántica operacional
constituye la herramienta para computar esas
soluciones. 2. Bases de datos tipo de bases de
datos y de restricciones de integridad para los
que está definido el método. 3. Requisitos de
actualización forma sintáctica de los requisitos
de actualización permitidos en el
método. 4. Transacciones generadas tipo de
soluciones obtenidas y si sólo se obtiene una o
todas las soluciones posibles. 5. Descripción del
método estrategia seguida para generar las
transacciones. 6. Corrección y completitud del
método. 7. Resumen cómo el método resuelve los
problemas antes mencionados.
101
3. Actualización de vistas
  • Métodos
  • Método de Kakas y Mancarella
  • Método de Guessoum y Lloyd

102
  • Método de Kakas y Mancarella
  • Este método se basa en el procedimiento de
    abducción de Eshghi y Kowalski definido en
    EK89.
  • Semántica asumida.
  • semántica declarativa modelo estable GL88.
  • semántica operacional procedimiento de
    abducción de Eshghi y Kowalski.
  • Bases de datos.
  • bases de datos localmente estratificadas
  • sin restricciones de integridad específicas.

KM90 Kakas, A. C. Mancarella, P. Database
updates through abduction. Proc. 16th
International Conference on Very Large Databases,
1990, págs. 650-661. EK89 Eshghi, K. Kowalski,
R.A. Abduction compared with negation by failure.
Proc. 6th International Conference on Logic
Programming, MIT Press, 1989.
103
  • Marco Abductivo
  • Debido a la semántica operacional asumida, la
    base de datos se traduce a un marco abductivo.
  • Dado un estado de base de datos D BDE È BDI,
    el marco abductivo asociado con D es lt BDI, Ab,
    RI gt donde
  • BDI es el conjunto de reglas deductivas
    obtenido a partir de BDI, reemplazando cada
    literal negativo Øq( ) por un nuevo literal
    positivo q( ).
  • Ab está formado por el conjunto de símbolos de
    predicados básicos junto con un nuevo predicado
    p por cada predicado básico o derivado p. Ab es
    el conjunto de predicados abducibles. Un átomo es
    abducible si su predicado lo es.
  • RI es un conjunto de restricciones de
    integridad tal que para todo conjunto ? de
    hipótesis abducidas sobre predicados de Ab
    representadas por átomo abducibles, BDI È D debe
    satisfacer
  • RI ? p() Ù p() È p() Ú p() p es
    un predicado de la base de datos.
  • (Estas restricciones de integridad definen la
    equivalencia entre p() y ? p()).

104
Ejemplo 6 BDI 1. p(x) ? q(x) ? r(x) 2. p(x)
? t(x) 3. r(x) ? s(x) Marco abductivo BDI
p(x) ? q(x) ? r(x), Ab q, s, t, p, q, r,
s, t p(x) ? t(x), r(x) ? s(x) RI
? p(x) ? p(x), p(x) ? p(x), ? q(x) ? q(x),
q(x) ? q(x), ? r(x) ? r(x), r(x) ? r(x), ?
s(x) ? s(x), s(x) ? s(x), ? t(x) ? t(x),
t(x) ? t(x)
105
Método de Kakas y Mancarella
Requisitos de actualización. insertar(A) o
borrar(A) (A es un átomo derivado
base) Transacción generada. conjunto de
operaciones de inserción y borrado de hechos.
106
Método de Kakas y Mancarella
  • Descripción del método.
  • Dado un requisito de actualización insertar(p())
    (resp. borrar(p())) el método distingue dos
    etapas
  • Paso A Búsqueda de una derivación abductiva para
    ? p() (resp. ? p()). Este paso devuelve un
    conjunto de hipótesis ? tal que BDI ? ? implica
    p() (resp. p()) y tal que BDI ? ? es
    consistente y no viola RI.
  • Paso B Obtención de una transacción T sobre BDE
    tal que el estado T(D) implique cualquier
    hipótesis en ?.
  • Dado un átomo L p() (resp. L p()) con la
    expresión L se representará al átomo p() (resp.
    p()).
  • Una regla de selección R es segura si es una
    función parcial tal que dado un objetivo ? L1 ?
    ? Lk (k ? 1) devuelve un átomo Lj (1 ? j ? k) tal
    que Lj no es abducible o Lj es abducible y base.

107
Método de Kakas y Mancarella
  • Paso A Procedimiento de demostración abductivo.
  • El procedimiento abductivo se basa en las
    definiciones de
  • derivación abductiva y
  • derivación de consistencia.

108
  • Derivación abductiva. Una derivación abductiva
    desde (G1 ?1) hasta (Gn ? n) vía una regla segura
    R es una secuencia (G1 ? 1), (G2 ? 2), , (Gn ?
    n) tal que ?i (1 ? i ? n) Gi tiene la forma ? L1
    ? ? Lk, ? i es un conjunto de hipótesis
    abducibles, la regla R selecciona el literal Lj
    (1 ? j ? k) y (Gi1 ? i1) se obtiene de acuerdo
    con una de las siguientes reglas
  • Regla A1 Si Lj no es abducible entonces Gi1
    C y ?i1 ? i donde C es el resolvente de
    alguna cláusula de BDI con Gi sobre el literal
    Lj.
  • Regla A2 Si Lj es abducible y Lj ? ? i entonces
    Gi1 ? L1 ? ? Lj-1 ? Lj1 ? ? Lk y ? i1
    ? i.
  • Regla A3 Si Lj es abducible, es básico, Lj ? ?
    i y Lj ? ? i entonces Gi1 ? L1 ? ? Lj-1 ?
    Lj1 ? ? Lk y ? i1 ? i ? Lj.
  • Regla A4 Si Lj es abducible, es derivado y Lj ?
    ? i y hay una derivación de consistencia desde
    (? Lj ? i ? Lj) hasta ( ?) entonces Gi1
    ? L1 ? ? Lj-1 ? Lj1 ? ? Lk y ? i1 ?.

109
  • Derivación de consistencia. Una derivación de
    consistencia desde (F1 ?1) hasta (Fn ? n) vía una
    regla segura R es una secuencia (F1 ? 1), (F2
    ?2), , (Fn ? n) tal que ?i (1 ? i ? n) Fi tiene
    la forma ? L1 ? ? Lk ? Fi siendo Fi un
    conjunto de objetivos, ? i es un conjunto de
    hipótesis abducibles, la regla R selecciona el
    literal Lj (1 ? j ? k) y (Fi1 ? i1) se obtiene
    de acuerdo con una de las siguientes reglas
  • Regla C1 Si Lj no es abducible entonces Fi1
    C ? Fi donde C es el conjunto de todos los
    resolventes de cláusulas de BDI con ? L1 ? ?
    Lk sobre el literal Lj, ? C y ? i1 ? i.
  • Regla C2 Si Lj es abducible, Lj ? ? i y k gt 1
    entonces Fi1 ? L1 ? ? Lj-1 ? Lj1 ? ?
    Lk ? Fi y ? i1 ? i.
  • Regla C3 Si Lj es abducible y Lj ? ? i
    entonces Fi1 Fi y ? i1 ? i.
  • Regla C4 Si Lj es abducible, es básico, Lj ? ?
    i y Lj ? ? i entonces Fi1 Fi y ?i1 ? i
    ? Lj.
  • Regla C5 Si Lj es abducible, no es básico y
    existe una derivación abductiva desde (? Lj ? i)
    hasta ( ?) entonces Fi1 Fi y ? i1 ?.

110
Ejemplo 6 BDI 1. p(x) ? q(x) ? r(x)
Actualización U insertar(p(1)) 2. p(x) ?
t(x) 3. r(x) ? s(x) Marco abductivo BDI
p(x) ? q(x) ? r(x), Ab q, s, t, p, q, r,
s, t p(x) ? t(x), r(x) ? s(x) RI
? p(x) ? p(x), p(x) ? p(x), ? q(x) ? q(x),
q(x) ? q(x), ? r(x) ? r(x), r(x) ? r(x), ?
s(x) ? s(x), s(x) ? s(x), ? t(x) ? t(x),
t(x) ? t(x)
111
(No Transcript)
112
(No Transcript)
113
Ejemplo 6 BDI 1. p(x) ? q(x) ? r(x)
Actualización U borrar(p(1)) 2. p(x) ? t(x)
3. r(x) ? s(x) Marco abductivo BDI p(x)
? q(x) ? r(x), Ab q, s, t, p, q, r, s,
t p(x) ? t(x), r(x) ? s(x) RI ?
p(x) ? p(x), p(x) ? p(x), ? q(x) ? q(x),
q(x) ? q(x), ? r(x) ? r(x), r(x) ? r(x), ?
s(x) ? s(x), s(x) ? s(x), ? t(x) ? t(x),
t(x) ? t(x)
114
(No Transcript)
115
(No Transcript)
116
Método de Kakas y Mancarella
Paso B Obtención de una transacción. Sea ? un
conjunto de hipótesis generadas por el
procedimiento abductivo, T? es una transacción
asociada a ? si dado un estado D, para cada átomo
abducido básico L ? ? (resp. L ? ? ), D L
(resp. D L) donde D es el estado de base de
datos obtenido al aplicar T? a D.
117
Ejemplo 6 BDI 1. p(x) ? q(x) ? r(x)
Actualización U insertar(p(1)) 2. p(x) ?
t(x) 3. r(x) ? s(x) Marco abductivo BDI
p(x) ? q(x) ? r(x), Ab q, s, t, p, q, r,
s, t p(x) ? t(x), r(x) ? s(x) RI ?
p(x) ? p(x), p(x) ? p(x), ? q(x) ? q(x),
q(x) ? q(x), ? r(x) ? r(x), r(x) ? r(x), ?
s(x) ? s(x), s(x) ? s(x), ? t(x) ? t(x),
t(x) ? t(x)
118
BDE s(1)
? T?1 insertar(t(1))
? T?2 insertar(q(1)), borrar(s(1))
119
Ejemplo 6 BDI 1. p(x) ? q(x) ? r(x)
Actualización U borrar(p(1)) 2. p(x) ? t(x)
3. r(x) ? s(x) Marco abductivo BDI p(x)
? q(x) ? r(x), Ab q, s, t, p, q, r, s,
t p(x) ? t(x), r(x) ? s(x) RI ?
p(x) ? p(x), p(x) ? p(x), ? q(x) ? q(x),
q(x) ? q(x), ? r(x) ? r(x), r(x) ? r(x), ?
s(x) ? s(x), s(x) ? s(x), ? t(x) ? t(x),
t(x) ? t(x)
120
BDE q(1) t(1)
? T?3 borrar(q(1)), borrar(t(1))
? T?4 insertar(s(1)), borrar(t(1))
121
Método de Kakas y Mancarella
  • Corrección y completitud.
  • Corrección Sea D una base de datos localmente
    estratificada, U un requisito insertar(L) (resp.
    borrar(L)). Si hay una derivación abductiva desde
    (?L ) (resp. (?L )) hasta ( ?) entonces
    para cualquier base de datos extensional se
    cumple que MD L (resp. MD L) donde D es
    el estado de base de datos obtenido al aplicar a
    D una transacción asociada a D y MD es el modelo
    estable de D.
  • Completitud Sea D BDI ? BDE un estado de base
    de datos cuya parte intensional cumple las
    propiedades de ser acíclica y de no tener
    variables existencialmente cuantificadas, U un
    requisito insertar(L) (resp. borrar(L)). Si
    existe una parte extensional BDE tal que MDL
    (resp. MDL) donde D BDI ? BDE y MD es el
    modelo estable de D entonces hay una derivación
    abductiva desde (? L ) (resp. (? L )) hasta
    ( ?) tal que L ? BDE (resp. L ? BDE) para
    cada átomo abducible básico L ? ? (resp. L ?
    ?).

122
  • Resumen
  • Los requisitos de actualización sólo pueden ser
    inserciones o borrados de tuplas base sobre
    predicados derivados no admitiendo requisitos más
    generales.
  • Obtiene las soluciones (conjunto ?) en tiempo de
    ejecución pero sin acceder al conjunto de hechos.
  • Debido a la regla de selección segura que
    utiliza el método, no se pueden elegir en las
    derivaciones las reglas deductivas con variables
    existencialmente cuantificadas por lo que no se
    aporta solución al problema de falta de valores.
  • Debido al problema anterior, el método no puede
    tratar con reglas recursivas. En el caso de
    predicados derivados definidos recursivamente
    sólo se consideraría las reglas que definen el
    caso base encontrándose soluciones sólo en el
    caso de requisitos de inserción.
  • En KM90 se comenta que el método puede
    extenderse fácilmente para comprobar las
    restricciones de integridad durante el paso de
    obtención de las hipótesis
  • El problema de la información asumida es
    controlado por el método en la regla A3 de la
    derivación abductiva y en la regla C4 de la
    derivación de consistencia ya que en ellas la
    abducción de un literal se realiza tras comprobar
    que su complementario no pertenece ya al conjunto
    de hipótesis.

123
  • Método de Guessoum y Lloyd
  • Semántica asumida.
  • semántica declarativa la compleción.
  • semántica operacional procedimiento SLDNF
  • Base de Datos.
  • bases de datos localmente consistentes en
    llamada
  • el conjunto de predicados básicos y el conjunto
    de predicados derivados pueden no ser disjuntos.
  • las restricciones de integridad se representan
    por fórmulas cerradas bien formadas.

GL90 Guessoum, A. Lloyd, J. W. Updating
knowledge bases. New Generation Computing, Vol.
8, 1990, págs. 71-89. GL91 Guessoum, A. Lloyd,
J. W. Updating knowledge bases II. New Generation
Computing, Vol. 10, 1991, págs. 73-100.
124
Método de Guessoum y Lloyd
  • Requisito de actualización.
  • insertar(A) (resp. borrar(A)) (A es un
    átomo).
  • Transacción generada.
  • inserción y borrado de hechos y reglas
    deductivas
  • En el caso de la inserción de reglas deductivas,
    éstas sólo pueden ser de la forma A ?, donde A es
    un átomo que no es base (esto significa que se
    admite la inserción de reglas deductivas
    dependientes del dominio). Así pues la
    transacción obtenida es un conjunto de
    operaciones de la forma insertar(C) donde C es un
    átomo que, si es base es un hecho y si no lo es
    representa una regla deductiva sin cuerpo, o de
    la forma borrar(C) donde C es una sentencia de
    base de datos (hecho o regla deductiva).

125
Método de Guessoum y Lloyd
Descripción del método. El método de
actualización se basa en los procedimientos
Borrado Inserción que utilizan a su vez los
procedimientos básicos Borrado-Básico
Inserción-Básica que se llaman recursivamente
entre sí. En estos procedimientos, que se
presentan a continuación, se utiliza el concepto
de árbol SLDNF trivial que es aquél que sólo
consta del nodo raíz.
126
ALGORITMO Borrado ENTRADA D Estado de base de
datos U borrar(A) Requisito de
actualización de borrado RI Conjunto de
restricciones de integridad SALIDA ?
Conjunto de transacciones INICIO SI comp(D)
A ENTONCES Borrado_Básico (D, A, t0) t
T T ? t0, comp(T(D)) ¹ A y T(D) satisface
RI FIN_SI FIN.
127
ALGORITMO Borrado_Básico ENTRADA D Estado de
base de datos A átomo SALIDA t0 Conjunto
de transacciones INICIO t árbol SLDNF finito
que no sea trivial para D È ? A t0 T1, ¼
, Tn existe un Ti (no necesariamente distinto)
para cada rama que no sea fallada de t, tal
que Ti borrar(Ci) donde Ci es una sentencia de
D utilizada como cláusula de entrada en una rama
no fallada de t o Ti ? ti tal que ØB tiene
éxito en una rama no fallada de t y ti es la
salida de la llamada al procedimiento de
Inserción_Básica con argumentos de entrada D y
B FIN.
128
ALGORITMO Inserción ENTRADA D Estado de base de
datos U insertar(A) Requisito de
actualización de inserción RI Conjunto de
restricciones
Write a Comment
User Comments (0)
About PowerShow.com