Varios Temas
87
Tema 6. AREAS de APLICACIÓN
6.1.
6.2.
Sistemas Expertos
6.3.
Apuntes: Curso de PROGRAMACION LOGICA
Bases de Datos
Lenguaje Natural
Marisa Navarro 2008-09
88
Apuntes: Curso de PROGRAMACION LOGICA
6. AREAS de APLICACIÓN
Marisa Navarro 2008-09
6. AREAS de APLICACIÓN
89
TEMA 6. AREAS de APLICACIÓN
En este tema se presentan 3áreas clásicas de aplicación de la Programación Lógica.
6.1
Bases de Datos
Los sistemas de gestión de bases de datos relacionales se caracterizan porque almacenan los datos en "tablas" o "relaciones" y por las
operaciones de tipo algebraico que se realizan sobre dichas tablas. Esta información se puede representar de forma adecuada en un lenguaje
lógico (Prolog). Se verá en concreto lassimilitudes entre las preguntas Prolog y las que se hacen en las B.D.R.
A) Componentes de un S.G.B.D.R.:
Los 4 componentes del sistema y sus relaciones vienen dados por la figura siguiente:
Front End
Data Diccionary
Query Facility
Data Manager
Front - End (interfaz con el usuario)
- Acepta la entrada del usuario comprobando si es un comando o pregunta válida.
- Pasa la entrada aldiccionario, para definir nuevas tablas, o al módulo de preguntas, para acceder a la información en la B.D.
- Devuelve al usuario la respuesta a su pregunta o los errores que puedan aparecer al ejecutarla.
Apuntes: Curso de PROGRAMACION LOGICA
Marisa Navarro 2008-09
90
6. AREAS de APLICACIÓN
- De entre los posibles modelos de interfaz (sistemas gráficos, dirigidos por menus, etc), elmás extendido es el SQL ("Structured Query
Languaje") que define un conjunto de comandos (que representan las operaciones del álgebra relacional) con el que el usuario se comunica
con la B.D.
- Se verá la relación entre una pregunta SQL y una pregunta Prolog.
Data Diccionary (diccionario de datos)
- Define la terminología en la que el usuario puede formular las preguntas, manteniendo uncatálogo de los nombres de las tablas y sus
columnas. La información a añadir debe coincidir con alguna definición de tabla.
- Prolog no posee un diccionario de datos ya que el manejo de los datos es totalmente flexible: se pueden crear términos en cualquier
momento sin restringirlos a una clase de información determinada. Sin embargo, el diccionario de datos se precisa para mantener el orden en
laB.D.
Query facility (módulo de preguntas)
- Añade información a la B.D. o la extrae de ella.
- Una pregunta se forma con términos del diccionario.
Este módulo traduce la representación de la pregunta (tipo diccionario) a una pregunta Prolog ejecutable.
- La respuesta será otra tabla (parte de ella, o combinación de varias) lógica (no necesariamente física).
Data Manager (gestor de datos)
-Se ocupa de almacenar y acceder a los datos.
- Un S.G.B.D.R. puede aprovechar la ventaja que Prolog le brinda con su B.D. interna: las tablas se almacenan como estructuras Prolog y el
acceso vendrá dado por los mecanismos predefinidos del lenguaje para el manejo de datos (sin necesidad de codificar primitivas especiales).
Apuntes: Curso de PROGRAMACION LOGICA
Marisa Navarro 2008-09
6.AREAS de APLICACIÓN
91
B) Diseñando una B.D.
Ejemplo: Catálogo de discos
Escribiremos un programa para catalogar los discos de una colección. La información a almacenar se puede representar de la siguiente forma:
DISCO
titulo
grupo
CANCIONES_DISCO
titulo
canción
editor
fecha
MUSICOS_GRUPO
nombre
grupo
MUSICO_INSTRUMENTOS
nombre
instrumento
Un SGBDR debe exigirque cada tabla tenga una "clave primaria" (columna que hace que cada fila sea única).
Prolog no exige que cada término de su B.D. sea único, por lo que no existe en Prolog mecanismos predefinidos para mantener la integridad
de la BD. Estas restricciones deben ser impuestas por la aplicación.
C) El Diccionario de Datos
Mantiene la información sobre las tablas. Cada entrada es una...
Regístrate para leer el documento completo.