Lenguajes De Programacion
Enviado por carlos112233 • 28 de Agosto de 2014 • 1.090 Palabras (5 Páginas) • 170 Visitas
UNIDAD4
Concepto de Clasificación de Lenguajes
Concepto: Un lenguaje de consulta es un lenguaje en el que un usuario solicita información de la base de datos. Estos lenguajes son normalmente de más alto nivel que los lenguajes comunes de programación.
Los lenguajes de consulta se pueden clasificar de la siguiente manera:
1. Procedimentales
2. No Procedimentales
Lenguajes Procedimentales: En este tipo de lenguaje el usuario da instrucciones la sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final.
Lenguajes No Procedimentales: El usuario describe la información deseada sin un procedimiento especifico para obtener esa información.
Lenguajes Formales de Bases de Datos
La teoría de lenguajes formales es en esencia un área interdisciplinaria de la ciencia, que va desde la lingüística hasta la biología.Los lenguajes formales constituyen una herramienta muy útil para modelos de computación, así como para otras ramas, tales como criptografía y la ingeniería.Por ejemplo, las entradas y salidas de un artefacto computacional, pueden ser vistos como lenguajes.
Entre los lenguajes formales de bases de datos encontramos:
1. Algebra Relacional
2. Cálculo Relacional
3. Optimización de Consulta
Algebra Relacional
El álgebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación.Las operaciones fundamentales del álgebra relacional son:
• Selección
• Proyección
• Unión
• Diferencia de Conjuntos
• Producto Cartesiano
• Renombramiento.
Además de las operaciones fundamentales, hay otras operaciones, por ejemplo:
• Intersección de Conjuntos
• Reunión Natural
• División
• Asignación.
Cálculo Relacional
El cálculo relacional fue propuesto por Codd como alternativa al álgebra. La diferencia fundamental entre un lenguaje algebraico y un lenguaje predicativo (denominado así porque utiliza el cálculo de predicados para la formulación de consultas), es que en el primero hay que especificar que operadores se tienen que aplicar a las relaciones para obtener un resultado, mientras que en el segundo sólo es preciso indicar el resultado que se quiere obtener.Los lenguajes del cálculo relacional pueden ser de dos tipos:
• Orientados a la Tupla
• Orientados al Dominio.
Cálculo Relacional Orientado a la Tupla
Tiene las siguientes consideraciones:
• Las variables se asocian a Tuplas.
• Las constantes se asocian a variables de dominio.
• Los operadores son los de comparación, los lógicos NOT, AND, OR, así como el existencial ( $ ) y el universal ( " ).
Cálculo Relacional Orientado al Dominio
En el cálculo relacional orientado a dominios existen variables de dominios en lugar de variables de tupla, las variables de dominio se definen sobre un dominio, tomando en cada momento un valor de éste.
El ejemplo más característico del cálculo relacional orientado a dominios es el lenguaje QBE (QuerybyExample).
Optimización de Consultas
Para expresar una consulta en un lenguaje de alto nivel, como SQL, normalmente se siguen los siguientes pasos:
• Primero debe pasar por un análisis léxico que identifica los componentes del lenguaje
• Después un análisis sintáctico que revisa la sintaxis
• La consulta debe ser valida para lo que ha de comprobarse que los nombres de las relaciones, los atributos son válidos.
• A continuación se crea una representación interna de la consulta, por lo regular en forma de árbol o grafo de consultas.
Lo siguiente que debe hacer el SGBD es crear una estrategia de ejecución para obtener el resultado de la consulta a partir de los archivos internos. El proceso de elegir la alternativa más adecuada para procesar una consulta se denomina: Optimización de Consultas.
SQL
SQL usa una construcción del álgebra
...