sábado, 1 de octubre de 2011

La forma clausal y las cláusulas de Horn


Forma clausal:

Las variables de la formula estan cuantificadas universalmente, no es necesario incluir cuantificadores universales. Todos los cuantificadores se eliminan y todas las variables de la formula quedan cuantificadas implícitamente. La formula se compone de varias clausulas y cada clausula se compone de varias literales conectadas exclusivamente por conectores logicos OR. Entonces toda clausula es una disyuncion de literales

Las clausulas mismas se conectan exclusivamente mediante conectores logicos AND para construir una formula. Entonces la forma clausal de una formula es una conjuncion de clausulas

Clausula de Horn:

Una cláusula de Horn es una regla de inferencia lógica con una serie de premisas (cero, una o más), y un único consecuente. Las cláusulas de Horn son las instrucciones  básicas del lenguaje de programación Prolog, de paradigma declarativo. En lógica matemática, una cláusula de Horn es una cláusula (una disyunción de literales), con a lo sumo, uno positivo literal. Lleva ese nombre después que el lógico Alfred Horn, que fue el primero en señalar la importancia de estas cláusulas en 1951, en el artículo "On sentences which are true of direct unions of algebras".

Una cláusula de Horn con exactamente un literal positivo es una cláusula definitiva, una cláusula de Horn sin literales positivos a veces se denomina "cláusula de un objetivo",  sobre todo en la lógica de programación. Una fórmula de Horn es una forma normal conjuntiva cuyas cláusulas son todos de Horns, en otras palabras, se trata de una conjunción de  cláusulas de Horn. Un doble cláusula de Horn es una cláusula con a lo sumo, uno negativo literal. Las cláusulas de Horn vienen a desempeñar un papel fundamental en la lógica de 
programación. El siguiente es un ejemplo de una cláusula de Horn definitiva:

~ p V ~q V. . .  v ~t v u

Esta fórmula también puede ser escrita equivalentemente como una implicación:

(p^q^....^t) -> u

BIBLIOGRAFIA:


Lenguaje Lógico de Datos LDL y un Sistema de Gestión de Bases de Datos Relacional SGBDR


LDL: proyecto Logic Data Languaje 

sus objetivos fueron crear un sistema que extendiera el modelo relacional y que a la vez aprovechara algunas características positivas de un SGBDR y Mejorar la funcionalidad de un SGBD de modo que operara como SGBD deductivo y que ademas permitiera la creacion de aplicaciones de propósito general.

BIBLIOGRAFIA:

La notación Prolog / Datalog


La notación Prolog/Datalog se basa en proveer predicados con nombre unicos. Un predicado tiene un significado implicito, sugerido por su nombre y un numero fijo de argumentos.  Si todos los argumentos son valores constantes el predicado dice que un determinado hecho es verdadero. Por otro lado si el predicado tiene variables como argumentos, se le considera una consulta o bien parte de una regla o restriccion.

Una regla tiene la forma: cabeza :- cuerpo y por lo regula tiene un solo predicado a la izquierda del simbolo :- y uno o mas predicado a la derecha del simbolo :-

PROLOG:
Prolog contiene varios predicados integrados que el sistema puede interpretar. Estos suelen incluir el operador de comparacion de igual = (X,Y) que devuelve verdadero si x e y son identifocs. Otros operadores de comparacion de numeros, como < > <= y >=. Funciones aritmeticas como +,-,*,/. 

Por lo regular una consulta contiene un simbolo de predicado con algunos argumentos variable y su significado es deducir las diferentes combinaciones de constantes que cuando se enlazan a las variables pueden hacer que se cumpla el predicado.
DATALOG: 
Datalog contiene los mismo predicados  integrados que el Prolog, una literal; que es una formula atómica llamada literal positiva o una formula  precedida por not llamada literal negativa. En datalog estas formas se convierten primero a lo que se conoce como forma clausal antes de expresarse en Datalog.


BIBLIOGRAFIA:

Relación existente entre base de datos lógicas, base de datos expertos y base de datos de conocimientos

Base de datos lógicas: 
Son construidas con registros homogéneos de manera parecida a las relacionales. Adicionalmente se agregan restricciones lógicas y reglas de composición parecidas a las de Prolog, que permiten (en principio) deducir información que originalmente no está contenida en la base de datos. Desgraciadamente la complejidad de los algoritmos de deducción es exponencial en el número de relaciones y mantener consistente un sistema de información basado en bases de datos lógicas es irrealizable.

Base de datos expertos: 
Se basa en los conocimientos extraídos de los expertos de la aplicación y se refieren a un dominio de la aplicación mas que a conocimientos inherentes en los datos.

Base de datos basados en conocimientos:
Los datos residen en la memoria principal, estas bases de datos se aplican en la materia de Inteligencia Artificial, las redes semánticas, reglas para capturar un conocimiento en especifico de un dominio.


BIBLIOGRAFIA:
http://www.fismat.umich.mx/~elizalde/tesis/node6.html

Tipos de base de datos distribuidas

Las bases de datos distribuidas se clasifican por:


Por grado de homogeneidad:

Si todos los servidores utilizan software identico y todos los cliente emplean software identico es SGBDD HOMOGÉNEO caso contrario HETEROGÉNEO

Por grado de autonomía local:

Si todo el acceso al sgbdd debe hacerse a travez de un cliente NO TIENE AUTONOMIA LOCAL por otro lado si se permite a las transacciones locales acceso directo a un servidor, el sistema tendrá cierto grado de autonomía local.

Por grado de integración de los esquemas:

Si un usuario percibe un solo esquema integrado sin informacion alguna relativa a la fragmentacion replicacion o distribución se dice que el SGBDD tiene un alto grado  de transparencia de distribucion

Si el usuario puede ver toda la fragmentación, reparto y replicacion el sgbdd no tiene transparencia de distribucion ni integracion de esquemas

SGBDD Federado:

cada servidor es un SGBD centralizado independiente y autónomo que tiene sus propios usuarios locales, transacciones locales y DBA y por ende posee un alto grado de autonomia local. Cada servidor puede autorizar el acceso a porciones especificas de su base de datos definiendo un esquema de exportación, el cual especifica la parde de la base de datos a la cual puede tener acceso cierta clase de usuarios no locales.

BIBLIOGRAFIA:

Fragmentación, Replicación y Reparto de datos para el diseño

FRAGMENTACIÓN:

El problema de fragmentación se refiere al particionamiento de la información para distribuir cada parte a los diferentes sitios de la red. Inmediatamente aparece la siguiente pregunta: ¿cuál es la unidad razonable de distribución?. Se puede considerar que una  relación completa es lo adecuado ya que las vistas de usuario son subconjuntos de las relaciones. Sin embargo, el uso completo de relaciones no  favorece las cuestiones de eficiencia sobre todo aquellas relacionadas con el procesamiento de consultas.
La otra posibilidad es usar fragmentos de relaciones (sub-relaciones) lo cual favorece la ejecución concurrente de varias transacciones  que accesan porciones diferentes de una relación. Sin embargo, el uso de sub-relaciones también presenta inconvenientes. Por ejemplo,  las vistas de usuario que no se pueden definir sobre un solo fragmento necesitarán un procesamiento adicional a fin de localizar  todos los fragmentos de una vista. Aunado a esto, el control semántico de datos es mucho más complejo ya que, por ejemplo,  el manejo de llaves únicas requiere considerar todos los fragmentos en los que se distribuyen todos los registros de la relación.

En resumen, el objetivo de la fragmentación es encontrar un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos hasta relaciones completas.
Existen dos tipos de fragmentación:
1. Fragmentación horizontal: La fragmentación horizontal consiste en particionar las tuplas de una relación global en subconjuntos; esto es claramente útil en BDDs, donde cada subconjunto contiene datos que tienen propiedades lógicas y, en general, geográficas comunes.

Se define cada fragmento con una operación de selección sobre la relación global.

Ejemplo: Supongamos la siguiente relación global:

PROV (nupro, nopro, nolocpro)
la fragmentación horizontal puede ser definida de la siguiente forma:
PROV1 = σnolocpro = “Madrid” (PROV)
PROV2 = σnolocpro = “Barcelona” (PROV)


2. Fragmentación vertical: La fragmentación vertical de una relación global es la subdivisión de sus atributos en grupos; los fragmentos son obtenidos proyectando la relación global en cada grupo. Esto puede ser útil en BDDs cuando cada grupo de atributos pueden contener datos que tienen propiedades geográficas comunes y con tratamientos diferenciados.

Ejemplo: Consideremos la siguiente relación:

EMP (nuemp, noemp, isalemp, itasaemp, nudep)

Una fragmentación vertical de esta relación puede definirse como:
EMP1 = Õ nuemp, noemp, nudep (EMP)
EMP2 = Õ nuemp, isalemp, itasaemp (EMP)
Esta fragmentación podría, por ejemplo, reflejar una organización en la que los salarios y tasas son gestionados separadamente.


REPLICACIÓN:

Resulta útil para mejorar la disponibilidad de datos. Esto puede mejorar la disponibilidad notablemente porque el sistema puede seguir operando mientras, por lo menos, uno de los sitios este activo. También mejorar el rendimiento de la obtención de datos en consultas globales porque el resultado de semejante consulta se puede obtener localmente en cualquier sitio. 

La desventaja es que puede reducir drásticamente la rapidez de operaciones de actualización debido a que una sola actualización lógica deberá ejecutar con todas y cada una de las copias de la base de datos a fin de mantener consistencia. 

REPARTO DE DATOS:

Cada fragmento o copia se debe asignar a un sitio determinado. La elección de sitios y el grado de replicación depende de los objetivos de rendimiento y disponibilidad para el sistema y de los tipos y frecuencias de transacciones introducidas en cada sitio.


BIBLIOGRAFIA:
http://html.rincondelvago.com/sistemas-de-bases-de-datos_1.html
http://sistemasmorela.blogspot.com/

La relación existe entre fiabilidad y disponibilidad en una base de datos distribuida

Base de datos distribuidas:

La fiabilidad y la disponibilidad son dos de las ventajas potenciales de las Bases de Datos Distribuidas que se citan comúnmente la fiabilidad se define a grandes rasgos como la probabilidad de que un sistema este en funciones en un momento determinado, y la disponibilidad es la probabilidad de que el sistema esté disponible continuamente durante un intervalo de tiempo. 

•Fiabilidad: Almacenando varias copias de la data en lugares geográficamente apartados se logra maximizar la probabilidad de que la data va a ser recuperable en caso de que ocurra daño físico en cualquier sitio.

•Disponibilidad: como en la fiabilidad, almacenar varias copias asegura que los usuarios tengan a su disponibilidad los elementos de la data, aún si el nodo al que usualmente acceden no está disponible o falla.