Conferencia
September 8, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Conferencia...
Description
LadeLógica en elde desarrollo las Bases Datos
Matilde Celma Giménez
Departamento Departament o de Sistemas Informáticos y Computación / Universidad Politécnica de Valencia
La Lógica en el desarrollo de las Bases de Datos 1. Lógica y Bases de Datos. 2. Bases de datos deductivas. 3. Actualización de bases de datos deductivas. 3.1 Actualización 3.2 Comprobación de la integridad 3.3 Restauración de la consistencia
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
2
1. Lógica y Bases de Datos
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 por teoría teoría de modelos de la lógica proporciona una base para la representación del conocimiento, y la semántica por teoría por teoría de la demostración proporciona una base para la computación” [J.W. Lloyd, en Computationa Computationall Logic , 1990].
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
3
1. Lógica y Bases de Datos. 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 Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
4
2. Bases de datos deductivas.
Base de datos relacional
Base de datos relacional
Conocimiento explícito
Reglas deductivas
Conocimiento implícito
+ Reglas deductivas
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
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
5
2. Bases de datos deductivas. Hechos = {tuplas de relaciones} (conocimiento explícito)
Hechos Sistema de inferencia
Reglas = {reglas deductivas} (conocimiento implícito)
Información derivada
Reglas
Sistema de Gestión de Bases de Datos Relacionales
Hechos
+
+
Reglas
Usuario
Sistema de Inferencia Base de datos deductiva
Sistema de gestión de bases de datos deductivas
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
6
2. Bases de datos deductivas BASE DE DATOS
ESQUEMA
Ri
Relaciones básicas:
Relaciones básicas:
Ri (Ai1: Di1, Ai2: Di2 , ..., Aini: Dini)
Ri (Di1 x Di2 x ... x Din )
(1 i m) (m relaciones básicas)
(1 i m)
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
Ai1
Ai2
......
Aini
i
(m relaciones básicas)
Relaciones derivadas: S ji (x1, x2,..., xn ) W ji i
(1 i s) (1 jj Ki)
(s relaciones derivadas) (Ki reglas para la relación Si)
(1 ≤ i ≤ k) (k restricciones de integridad) integridad)
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
7
2. Bases de datos deductivas Relaciones básicas:
Relaciones derivadas:
PIEZA (codpieza: D1, desc: D2, peso: D3)
PRECIOS3 (codprov: D4, codpieza: D1, precio: D7)
CP = {codpieza}
CP = {codprov, codpieza} CAj = {codprov} PROV CAj = {codpieza} PIEZA
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
D5, codpieza: D1, PRECIOS_EXT (codprov: D4, nombre: desc: D2, precio: D7) CP = {codprov, codpieza} CAj = {codprov} PROV CAj = {codpieza} PIEZA
COMPONENTE (pieza1: D1, pieza2: D1) (pieza1:pieza2} D1, pieza2: D1) COMP CP = {pieza1, CAj = {pieza1} PIEZA CAj = {pieza2} PIEZA
CP = {pieza1, pieza2} CAj = {pieza1} PIEZA CAj = {pieza2} PIEZA
Restricciones de integridad: "x "y ( COMPONENTE (x,y) COMPONENTE (y,x) )
Esquema Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
8
2. Bases de datos deductivas BDD :
PIEZA
PROV
codpieza
desc
peso
codprov
nombre
zona
pz1
tornillo
10
pv1
Juan.....
1
pz3
tuerca
11
pv5
Carlos ....
3
pz8
arandela
8
pv3
Luis ......
3
PRECIOS
COMP
co codp dpro rov v
co codp dpie ieza za
prec precio io
pieza1
p i e za 2
pv1
pz3
10
pz1
pz3
pv1
pz8
20
pz3
pz8
pv3
pz8
30
pv5
pz1
50
Reglas deductivas: 1 precios3 (x, y,z)z(precios (x, y, z) prov (x, w, 3) ) 2 componente (x, y)z (comp (x, z) componente (z, y) ) 3 componente (x, y)comp (x, y) (x,n,y,d,p) ,d,p)z z ( prov (x, n,z)pieza (y, d,w)precios (x, y, p) ) 4 precios_ext (x,n,y Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
9
2. Bases de datos deductivas
PIEZA
PROV
PRECIOS3
PRECIOS
PRECIOS_EXT
COMP
COMPONENTE
S O T A D E D E S A B
El usuario desea manipular (consultar y actualizar) las relaciones de la BD independientemente de que sean relaciones básicas o derivadas.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
10
2. Bases de datos deductivas
Mecanismo de vistas del modelo relacional
Definición de información implícita
Relación derivada
VISTA
Base de datos deductiva
Base de datos relacional con vistas
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
11
2. Bases de datos deductivas Limitaciones del modelo relacional (SQL92): Definición de vistas
Limitaciones en la definición de vistas recursivas
Actualización
Limitaciones en la actualización de las vistas
SGBD relacionales
Ausencia de procedimientos procedimientos para la evaluación de consultas recursivas
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
12
2. Bases de datos deductivas. 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
LÓGICA
Construcción de SGBD deductivos
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
13
2. Bases de datos deductivas. 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:
a v s i t o c u d e d s o t a
h c e H
s
a v d t e i d c u e d e s d a B s a
l g e R
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)zw (prov (x, n, z) pieza (y, d, w) precios (x, y, p) ) Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
14
2. Bases de datos deductivas MARCO FORMAL: Lógica de 1er 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) { AL1 L2 ... Ln : A es un átomo y L i es un literal} (reglas)
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
15
2. Bases de datos deductivas
Semántica de una BDD Semántica de una BDD: definir el conocimiento existente en la base de datos. ¿qué es cierto en la BDD?
: Semántica declarativa: declarativa: conocimiento en la BDD Semántica operacional: operacional: procedimiento para obtener el conocimiento
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
16
2. Bases de datos deductivas
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 procedimiento de refutación - reglas de inferencia: • resolución • negación como fallo Semántica declarativa asociada al SLDNF : compleción de D
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
17
componente (pz1,w) ? 1 z p a z e i p a l e n o p m o c e s s a z e i p é u q e D ¿
3
2
comp (pz1,w)
comp (pz1,z) componente (z,w) hecho
Procedimiento SLDNF
z/pz3
hecho
w/pz3
componente (pz3,w) 3
2
„,w) comp (pz3,z „) componente (z „,w) hecho
z‟/pz8 z‟/pz8
w = pz3 w = pz8 comp (pz3,w)
hecho
w/pz8
componente ( pz8,w) 2
3
„„,w) comp (pz8,z „„) componente (z „„,w)
comp (pz8,w)
comp(D) |= componente (pz1, pz3)
2 componente (x, y)comp (x, z) componente (z, y) 3 componente (x, y)comp (x, y)
comp(D) |= componente (pz1, pz8)
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
18
La Lógica en el desarrollo de las Bases de Datos 1. Lógica y Bases de Datos. 2. Bases de datos deductivas. 3. Actualización de bases de datos deductivas. 3.1 Actualización 3.2 Comprobación de la integridad 3.3 Restauración de la consistencia
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
19
3. Actualización de base de datos deductivas
Actualización sobre relación derivada
Actualización(es) sobre relación(es) básicas(s)
“Dada una base de datos D (D=BDI 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 requisito de actualización” actualización”
Ejemplo: DELETE FROM PRECIOS3 WHERE codprov=pv1
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
20
PIEZA codpieza
desc
peso
pz1
tornillo
10
pz3
tuerca
11
pz8
arandela
8
PRECIOS_EXT PRECIOS
codpr dprov nombre cod codp pieza ieza
codp codpro rov v co codp dpiez ieza a pr prec ecio io
pv1
pz3
10
pv1
pz8
20
pv3
pz8
30
pv5
pz1
50
PROV codprov
nombre
zona
pv1
Juan.....
1
pv5
Carlos ....
3
pv3
Luis ......
3
des desc
prec eciio
pv1
Juan...
pz 3
tuerca
10
pv1
Juan...
pz 8
arandela
20
pv3
Luis...
pz 8
arandela
30
pv5
Carlos.. .
pz 1
tornillo
50
T1={borrar (PROV (pv1,Juan,1))} T2={borrar (PIEZA (pz3,tuerca,1 (pz3,tuerca,11), 1), borrar (PIEZA (pz8,arandela,8))}
T3={borrar (PRECIOS (pv1,pz3,10), borrar (PRECIOS (pv1,pz8,20))}
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
21
3. Actualización de bases de datos deductivas
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
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
22
SLDNF:: SLDNF
precios_ext (pv1, x1, x2, x3, x4)
4 prov (pv1, x1, x5) pieza (x2,x3,x6) precios (pv1,x2,x4) prov(pv1,Juan,1)
T1
x1 / Juan
pieza (x2,x3,x6) precios (pv1,x2,x4)
pieza(pz3,tuerca,11) x2 / pz3, x3 / tuerca
T2
precios (pv1,pz3,x4)
precios(pv1,pz3.10)
T3
x4/ 10
pieza(pz8,arandela,8)
T2
x2 / pz8, x3 / arandela
precios (pv1,pz8,x4)
precios(pv1,pz8,20)
T3
x4/ 20
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
23
3.1 Actualización
Enunciado general del problema: Dados el esquema (L,RI) (L,RI) de una base de datos deductiva, un estado de base de datos D de ese esquema tal que "WRI 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 "WRI, D‟ = T(D) satisface W y U es cierto en D‟ D‟..
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
24
3.1 Actualización
Ejemplo 1
1. p(x) q(x) t(x) 2. p(x) w(x) v(x)
Actualización: Actualiza ción: U = p(1)
3. t(x) s(x) ¬r(x) p(1)
1) {w(1), v(1)} BDE 2) {q(1), s(1)} BDE y {r(1)} BDE
w(1) v(1)
q(1) t(1)
3) {p(1)} BDE 4) {q(1), t(1)} BDE
q(1) s(1) r(1) Obtener transacciones que aseguren una de estas cuatro situaciones Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
25
3.1 Actualización
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
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
26
3.1 Actualización
Tiempo de generación de la solución. 1) Tiempo Tiempo po Tiem
de ejecución: el árbol de derivación para el requisito de actualización se genera cuando la actualización es solicitada.
Tiempo po Tiem
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.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
27
3.1 Actualización En el Ejemplo 1: 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.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
28
3.1 Actualización 2) Variables e x istencialmente istencialmente 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. cuantificadas. "x1 "xi "xm ( A A L1 Ln) (xi no aparece en A) "x1 "xi-1 "xi+1 "xm ( A 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.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
29
3.1 Actualización BDD: 1. p(x) q(x,y) t(x,y)
Ejemplo 2:
…. t(1,2)
p(1) 1
resolución resolución
q(1,y) t(1,y)
Actualización: U = p(1). 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.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
30
3.1 Actualización BDD: 1. p(x) q(x,y) t(x,y)
Ejemplo 2:
….
t(1,2)
p(1) 1
Actualización: U = p(1).
resolución resolución
q(1,y) t(1,y)
y (q(1,y) t(1,y))
{y/ nulo}
T1 = { insertar(q(1,nulo)), insertar(t(1,nulo))}
{y/ c}
{y/ 2}
T2 = { insertar(q(1, c)), insertar(t(1, c))}
T3 = { insertar(q(1,2))}
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
31
3.1 Actualización
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.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
32
3.1 Actualización 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))}
…
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
33
3.1 Actualización
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.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
34
3.1 Actualización BDD: 1. p(x) r(x,y) s(x,y) q(x,y)
Ejemplo 4:
2. s(1,2) q(1,2)
r(1,2)
p(1) 1
Actualización: U = p(1). p(1).
resolución resolución
r(1,y) ¬ s(1,y) q(1,y)
y (r(1,y) s(1,y) q(1,y))
r(1,2) ¬ s(1,2) q(1,2) r(1,2) BDE
{y/2}
s(1,2) fallo finito
T1 = { insertar( q(1,2)) }
1 no es una solución T correcta porque induce la inserción de s(1,2) que se había asumido falsa en la construcción de la solución.
q(1,2) BDE
s(1,2)
s(1,2)
q(1,2)
q(1,2)
2
q(1,2)
resolución
2
resolución
resolución
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
35
3.1 Actualización
Tratamiento de las restricciones de integridad. 5) Tratamiento integridad . La solución propuesta para un requisito de actualización puede suponer la violación de alguna restricción de integridad por si loloque es su interesante cómo integra cada método, hace, estrategiaestudiar con la comprobación de las restricciones del esquema.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
36
3.1 Actualización Ejemplo 5:
BDD: 1. p(x) q(x) r(x) …
p(1) 1
W = "x (r(x) t(x))
resolución 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))}.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
37
3.1 Actualización Estudio de un método de actualización: 1. Semántica asumida: asumida: la semántica declarativa 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 bases de datos y de restricciones restricciones de integridad integridad para los que está definido el método. 3. Requisitos de actualización: for forma ma sintáctica de los requisitos de actualización permitidos en el método. 4. Transacciones Transacciones generadas: generadas: tipo de soluciones soluciones obtenida obtenidas s y si sólo se obtiene una o todas las soluciones posibles. 5. Descripción del del método: estrategia estrategia seguida seguida para generar generar las transacciones. 6. Corrección y completitud del método. método. 7. Resumen: cómo el método resuelve los problemas ante antes s mencionados.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
38
La Lógica en el desarrollo de las Bases de Datos 1. Lógica y Bases de Datos. 2. Bases de datos deductivas. 3. Actualización de bases de datos deductivas. 3.1 Actualización 3.2 Comprobación de la integridad 3.3 Restauración de la consistencia
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
39
3.2 Comprobación de la integridad Restricción integridad: propiedad del mundo una base de datos debe de satisfacer en satisfacer en cualquier instante parareal ser que consistente con cierto modelo del mundo real. D0
T1
D1
Ti
Di
Tn
Dn
Evolución de una BD
Restricciones estáticas: hacen referencia a un único estado de la base de datos. Estas restricciones restringen los estados válidos con independencia de la secuencia de los mismos. Restricciones dinámicas: hacen referencia a dos o más estados de la base de datos. Estas restricciones restringen las secuencias de estados válidas. Un caso particular de restricciones dinámicas son las restricciones de transición que restringen dos estados consecutivos válidos.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
40
3.2 Comprobación de la integridad Comprobación de la integridad: la comprobación de la integridad en bases de datos consiste en comprobar comprobar si si el par de estados (D,D') implicados en una transacción T satisface las restricciones de transición y si el estado final D' satisface las restricciones estáticas.
Método de comprobación de la integridad: es un procedimiento de decisión tal que, dado un estado D y una restricción de integridad estática W, W, decide con una respuesta binaria si/no si el estado D satisface/viola la restricción estática W.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
41
3.2 Comprobación de la integridad La forma más sencilla de comprobar las restricciones estáticas es evaluar cada una de ellas después de la transacción; sin embargo esta aproximación puede ser muy costosa en bases de datos voluminosas. La comprobación de la integridad podría simplificarse si consideráramos consideráramos sólo los "cambios" que la transacción ha producido en la base de datos. Todos los métodos propuestos para simplificar la comprobación de la integridad suponen que la base de datos era íntegra antes de la transacción. Apoyándose en esta hipótesis, los métodos comprueban sólo instancias de las restricciones generadas a partir de las actualizaciones actualizaciones (inserciones y borrados) de la transacción, evitando comprobar instancia instancias s que ya se satisfacían antes de la transacción y que además no se ven afectadas por ésta.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
42
3.2 Comprobación de la integridad Comprobación simplificada de la integridad en bases de datos relacionales: PRECIOS (codprov: D4, codpieza: D1, precio: D7) CP = {codprov, codpieza}
CAj PROV CAj = = {codprov} {codpieza} PIEZA W: "x "y "z ( (precios(x, y, z) w t (prov(x,w,t)) ) T = { insertar (PRECIOS (pv1 (pv11,pz3,100)) 1,pz3,100)) } D
T
D‟ D‟
íntegro Si D es un estado íntegro entonces D‟ satisface W si y sólo si D‟ satisface w t (prov (pv11,w,t) ) Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
43
3.2 Comprobación de la integridad Comprobación simplificada de la integridad en bases de datos deductivas: En bases de datos deductivas las actualizaciones generadas por una transacción no son sólo las explícitamente requeridas requeridas por ésta (operaciones que la componen) sino también todas las actualizaciones que se pueden inducir por la presencia de reglas deductivas en la base de datos.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
44
COMP
D
COMPONENTE
pieza1
pieza2
pieza1
pieza2
pz1
pz3
pz3
pz8
pz1 pz3
pz3 pz8
pz1
pz8
Reglas deductivas:
COMPONENTE
COMP COMPONENTE (x, (x, y) y) COMPONENTE COMP(x,z) (x, y)COMPONENTE (z, y)
Transacción: {insertar (COMP(pz8,pz1))}
D‟ D‟
COMP pieza1
pieza2
pz1
pz3
pz3
pz8
pz8
pz1
inserciones inducidas
pieza1 pz1
pieza2 pz3
pz3
pz8
pz1
pz8
pz8
pz1
pz8
pz3
pz8
pz8
pz1
pz1
pz3
pz1
pz3
pz3
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
45
3.2 Comprobación de la integridad Restricción de integridad: W: "x "y ( COMPONENTE (x,y) COMPONENTE (y,x) )
insertar ( COMPONENTE(pz8,pz1) )
COMPONENTE (pz1, pz8)
Si D es un estado estado íntegro íntegro entonces D‟ satisface W si y sólo si D‟ satisface COMPONENTE (pz1, pz8)
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
D‟ viola W W
46
3.2 Comprobación de la integridad Enunciado general del problema: Dados, el esquema (L,RI) de una base de datos deductiva, un estado D de ese esquema tal que D satisface W (para toda WRI), una transacción T formada por dos conjuntos de sentencias de base de datos, T=TinsTdel, (TinsTdel = , Tdel D y TinsD = ), el estado D‟ resultante de aplicar a D la transacción transacc ión T, T, ( D' = (DTins) \ Tdel), comprobar que D' satisface W (para toda WRI).
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
47
3.2 Comprobación de la integridad
Caracterización del problema: 1) Concepto de satisfacción 2) Corrección y completitud de un método 2) Fases en la comprobación simplificada de la integridad
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
48
3.2 Comprobación de la integridad 1) Concepto de satisfacción: a) Punto de vista de la demostración: D satisface W sii Tr |= W. b) Punto de vista de la consistencia: D satisface W sii Tr {W} es consistente. El concepto de violación se define en términos del concepto de satisfacción: D viola W sii no (D satisface W). Diremos que un estado D es íntegro si, para toda restricción W perteneciente a RI, D satisface W.
Tr es la teoría de 1er orden que representa la base de datos en la semántica asumida Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
49
3.2 Comprobación de la integridad Ejemplo 1: D={
p(a) q(x) ¬r(x), q(a), r(x) r(x) }.
Si asumimos la semántica de la compleción: Tr=comp(D) = {"y(p(y) y=a x(q(x) ¬r(x))), " x(q(x) x=a), " x(r(x) r(x)) }.
Desde el punto de vista de la consistencia D satisface: W1=q(a), W2=r(a), W3=p(a), W4=¬r(a). Desde el punto de vista de la demostración D satisface: W1=q(a). Tr es la teoría de 1er orden que representa la base de datos en la semántica asumida Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
50
3.2 Comprobación de la integridad Si asumimos la semántica del punto fijo iterado: MD={q(a), p(a)} Tr(MD) = {"x (p(x) x=a), "x (q(x) x=a), "x (r(x) }.
D satisface W1=q(a) y W2=p(a) en los dos conceptos de satisfacción.
Tr es la teoría de 1 er orden que representa la base de datos en la semántica asumida Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
51
3.2 Comprobación de la integridad 2) Corrección y completitud de un método: Sean:
M un método de comprobación de la integridad. D satisfaceM (resp. violaM) W significa que el método M decide que el estado D satisface (resp. viola) la restricción W (WRI).
CS el concepto de satisfacción asumido por el método M. D satisface CS (resp. violaCS) W
significa que el estado D satisface (resp. viola) la restricción W (WRI) en el concepto de satisfacción CS. Un método M es correcto cuando se cumple: si D satisfaceM W entonces D satisfaceCS W (correcto para satisfacción) si D violaM W entonces D violaCS W
(correcto para violación).
Un método M es completo cuando se cumple: si D satisfaceCS W entonces D satisfaceM W (completo para satisfacción) si D violaCS W entonces D violaM W
(completo para violación).
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
52
3.2 Comprobación de la integridad integridad 3) Fases en la comprobación simplificada de la integridad Hipótesis: D es íntegro.
Comprobación de la integridad: FASE I: Fase de Generación Paso 1: Cálculo del conjuntos de literales que “representan” la diferencia entre los estados consecutivos D y D'. Paso 2:
Identificación de las restricciones relevantes.
Paso 3: Paso 4:
Instanciación de las restricciones relevantes. Simplificación de las instancias de las restricciones relevantes.
FASE II: Fase de Evaluación Paso 5: Comprobación en D' de las instancias simplificadas de las restricciones relevantes. Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
53
3.2 Comprobación de la integridad 3) Fases en la comprobación simplificada de la integridad Ejemplo 2: D={
p(x) q(x,y) ¬ t(y),
D‟ = {
t(y) s(y), q(a,b), q(b,a), s(c) }
p(x) q(x,y) ¬ t(y), t(y) s(y), t(y) q(y,z) t(z) q(a,b), q(b,a), s(c), s(b) }
T= {ins(s(b), ins(t(y) q(y,z) t(z))} W1 = "x "y ( q(x,y) q(y,x) ) W2 = "x ( s(x) p(x) ) Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
54
Fase de Generación Paso 1: Cálculo del conjuntos de literales que “representan” la diferencia entre los estados consecutivos D y D'. D'. D‟ = { D={
p(x) q(x,y) ¬ t(y),
T
p(x) q(x,y) ¬ t(y), t(y) s(y),
t(y) s(y),
t(y) q(y,z) t(z)
q(a,b), q(b,a), s(c) }
q(a,b), q(b,a), s(c), s(b) }
T= {ins(s(b), ins(t(y) q(y,z) t(z))} inducidas por T: Actualizaciones inducidas Inserciones = {A: ABD, comp(D‟) |= A y comp(D) |= A } = {s(b), t(a), t(b)} Borrados = {A: ABD, comp(D) |= A y comp(D‟) |= A } = {p(a), p(b)} Se asume la semántica de la compleción y el punto de vista de la demostración. Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
55
Fase de Generación Paso 2: Identificación de restricciones relevantes relevantes D‟ = { D={
p(x) q(x,y) ¬ t(y),
T
t(y) s(y), q(a,b), q(b,a), s(c) }
t(y) s(y), t(y) q(y,z) t(z)
T= {ins(s(b), ins(t(y) q(y,z) t(z))}
Inserciones = {s(b), t(a), t(b)}
p(x) q(x,y) ¬ t(y),
q(a,b), q(b,a), s(c), s(b) }
W1 = "x "y ( q(x,y) q(y,x) ) no es relevante para T
Paso 2
Borrados = {p(a), p(b)} W2 = "x ( s(x) p(x) ) es relevante para T
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
56
Fase de Generación Paso 3: Instanciación de las restricciones relevantes relevantes Paso 4: Simplificación de las instancias de las restricciones relevantes relevantes D‟ = { D={
p(x) q(x,y) ¬ t(y),
T
p(x) q(x,y) ¬ t(y), t(y) s(y),
t(y) s(y), q(a,b), q(b,a), s(c) }
t(y) q(y,z) t(z) Inserciones = {s(b), t(a), t(b)}
q(a,b), q(b,a), s(c), s(b) }
Borrados = {p(a), p(b)}
W2 = "x ( s(x) p(x) )
W2 1= s(b) p(b)
W2 1= p(b)
W2 2= s(a) p(a)
W2 2= s(a)
W2 3= s(b) p(b)
W2 3= s(b)
Paso 3
Paso 4
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
57
3.2 Comprobación de la integridad integridad 3) Fases en la comprobación simplificada de la integridad Hipótesis: D es íntegro.
Comprobación de la integridad: FASE I: Fase de Generación Paso 1: Cálculo del conjuntos de literales que “representan” la diferencia entre los estados consecutivos D y D'. Paso 2:
Identificación de las restricciones relevantes.
Paso 3: Paso 4:
Instanciación de las restricciones relevantes. Simplificación de las instancias de las restricciones relevantes.
FASE II: Fase de Evaluación Paso 5: Comprobación en D' de las instancias simplificadas de las restricciones relevantes. Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
58
3.2 Comprobación de la integridad integridad 3) Fases en la comprobación simplificada de la integridad Hipótesis: D es íntegro.
Comprobación de la integridad:
Solución
I: Fase de Generación Potencial FASE I: Paso 1: Cálculo del conjuntos de literales que “capturen” la diferencia entre los estados consecutivos D y D„ sin acceder a la BDE. Paso 2:
Identificación de las restricciones relevantes.
Paso 3: Paso 4:
Instanciación de las restricciones relevantes. Simplificación de las instancias de las restricciones relevantes.
FASE II: Fase de Evaluación Paso 5: Comprobación en D' de las instancias simplificadas de las restricciones relevantes. Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
59
Fase de Generación Potencial Paso 1: Cálculo del conjuntos de literales que “capturen “ capturen”” la diferencia entre los estados consecutivos D y D'. D'. D‟ = { D={
p(x) q(x,y) ¬ t(y),
t(y) s(y),
T
t(y) s(y), q(a,b), q(b,a), s(c) }
p(x) q(x,y) ¬ t(y),
t(y) q(y,z) t(z) q(a,b), q(b,a), s(c), s(b) }
T= {ins(s(b), ins(t(y) q(y,z) t(z))}
potenciales inducidas Actualizaciones potenciales inducidas por T: Inserciones
Borrados
Inserciones = {s(b), t(a), t(b)}
{s(b), t(y)} {t(b)}
reales instancias Actualizaciones inducidas por T:
{p(x)}
Borrados = {p(a), p(b)}
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
60
Fase de Generación Potencial Paso 3: Instanciación de las restricciones relevantes relevantes Paso 4: Simplificación de las instancias de las restricciones relevantes relevantes D‟ = { D={
p(x) q(x,y) ¬ t(y),
T
p(x) q(x,y) ¬ t(y), t(y) s(y),
t(y) s(y), q(a,b), q(b,a), s(c) }
t(y) q(y,z) t(z) Inserciones = {s(b), t(y), t(b)} Borrados = {p(x)}
q(a,b), q(b,a), s(c), s(b) }
W2 1= s(b) p(b) W2 = "x ( s(x) p(x) )
W2 2= "x s(x) p(x)
W2 = "x s(x) p(x)
W2 3= "x s(x) p(x)
Paso 3
Paso 4
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
61
Fase de Generación Potencial Paso 3: Instanciación de las restricciones relevantes relevantes Paso 4: Simplificación de las instancias de las restricciones relevantes relevantes D‟ = { D={
p(x) q(x,y) ¬ t(y),
T
p(x) q(x,y) ¬ t(y), t(y) s(y),
t(y) s(y), q(a,b), q(b,a), …, s(c) } }
t(y) q(y,z) t(z) Inserciones = {s(b), t(y), t(b)} Borrados = {p(x)}
q(a,b), q(b,a), …, s(c), s(b) } }
Si la extensión de q es grande los borrados sobre p inducidos por T pueden ser muchos.
W3 = "x ( p(x) r(x) ) no es relevante para T.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
62
3.2 Comprobación de la integridad Estudio de un método de simplificación: 1. Semánt Semántica ica asum asumida ida:: refere referenci ncia a para para inter interpre pretar tar el concep concepto to de satisfacción. 2. Conc Concep epto to de sati satisf sfac acci ción ón util utiliz izad ado. o. 3.
Requisitos sintácticos: forma sintáctica de las reglas y de las restricciones de integridad.
4.
Corrección y completitud del método.
5.
Es Estr trat ate egia gia del del mé método todo:: •
Fase de Generación: potencial (sin acceso a la BDE), real (con acceso a la BDE).
•
Intercalación de las fases de Generación y Evaluación.
•
Etapa de compilación independiente de la transacción.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
63
La Lógica en el desarrollo de las Bases de Datos 1. Lógica y Bases de Datos. 2. Bases de datos deductivas. 3. Actualización de bases de datos deductivas. 3.1 Actualización 3.2 Comprobación de la integridad 3.3 Restauración de la consistencia
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
64
3.2 Restauración de la consistencia D T = TinsTdel
U
D‟ D‟
Actualización Requisito de
D satisface W
actualización
Tr (D)
D‟‟ D‟‟
D' = (DTins) \ Tdel)
|= U
Tr (D‟) |= U U
Comprobación RI
T‟ = T‟ins T‟del
D„‟ = (D‟T‟ins) \ T‟del)
Restauración de la consistencia
NO
SI
D‟ D‟
Tr (D‟‟) |= U U D‟‟ satisface W ("W RI)
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
65
3.2 Restauración de la consistencia Enunciado general del problema: Dados, el esquema (L,RI) de una base de datos deductiva, un estado D de ese esquema tal que D satisface W (para toda WRI), una transacción T=TinsTdel, (TinsTdel = , Tdel D y TinsD = ), el estado D‟ resultante de aplicar a D la transacción T, (D' (D' = (DTins) \ Tdel), y una restricción WRI tal que D' viola W, encontrar una transacción T*=T*insT*del (T*insT*del = , T*delTins = , T*insTdel = , ), tal que el estado D‟‟ resultante de aplicar T* a D‟, D„‟ = (D‟T*ins) \ T*del), satisface W.
Departamento de Sistemas Informáticos y Computación / Universidad Politécnica de Va Valencia lencia
66
View more...
Comments