martes, 26 de febrero de 2008

1.4 Lenguajes de base de datos

Un sistema de base de datos proporciona un lenguaje de definición de datos (LDD) para especificar el esquema de la base de datos y un lenguaje de manipulación de datos (LMD) para expresar las consultas y las modificaciones a la base de datos. En la práctica, los dos lenguajes no suelen ir por separado, sino que forman un único lenguaje, como por ejemplo en el lenguaje SQL.

  • El Lenguaje de definición de datos (LDD) sirve para especificar el esquema de la BD. El objetivo del lenguaje es permitir especificar un conjunto de tablas, que se almacenan en un archivo especial llamado diccionario de datos o directorio de datos. Esta información son datos acerca de los datos, es decir, metadatos.

  • El Lenguaje de manipulación de datos (LMD) permite acceder y manipular los datos organizados. Hay dos tipos: LMD procedimentales, que requieren que el usuario especifique que datos se necesitan y como obtenerlos, y LMD no procedimentales, que sólo requieren del usuario que especifique qué datos necesita, sin necesidad de indicar también como obtenerlos.


Las operaciones quu se pueden realizar sobre la información almacenada en una base de datos son:

  • La consulta o recuperación de la información almacenada

  • La inserción de información nueva

  • El borrado de información

  • La modificación de la información


Una consulta es una instrucción para recuperar información, y la
parte del LMD que implica recuperación de información se llama
Lenguaje de Consultas. Existen varios lenguajes de consultas.
En el tema 4 se estudiará SQL, el más extendido de todos. En
el tema 5 se estudiarán otros.

Acceso a la base de datos desde programas de aplicación


Los programas de aplicación se escriben normalmente en un lenguaje de alto nivel (Cobol, C, C++, Python, Java, etc...), que denominaremos lenguaje anfitrión. Para acceder a la base de datos, las instrucciones LMD necesitan ser ejecutadas desde el lenguaje anfitrión. Hay dos maneras de conseguir esto:

  • Mediante una API (Librería de procedimientos) que permita enviar instrucciones LMD y LDD a la base de datos, así como recuperar los resultados. Un ejemplo de un API de ese tipo es ODBC (Open Data Base Connectivity), definida para permitir el acceso a la base de datos desde C. JDBC (Java Data Base Connectivity) es similar, utilizando como lenguaje anfitrión Java.

  • Extendiendo la sintaxis del lenguaje anfitrión para incorporar llamadas LMD dentro del programa del lenguaje anfitrión. Normalmente se implementa con un preprocesador. Si se utiliza esta técnica se dice que el lenguaje de consulta está embebido en el lenguaje anfitrión.

No hay comentarios: