Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Actualización de Vistas en Bases de Datos




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4


    Monografias.com

    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 (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 requerimiento de actualización”
    Ejemplo: DELETE FROM PRECIOS_EXT WHERE codprov=pv1

    Monografias.com

    2
    PIEZA
    PRECIOS_EXT
    PRECIOS
    PROV
    T1={borrar (PROV (pv1,Juan,1))}
    T2={borrar (PIEZA (pz3,tuerca,11),
    borrar (PIEZA (pz8,arandela,8))}
    T3={borrar (PRECIOS (pv1,pz3,10),
    borrar (PRECIOS (pv1,pz8,20))}

    Monografias.com

    3
    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

    Monografias.com

    4
    ¬ precios_ext (pv1, x1, x2, x3, x4)
    ¬ prov (pv1, x1, x5) Ù pieza (x2,x3,x6) Ù precios (pv1,x2,x4)
    ¬ pieza (x2,x3,x6) Ù precios (pv1,x2,x4)
    ¬ precios (pv1,pz3,x4)
    ¬ precios (pv1,pz8,x4)
    prov(pv1,Juan,1)
    pieza(pz3,tuerca,11)
    x2 / pz8, x3 / arandela
    precios(pv1,pz3.10)
    x4/ 10
    x4/ 20
    4
    T1
    T2
    T2
    T3
    T3
    SLDNF:
    pieza(pz8,arandela,8)
    x2 / pz3, x3 / tuerca
    x1 / Juan
    precios(pv1,pz8,20)

    Monografias.com

    5
    BDD: 1. q(x) ? ¬r(x) ? p(x)
    2. q(x) ? s(x)
    p(a)
    ¬ q(a)
    ¬ ¬ r(a) ? p(a)
    ¬ s(a)
    ¬ p(a)
    T1 = { insertar (r(a)) }
    T2 = { borrar (p(a)) }
    Act: borrar(q(a))
    ¬ r(a)
    p(a)
    NF
    resolución
    1
    resolución
    2

    Monografias.com

    6
    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)
    ? ¬q(a) ? f(a)
    ? s(a) ? n(a)
    ? r(a) ? n(a)
    ? t(a) ? ¬m(a) ? n(a)
    ? n(a)
    T1= {insertar (f(a)), borrar (q(a))}
    T2 = {insertar (t(a)), borrar (m(a)), insertar (n(a))}
    T3 = {insertar (n(a))}
    Act: insertar(p(a))
    1
    resolución
    2
    3
    4
    resolución
    r(a)
    resolución

    Monografias.com

    7
    Procedimientos de borrado e inserción de una tupla de una relación derivada:
    – 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.
    Hipótesis:
    Características:
    – sólo actualizan la base de datos explícita
    – procedimientos recursivos (se llaman mutuamente)

    Monografias.com

    8
    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

    Monografias.com

    9
    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 (i=1.. 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

    Monografias.com

    10
    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)
    ¬ p(a)
    ¬¬q(a) Ù f(a)
    ¬r(a) Ù ¬t(a)
    ¬¬m(a) Ù n(a)
    ¬ ¬t(a)
    g1= {insertar(t(a))}
    g2= {borrar(r(a))}
    Act: insertar (p(a))
    1
    resolución
    2
    r(a)
    resolución
    ¬ q(a)
    NF
    T1={borrar(m(a)), insertar(n(a))}
    3
    resolución
    borrar(q(a))
    T1 = {borrar (r(a)), insertar (f(a))}
    T2 = {insertar (t(a)), insertar (f(a))}

    Monografias.com

    11
    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’.

    Monografias.com

    12
    1. p(x) ? q(x) ? t(x)
    2. p(x) ? w(x) ? v(x)
    3. t(x) ? s(x) ? ¬r(x)
    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

    Ejemplo 1
    Actualización: U = p(1)
    Obtener transacciones que aseguren una de estas cuatro situaciones

    Monografias.com

    13
    Tiempo de generación de la solución.
    Variables cuantificadas existencialmente
    Recursividad
    Información asumida
    Tratamiento de restricciones de integridad

    Caracterización del problema:

    Monografias.com

    14
    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.

    Monografias.com

    15
    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.

    Monografias.com

    16
    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 ?xi+1 ¼ ?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.

    Partes: 1, 2, 3, 4

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter