Académique Documents
Professionnel Documents
Culture Documents
Profesora:
Marisela Materano
Autores:
Eduardo Antequera
María Castro
Disraely Suarez
Martínez Sirinest
Sección: 3451
Transacción
Es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es
decir, en forma indivisible o atómica.
Un SGBD se dice transaccional, si es capaz de mantener la integridad de los
datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio.
Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer
las órdenes ejecutadas hasta dejar la base de datos en su estado inicial, como si la orden
de la transacción nunca se hubiese realizado.
Modelo relacional
Es el más utilizado, ya que permite una mayor eficacia, flexibilidad y confianza en
el tratamiento de los datos. La mayor parte de las bases de datos y sistemas de
información actuales se basan en el modelo relacional ya que ofrece numerosas ventajas
y rápido aprendizaje por parte de usuarios que no tienen conocimientos profundos sobre
sistemas de bases de dados.
En el modelo relacional se representa el mundo real mediante tablas relacionadas
entre sí por columnas comunes. Las bases de datos que pertenecen a esta categoría se
basan en el modelo relaciones, cuya estructura principal es la relación, es decir, una tabla
bidimensional compuesta por líneas y columnas.
Cada línea, que en terminología relacional se llama tupla, representa una entidad
que nosotros queremos memorizar en la base de datos. Las características de cada
entidad están definidas por las columnas de las relaciones, que se llaman atributos,
entidades con características comunes, es decir, descritas por el mismo conjunto de
atributos, formarán parte de la misma relación.
Modelo en red
Permite la representación de muchos a muchos, de tal forma que cualquier registro
dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de
red evita redundancia en la información, a través de la incorporación de un tipo de registro
denominado el conector. En el modelo en red se representa el mundo real mediante
registros lógicos que representan a una entidad y que se relacionan entre sí por medio de
flechas.
Modelo jerárquico
Puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno
y relaciones de uno a muchos. Este modelo tiene forma de árbol invertido en el que una
rama puede tener varios hijos, pero cada hijo sólo puede tener un padre.
Modelos de Datos
Se definen como un conjunto de elementos y símbolos que permiten estandarizar
y traducir análisis a un lenguaje semántico y sistemático que dispone de reglas de control
y evaluación del comportamiento del dato en el transcurso del tiempo, tanto en su
almacenamiento como en su utilización. Estos modelos de datos, hacen posible que la
lógica de un negocio pueda ser estructurada de forma tangible a través de un esquema
físico que representa el almacenamiento de los datos bajo las reglas del negocio y de un
sistema gestor de base de datos que permitirá la persistencia de estos a través del
tiempo.
Los Modelos de Datos, también llamados modelos lógicos, se han clasificado en
dos grandes grupos debido al tratamiento de los datos: Basados en Objetos y basados en
Registros. Estos dos grupos de modelos representan dos estados de la interpretación de
los requerimientos de usuario:
Basados en Objetos: un problema de la vida real maneja concepciones abstractas o
concretas, tangibles o intangibles, a las cuales se les ha dado el nombre de "objetos",
calificados a partir de un valor significativo dentro de los parámetros de una forma o estilo
de vida; dichos objetos se modelan a través de propuestas que fueron estructuradas para
así poder estandarizar la forma de manipularlos. Dentro de estos modelos tenemos:
Modelo Entidad Relación (MER)
Modelo Orientado a Objetos (MOO)
Modelo Semántico
Modelo Deductivo
Algebra relacional
Es un conjunto de operaciones que describen paso a paso como computar una
respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional,
denominada de tipo procedimental, a diferencia del cálculo relacional que es de tipo
declarativo.
También describe el aspecto de la manipulación de datos, en estas operaciones se
usan como una representación intermedia de una consulta a una base de datos y, debido
a sus propiedades algebraicas, sirven para obtener una versión más optimizada y
eficiente de dicha consulta.
Archivo
Es un conjunto de bits almacenado en un dispositivo, identificado por un nombre y
la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos se
llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o
microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una
manera de organizar los recursos usados para almacenar permanentemente datos en un
sistema informático.
En lo que concierne al sistema operativo, un archivo es, en la mayoría de los
casos, simplemente un flujo unidimensional de bits, que es tratado por el sistema
operativo como una única unidad lógica. Un archivo de datos informático normalmente
tiene un tamaño, que generalmente se expresa en bytes; en todos los sistemas operativos
modernos, el tamaño puede ser cualquier número entero no negativo de bytes hasta un
máximo dependiente del sistema.
Multiusuario
Es un sistema operativo o programa que permite proveer servicio y procesamiento
a múltiples usuarios. En contraposición a los sistemas monousuario, que proveen servicio
y procesamiento a un solo usuario, en la categoría de multiusuario se encuentran todos
los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que
comparten los mismos recursos. Actualmente este tipo de sistemas se emplean
especialmente en redes, pero los primeros ejemplos de sistemas multiusuario fueron
sistemas centralizados que se compartían a través del uso de múltiples dispositivos de
interfaz humana.
• Los recursos que se comparten son por lo regular una combinación de:
• Procesador.
• Memoria.
• Almacenamiento secundario (almacenaje en disco duro).
• Programas.
• Periféricos como impresoras, plotters, scanner, etc.
De tal modo que los múltiples usuarios tienen la impresión de utilizar un ordenador
y un sistema operativo unificado, que les están dedicados por completo.
Multiproceso
Es conocido como el uso de múltiples procesos concurrentes en un sistema en
lugar de un único proceso en un instante determinado. Como la multitarea que permite a
múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para
ejecutar múltiples hilos dentro de un único proceso.
El multiproceso para tareas generales es, a menudo, bastante difícil de conseguir
debido a que puede haber varios programas manejando datos internos a la vez. Los
programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin
embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden
interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar
este problema se usa una variedad de técnicas de programación incluyendo semáforos y
otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de
forma exclusiva ciertos valores.
Integridad Referencial
Es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales
para asegurarse que los registros de tablas relacionadas son válidos y que no se borren o
cambien datos relacionados de forma accidental produciendo errores de integridad.
Redundancia
Es una propiedad de los mensajes, consistente en tener partes predictibles a partir
del resto del mensaje y que por tanto en sí mismo no aportan nueva información o repiten
parte de la información. En numerosas aplicaciones, la redundancia es una estrategia
ampliamente usada para evitar malentendidos o errores de decodificación.
Por tanto, un dato se actualizará lógicamente por el usuario de forma única, y el
sistema se preocupará de cambiar físicamente todos aquellos campos en los que el dato
estuviese repetido, en caso de existir redundancia física.
Inconsistencia
Las causas de inconsistencia en un sistema pueden ser accidentales o
intencionales, como los programas y archivos son creados por diferentes personas a
través del tiempo, estos pueden tener diferentes formatos y escritos en diferentes
lenguajes de programación, la información puede estar duplicada en los diversos lugares.
Tupla
Es una secuencia ordenada de objetos, esto es, una lista con un número limitado
de objetos. Las tuplas se emplean para describir objetos matemáticos que tienen
estructura, es decir que son capaces de ser descompuestos en un cierto número de
componentes. Por ejemplo, un Grafo dirigido se puede definir como una tupla de (V, E)
donde V es el conjunto de nodos y E es el subconjunto de V × V que denota los vértices
del grafo.
Tabla
Se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por
un programa. Su estructura general se asemeja a la vista general de un programa de Hoja
de cálculo.
Las tablas se componen de dos estructuras:
• Registro: es cada una de las filas en que se divide la tabla. Cada registro
contiene datos de los mismos tipos que los demás registros. Ejemplo: en
una tabla de nombres y direcciones, cada fila contendrá un nombre y una
dirección.
• Campo: es cada una de las columnas que forman la tabla. Contienen datos
de tipo diferente a los de otros campos. En el ejemplo anterior, un campo
contendrá un tipo de datos único, como una dirección, o un número de
teléfono, un nombre, etc.
Entidad
Es la representación de un objeto o concepto del mundo real que se describe en
una base de datos. Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado,
Artículo, etc.
Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad
"Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.
En el modelo de entidad-relación se emplean dos tipos de entidades: entidad
fuerte y entidad débil. Las entidades fuertes tienen atributos claves, en tanto las entidades
débiles no tienen atributos claves propios.
Campo
Es un espacio de almacenamiento para un dato en particular. En las bases de
datos, un campo es la mínima unidad de información a la que se puede acceder; un
campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco,
siendo éste un error del sistema.
Un campo puede ser:
• Campo genérico: Aquel campo que posee un dato único para una
repetición de entidad. Puede servir para la búsqueda de una entidad en
específico.
• Alfanuméricos: Contiene cifras y letras. Presentan una longitud limitada
(255 caracteres).
• Numéricos: Existen de varios tipos principalmente como enteros y reales.
• Booleanos: Admite dos valores, "Verdadero" y "Falso" (True-False).
Atributos
Es una especificación que define una propiedad de un Objeto, elemento o archivo.
Donde puede referirse o establecer el valor específico para una instancia determinada de
los mismos. Por ejemplo, se podría tener una entidad llamada "Alumno" que puede estar
constituida por uno o más atributos, que interesan para almacenarse en la base de datos.
Los atributos pueden ser: nombre, apellido, año de nacimiento, etc.
En SQL un atributo es llamado columna.
Ventajas de Modelo Orientado a Archivo
Fomenta la reutilización y extensión del código.
Permite crear sistemas más complejos.
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software
Cardinalidad
Es un conjunto de relaciones en el que participan dos o más entidades,
expresando cuantas entidades se relacionan con otras. Cada elemento de la entidad
participa en la construcción del modelo Entidad - Relación.
• Uno a Uno (1:1): es una entidad de A se relaciona únicamente con una entidad en
B y viceversa.
• Uno a varios (1:N): es una entidad en A se relaciona con cero o muchas entidades
en B. Pero una entidad en B se relaciona con una única entidad en A.
• Varios a Uno (N:1): es una entidad en A se relaciona exclusivamente con una
entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas
entidades en A.
• Varios a Varios (N:M): es una entidad en A se puede relacionar con 0 o muchas
entidades en B y viceversa.
Registro
Es un conjunto de campos que contienen los datos que pertenecen a una misma
repetición de entidad. Se le asigna automáticamente un número consecutivo que en
ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro
un campo clave para su búsqueda.
La estructura implícita de un registro y el significado de los valores de sus campos
exige que dicho registro sea entendido como una sucesión de datos, uno en cada
columna de la tabla. La fila se interpreta entonces como una variable relacional
compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems: el
nombre de la columna relevante y el valor que esta fila provee para dicha columna.
Funciones de una base de datos
Una base de datos típica conlleva la existencia de tres tipos de usuario con
relación a su diseño, desarrollo y funcionalidad que son:
• El administrador de bases de datos (DBA): diseña y mantiene la base de
datos.
• El desarrollador de aplicaciones (programador): implementa las
transacciones e interfaces.
• Los usuarios finales que consultan y editan la información de la base de
datos mediante un programa desarrollado a su medida.
Por lo tanto, podemos decir que el propósito de una base de datos es doble,
pues tiene que responder a consultas sobre los datos que contiene, y ejecutar
transacciones con la información.
Además debe permitir consultas que se formula como una expresión lógica
sobre la información y hace relaciones definidas en el esquema de la base de
datos, el resultado es la identificación de un subconjunto lógico de la base de
datos, es decir, una selección de registros que cumplen la condición lógica.
Para llevar a cabo tareas, el administrador de bases de datos tiene a su
disposición la principal herramienta de una base de datos, que es el sistema
gestor de bases de datos y a través de éste se realizan todas las operaciones con
los datos, de forma que al administrador de bases de datos no le preocupa la
manera en que los datos se encuentran almacenados físicamente, pudiéndose
concentrar en los aspectos conceptuales en cuanto a diseño, desarrollo y
mantenimiento.
Ordenadores
Volúmenes de almacenamiento.
Otros dispositivos
Tendencias futuras
La explotación efectiva de la información dará ventaja competitiva a las
organizaciones. Las bases de datos orientadas a objetos empleadas
para diseño y manufactura asistida por computadora CAD/CAM serán utilizados a un
mismo nivel que las bases de datos relacionales de la actualidad.
Los lenguajes de consulta (SQL) permitirán el uso del lenguaje natural para
solicitar información de la Base de Datos, haciendo más rápido y fácil su manejo.
Estructura de un Objeto
Un objeto puede considerarse como una especie de cápsula dividida en tres
partes:
Las relaciones: permiten que el objeto se inserte en la organización y están formadas
esencialmente por punteros a otros objetos.
Las propiedades: distinguen un objeto determinado de los restantes que forman parte de
la misma organización y tiene valores que dependen de la propiedad de que se trate. Las
propiedades de un objeto pueden ser heredadas a sus descendientes en la organización.
Los métodos: son las operaciones que pueden realizarse sobre el objeto, que
normalmente estarán incorporados en forma de programas que el objeto es capaz de
ejecutar y que también pone a disposición de sus descendientes a través de la herencia.
Constructores de Objeto
En las BDOO, los valores de los objetos complejos se pueden construir a partir de
otros objetos mediante ciertos constructores de tipos. Una forma de representar tales
objetos es considerar a cada objeto como tripleta (i, c, v), donde i es un identificador de
objeto único, c es un constructor y v es el valor del objeto. Puede haber varios
constructores, según el modelo de datos y el sistema.
Los tres constructores básicos son:
• Constructores de átomos.
• Constructores de tuplas.
• Constructores de conjuntos.
Encapsulamiento de Operaciones
La estructura interna de los objetos debe estar oculta al usuario de un objeto, no
necesita conocerla para interactuar con él. Los objetos se conciben como una cápsula
cuyo interior está oculto y no puede ser alterado directamente desde el exterior.
A la estructura interna de un objeto se la denomina implementación y a la parte
visible, la que se presenta al exterior, interfaz. La interfaz se define por sus atributos y
operaciones. La implementación de una operación se conoce como método. La
implementación de un atributo se realiza generalmente con variables de instancia.
El encapsulamiento comporta las siguientes ventajas:
• La modificación interna de un objeto para corregirlo o mejorarlo no afecta a sus
usuarios.
• La dificultad inherente a la modificación de la implementación de un objeto sea
independiente del tamaño total del sistema. Esto permite que los sistemas evolucionen
con mayor facilidad.
• Al elevar el nivel de abstracción se disminuye el nivel de complejidad de un sistema.
Es posible modelar sistemas de mayor tamaño con menor esfuerzo.
• Constituye un mecanismo de integridad. La dispersión de un fallo a través de todo el
sistema es menor, puesto que al presentar una división entre interfaz e implementación,
los fallos internos de un objeto encuentran una barrera en el encapsulamiento antes de
propagarse al resto del sistema.
• Permite la sustitución de objetos con la misma interfaz y diferente implementación.
Esto permite modelar sistemas de mayor tamaño con menor esfuerzo.
Metodos de Encapsulamiento
En programación modular, y más específicamente en programación orientada a
objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos
miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones
definidas para ese objeto.
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera
se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos
asociados a un objeto contra su modificación por quien no tenga derecho a acceder a
ellos, eliminando efectos secundarios e interacciones.
De esta forma el usuario de la clase puede obviar la implementación de los
métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita
que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas.
Como se puede observar de los diagramas, las variables del objeto se localizan en
el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de
otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la
protección de sus métodos se le llama encapsulamiento.
La encapsulación da lugar a que las clases se dividan en dos partes:
1) Interface: captura la visión externa de una clase, abarcando la abstracción del
comportamiento común a los ejemplos de esa clase.
2) Implementación: comprende la representación de la abstracción, así como los
mecanismos que conducen al comportamiento deseado.
Persistencia de Encapsulamiento
Se llama “persistencia” de los objetos a su capacidad para guardarse y
recuperarse desde un medio de almacenamiento. La persistencia en Base de Datos
relacionales se suele implementar mediante el desarrollo de funcionalidad específica
utilizando la tecnología JDBC o mediante frameworks que automatizan el proceso a partir
de mapeos como es el caso de Hibérnate.
Si bien existen más alternativas de persistencia, en este tutorial abordaremos
estas dos alternativas ya que son las más frecuentemente utilizadas.
Jerarquía de Clases
Consideremos las figuras planas cerradas como el rectángulo, y el círculo. Tales
figuras comparten características comunes como es la posición de la figura, de su centro,
y el área de la figura, aunque el procedimiento para calcular dicha área sea
completamente distinto. Podemos por tanto, diseñar una jerarquía de clases, tal que la
clase base denominada Figura, tenga las características comunes y cada clase derivada
las específicas.
Herencia
La herencia es un intento de adaptación de estos diagramas al paradigma
orientado a objetos. La herencia es un tipo de relación entre una entidad “padre” y una
entidad “hijo”. La entidad “hijo” hereda todos los atributos y relaciones de la entidad
“padre”. Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación
de herencia se representa mediante un triángulo interconectado por líneas a las
entidades. La entidad conectada por el vértice superior del triángulo es la entidad “padre”.
Solamente puede existir una entidad “padre”. Las entidades “hijo” se conectan por la base
del triángulo.
La Herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. En
primer lugar se considerará la herencia de los tipos y después en el nivel de las tablas.
Relaciones Anidadas
El modelo relacional anidado es una extensión del modelo relacional en la que los
dominios pueden ser atómicos o de relación. Por tanto, el valor de las tuplas de los
atributos puede ser una relación, y las relaciones pueden guardarse en otras relaciones.
Los objetos complejos, por tanto, pueden representarse mediante una única tupla de las
relaciones anidadas.
Objetos Complejos
Los objetos se consideran complejos porque requieren un área de
almacenamiento sustancial y no forman parte de los tipos de datos estándar que suelen
ofrecer los SGBD. Puesto que el tamaño de los objetos es considerable, un SGBD podría
obtener una porción del objeto y proporcionarla al programa de aplicación antes de
obtener todo el objeto.
El SGBD podría también usar técnicas de almacenamiento intermedio y caché
para obtener por anticipado porciones del objeto, antes de que el programa de aplicación
necesite tener acceso a ellas.
Como un SGBOO permite a los usuarios crear nuevos tipos, y como un tipo
incluye tanto estructura como operaciones, podemos considerar que un SGBOO tiene un
sistema de tipos extensibles. Podemos crear bibliotecas de nuevos tipos definiendo su
estructura y operaciones, incluso con tipos complejos.
Muchos SGBDOO pueden almacenar y obtener objetos no estructurados extensos
en forma de cadenas y caracteres o de bits, que se pueden pasar “tal cual” al programa
de aplicación para que las interprete.
GemStone
La sintaxis del lenguaje de consulta de GemStone es diferente de SQL, este
lenguaje es bastante limitado en términos de poder expresivo. Solo se puede tener
consultas sobre colecciones de objetos cuyas clases hayan sido definidas. La clausula
constraints de la clase cuya instancia es la colección consultada no debe estar vacía.
Las consultas se llevan a cabo por medio de un mensaje especial select. Este
mensaje tiene como argumento una cadena que denota la combinación lógica de los
predicados que definen la consulta. Estas pueden contener combinaciones lógicas de
predicados y expresiones de camino.
O2
Es un lenguaje de consulta que permite reestructurar el resultado de una consulta de una
forma altamente sofisticada, definido con una sintaxis que recuerda a la sintaxis de SQL.
Sin embargo no es compatible con SQL.
O2 es un lenguaje independiente, y no puede ser utilizado dentro de métodos ni dentro del
lenguaje de aplicación CO2. Este lenguaje se usa principalmente desde interfaces graficas
interactivas, las cuales ofrecen un pequeño entorno específicamente para las consultas.
Este entorno permite, por lo general, formular las consultas, salvarlas asignándoles un
nombre y visualizar el resultado.
Iris
Es conocido como OSQL, es el más similar a AQL en términos de funcionabilidad.
Más específicamente, también tiene mecanismos de cursor para tener acceso secuencial
a los resultados de una consulta.
En OSQL se puede llamar en una consulta a funciones definidas por el usuario,
obviamente el sistema verifica que se le pasen a la función argumentos con el tipo
correcto para asegurar que la consulta es correcta.
Orion
Ofrece un programa de utilidad para ayudar al usuario a determinar las referencias
inconsistentes en un objeto complejo. El programa controla recursivamente todo los
objetos sensibles a la notificación referidos directa o indirectamente desde un objeto dado.
En orion hay dos maneras principales de notificar los cambios: usando mensajes y
usando banderas. En el enfoque basado en mensaje, el sistema notifica los cambios en
los objetos enviando a los usuarios los mensajes apropiados. En el enfoque basado en
banderas, el sistema simplemente actualiza una estructura de datos y los usuarios son
notificados de los cambios solo cuando estos acceden al objeto modificado.
Notación Prolog
Es un lenguaje conversacional, es decir, el sistema mantiene un diálogo continuo con el
programador desde el inicio de la sesión hasta el final de la misma. Este diálogo toma
generalmente la forma de un interrogatorio, a lo largo del cual el programador planteará
preguntas al sistema Prolog. Por su parte, el sistema Prolog responderá cada una de las
preguntas formula.
Notación Datalog
Es un lenguaje lógico que es la forma más simple de lógica desarrollada para el
modelo relacional. Datalog sin recursión tiene el mismo poder expresivo que el álgebra
relacional.
Datalog es una versión similar a Prolog en su sintaxis adecuada para las bases de
datos, pero su semántica operacional es diferente y se diferencia en:
• Datalog no admite símbolos de función en los argumentos.
• El significado de los programas Datalog sigue el punto de vista de teoría de
modelos.
• Prolog, en cambio, se basa en un significado computacional que se desvía de los
significados de la teoría de modelos y de la teoría de pruebas.
Interpretación de Reglas
Podemos usar dos metodologías diferentes para poder interpretar el significado
teórico de las reglas, estos son, por la teoría de demostración y por la teoría de modelos.
Sin embargo en los sistemas prácticos, es el mecanismo de inferencia que tiene el
sistema el que define la interpretación exacta, y esta puede diferir de los modelos teóricos
que acabamos de mencionar.
Este mecanismo de inferencia es un procedimiento computacional y por lo tanto
provee una interpretación computacional del significado de las reglas.
Programación Lógica
La programación lógica consiste en la aplicación del corpus de conocimiento sobre
lógica para el diseño de lenguajes de programación. Se ha convertido en el pilar de una
nueva generación de lenguajes de programación.
Junto con la programación funcional forma parte de lo que se conoce
como programación declarativa, en los cuales los lenguajes tradicionales se intenta
resolver un problema mediante sentencias, en la programación lógica se trabaja de forma
descriptiva, estableciendo relaciones, y no indicando un cómo sino un qué hacer.
Programación en Datalog
Es un conjunto de clausulas separadas de alguna forma convencional, por ejemplo
por punto y coma. Dentro de este programa el propósito principal es soportar
específicamente formulaciones de axiomas deductivos.
Sistema LDL
Lenguaje Lógico de Dato (LDL) se inició en 1984 con dos objetivos primarios:
• Crear un sistema que extendiera el modelo relacional y a la vez aprovechara
algunas de las características positivas de un SGBDR.
• Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD
deductivo y además permitiera la creación de aplicaciones de propósito general.
Ahora el sistema resultante es un SGBD deductivo que se encuentra en el
mercado. El sistema LDL ha intentado combinar la capacidad de expresión y deducción
de prolog con la funcionalidad y los recursos de un SGBD de propósito general. La
desventaja principal que experimentaron los primero sistemas que acoplaron Prolog a un
SGBDR es que Prolog es un lenguaje de navegación en tanto que en los SGBDR el
usuario formula una consulta correcta y deja al sistema la optimización de su ejecución.
Para lidiar con este inconveniente los diseñadores de LDL optaron por convertir el
Prolog a un lenguaje lógico declarativo de aplicación general, produciendo un lenguaje
que es diferente en sus constructores y estilo de programación en los siguientes aspectos:
• Las reglas se compilan en LDL.
• Existe una noción de esquema de la base de hechos en LDL en tiempo de
compilación. Esta base se actualiza libremente en tiempo de ejecución.
• LDL no sigue la técnica de resolución y unificación que se emplea en los sistemas
Prolog basados en backwards-chaining.
• El modelo de ejecución de LDL es más simple, basado en la operación de
comparación y el cálculo del menor punto fijo. Estos operadores, a su vez, utilizan
extensiones simples del algebra relacional.
Sistema Gestores de Base de Datos
Son software muy específico, dedicados a servir de interfaz entre la base de datos,
el usuario y las aplicaciones que la utilizan.
Los hechos general de los sistemas de gestor de bases de datos es el de manejar
de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se
convertirán en información relevante para una organización.