41 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 2. Bases de datos deductivas: definición y formalización
42 PIEZA PROV PRECIOS COMP Base de Datos 2. Bases de datos deductivas: definición y formalización
43 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. 2. Bases de datos deductivas: definición y formalización
44 PROV PIEZA PRECIOS COMP PRECIOS3 PRECIOS_EXT COMPONENTE BASE DE DATOS El usuario desea manipular las relaciones de la BD independientemente de que sean relaciones básicas o derivadas.
45 Mecanismo de vistas del modelo relacional Definición de información implícita Relación derivada PRECIOS3 VISTA SQL92: CREATE VIEW PRECIOS3 AS SELECT codprov, codpieza, precio FROM PRECIOS, PROV WHERE (PRECIOS.codprov = PROV.codprov AND (PROV.zona=3) 2. Bases de datos deductivas: definición y formalización
46 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! Limitaciones del modelo relacional (SQL92) en la definición de vistas: 2. Bases de datos deductivas: definición y formalización
47 INSERT INTO PRECIOS3 VALUES (pv12, pz23, 20) INSERT INTO PRECIOS VALUES (pv12,pz23,20) INSERT INTO PROV VALUES (pv12,NULL,3) INSERT INTO PIEZA VALUES (pz23,NULL,NULL) ¿el proveedor existe? ¿la pieza existe? ¿el proveedor es de la zona 3? error NO SI SI NO NO SI c opción 1 Limitaciones del modelo relacional (SQL92) en la actualización de vistas: 2. Bases de datos deductivas: definición y formalización
48 INSERT INTO PRECIOS3 VALUES (pv12, pz23, 20) INSERT INTO PRECIOS VALUES (pv12, pz23, 20) ¿el proveedor pv12 existe y es de la zona 3 y la pieza pz23 existe? opción 2 NO SI Limitaciones del modelo relacional (SQL92) en la actualización de vistas: error 2. Bases de datos deductivas: definición y formalización
49 INSERT INTO PRECIOS3 VALUES (pv12, pz23, 20) ¡Debido a la ambigüedad existente, el SQL92 no permite actualizar vistas definidas a partir de una concatenación de tablas! opción 1 opción 2 Limitaciones del modelo relacional (SQL92) en la actualización de vistas: 2. Bases de datos deductivas: definición y formalización
50 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
2. Bases de datos deductivas: definición y formalización
51 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)
Ri Í (Di1 x Di2 x … x Dini )
(1 £ i £ m) BASE DE DATOS Sij (x1, x2,…, xni ) ¬ Wij
(1 £ i £ s) (1 £ j £ Ki) notación algebraica notación lógica 2. Bases de datos deductivas: definición y formalización
52 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) ) Reglas deductivas Hechos Base de datos deductiva 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: 2. Bases de datos deductivas: definición y formalización
53 Lenguaje de definición de reglas
Lenguaje de 1er orden
Base de datos deductiva Programa lógico Sistema de programación lógica Sistema de gestión de bases de datos deductivas 2. Bases de datos deductivas: definición y formalización
54 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)
2. Bases de datos deductivas: definición y formalización
55 BDD (programa lógico)
{A: A es un átomo base}
È
{ A ¬ L1 Ù L2 Ù … Ù Ln: A es un átomo y Li es un literal} Ri Í (Di1 x Di2 x … x Dini )
(1 £ i £ m) BASE DE DATOS 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. 2. Bases de datos deductivas: definición y formalización
56 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)
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)
2. Bases de datos deductivas: definición y formalización
57 Esquema: (L, RI) : Constantes Unión de los dominios de definición de las relaciones del esquema Predicados Nombres de relación del esquema Lenguaje L Restricciones de Integridad (RI) Fórmulas bien formadas (f.b.f) de L RI 2. Bases de datos deductivas: definición y formalización
58 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} 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 Lenguaje L RI 2. Bases de datos deductivas: definición y formalización
59 { pieza (pz1, tornillo, 10), …, proveedor (pv1, Juan, 1), …, precios (pv1, pz3, 100), …, comp (pz1, pz3), … } 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 BDD: È Fórmulas bien formadas de L 2. Bases de datos deductivas: definición y formalización
60 Esquema de la BDD Lenguaje de 1er orden L Extensión de la BDD Programa lógico (D) 2. Bases de datos deductivas: definición y formalización
Página anterior | Volver al principio del trabajo | Página siguiente |