Lenguajes De Bases De Datos
Enviado por bondjamesbond • 4 de Diciembre de 2013 • 1.657 Palabras (7 Páginas) • 483 Visitas
Básicamente, podemos decir que un lenguaje de consulta es un lenguaje usado por el usuario para solicitar información a la base de datos. En el tema anterior, se ha comentado que Codd propuso dos lenguajes formales para representar consultas de una forma concisa, sin embargo, los sistemas de bases de datos comerciales necesitan un lenguaje de consultas más cómodo para el usuario. En este tema veremos el lenguaje comercial que mayor influencia tiene, el SQL.
En el tema 1 (punto 3.3. Lenguajes de la base de datos) vimos que la interacción con la base de datos se realiza a través de lenguajes; el lenguaje de definición de datos (DDL o LDD) y el lenguaje de manipulación de datos (DML o LMD, dentro del cual contemplábamos el lenguaje de consulta como la parte del LMD que permitía recuperar información).
Aunque a menudo se diga que el SQL es un “lenguaje de consulta”, es necesario recordar que esto no es exactamente cierto dado que contiene muchas otras capacidades además de la de consultar la base de datos, como son; la definición de la propia estructura de los datos, la manipulación de dichos datos y la especificación de las ligaduras de seguridad.
El SQL fue desarrollado a principios de los años 70 en E.E.U.U por I.B.M, inicialmente se llamó SECUEL.
Referentes al LDD (creación de permisos, seguridad y control de transacciones) debido a la brevedad del curso.
Los podemos dividir en dos tipos: Lenguajes Formales y Lenguajes Comerciales. Los lenguajes formales están basados en el álgebra relacional o en el cálculo relacional. Solamente se han descrito para consulta a Bases de Datos (existen lenguajes comerciales que además de consulta permiten otras operaciones).
4.1 LENGUAJES DE LA BASE DE DATOS (CONCEPTO Y CLASIFICACIÒN)
Introducción
Los lenguajes de consulta (query language) son especificaciones formales para representar consultas. Aún cuando son llamados de "consulta" en realidad pueden hacer mucho más que consultas.
Estos lenguajes suelen ser de un nivel superior que el de los lenguajes de programación habituales. Los lenguajes de consultas pueden clasificarse como procedimentales o no procedimentales de que el usuario especifica ¿que?, no ¿Cómo?
En los lenguajes no procedimentales el usuario describe la información deseada sin dar un procedimiento concreto para obtener esa información.
En los lenguajes procedimentales el usuario indica al sistema que lleve a cabo una serie de operaciones en la base de datos para calcular el resultado deseado.
El proceso de navegar alrededor de la base de datos para dar respuesta a la solicitud del usuario es ejecutado automáticamente por el sistema, no manualmente por el usuario. Decidir como ejecutar esta navegación automática es responsabilidad de un elemento muy importante en un SMBD llamado el optimizador.
Diversas son las operaciones que se pueden llevar a cabo sobre una base de datos. De acuerdo al tipo de operaciones que puede realizar el lenguaje, estos pueden clasificarse como:
• lenguajes de consultas, lenguajes de manipulación de datos (DML) y
• lenguajes de definición de datos (DDL) principalmente.
4.2 LENGUAJES FORMALES DE LA BASED DE DATOS
Los podemos dividir en dos tipos: Lenguajes Formales y Lenguajes Comerciales. Los lenguajes formales están basados en el álgebra relacional o en el cálculo relacional. Solamente se han descrito para consulta a Bases de Datos (existen lenguajes comerciales que además de consulta permiten otras operaciones).
El álgebra relacional tiene procedimientos (procedimental), mientras que los lenguajes basados en el cálculo relacional son aprocedimentales. Dentro del cálculo relacional se distingue entre cálculo relacional orientado a tuplas y cálculo relacional orientado a dominios.
Los lenguajes comerciales, en su mayoría usan enfoques tanto procedimentales como aprocedimentales, o lo que es lo mismo, no son lenguajes puros como los formales. De esta manera hacen su sintaxis más amigable al usuario.
Las operaciones fundamentales del álgebra relacional son selección, proyección, unión, diferencia de conjuntos y producto cartesiano. Además de las operaciones fundamentales hay otras operaciones-por ejemplo, intersección de conjuntos, reunión natural, división y asignación. Estas operaciones se definirán en términos de las operaciones fundamentales
Lenguajes Formales
Álgebra Relacional
A) Operaciones fundamentales: Tiene cinco por medio de las cuales se puede realizar cualquier consulta. Son las siguientes:
1.- Selección (σ). Es una operación unaria (actúa sobre una relación única). Sirve para obtener determinadas tuplas de una relación, basándose en que dichas tuplas cumplan un predicado determinado P. Su sintaxis es la siguiente: σP (r), donde r es la relación sobre la que se actúa y P es el predicado que debe cumplirse.
Si por ejemplo tenemos la relación: estudiante = (NE, nombre, edad, direccion) y queremos seleccionar al estudiante 2249 tendremos que hacer: σ NE =2249 (estudiante) .
El predicado de selección admite los siguientes operadores relacionales: < , ≤ , > , ≥ , = . Además un predicado puede estar compuesto por varias condiciones unidas por los conectivos ∧ u ∨.
Ejemplo:
σ nombre = "Pepe" ∧ edad > 25 (estudiante)
De esta manera se seleccionarían todos los estudiantes llamados Pepe y cuya edad supere los 25 años.
2.- Proyección (Π): Es también una operación unaria. Proyecta una nueva relación con un nuevo esquema en el cual aparezcan solamente los atributos que se especifican en la operación.
Sintaxis: Π A1 ,..., An (r). Donde A1 ,...., An es la lista de atributos y "r" la relación sobre la que se actúa.
Si, por ejemplo, queremos tener toda la relación de estudiantes, pero sólo con el nombre haríamos:
...