Concepto: Un lenguaje de consulta es un lenguaje en el que un usuario solicita informacin de la base de datos. Estos lenguajes son normalmente de ms alto nivel que los lenguajes comunes de programacin. 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 informacin deseada sin un procedimiento especifico para obtener esa informacin. Lenguajes Formales de Bases de Datos La teora de lenguajes formales es en esencia un rea interdisciplinaria de la ciencia, que va desde la lingstica hasta la biologa.Los lenguajes formales constituyen una herramienta muy til para modelos de computacin, as como para otras ramas, tales como criptografa y la ingeniera.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. Clculo Relacional 3. Optimizacin 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 relacin.Las operaciones fundamentales del lgebra relacional son: Seleccin Proyeccin Unin Diferencia de Conjuntos Producto Cartesiano Renombramiento. Adems de las operaciones fundamentales, hay otras operaciones, por ejemplo: Interseccin de Conjuntos Reunin Natural Divisin Asignacin. Clculo Relacional El clculo 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 clculo de predicados para la formulacin 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 slo es preciso indicar el resultado que se quiere obtener.Los lenguajes del clculo relacional pueden ser de dos tipos:
Orientados a la Tupla Orientados al Dominio. Clculo 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 comparacin, los lgicos NOT, AND, OR, as como el existencial ( $ ) y el universal ( " ). Clculo Relacional Orientado al Dominio En el clculo 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 ms caracterstico del clculo relacional orientado a dominios es el lenguaje QBE (Query by Example). Optimizacin 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 anlisis lxico que identifica los componentes del lenguaje Despus un anlisis sintctico que revisa la sintaxis La consulta debe ser valida para lo que ha de comprobarse que los nombres de las relaciones, los atributos son vlidos. A continuacin se crea una representacin 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 ejecucin para obtener el resultado de la consulta a partir de los archivos internos. El proceso de elegir la alternativa ms adecuada para procesar una consulta se denomina: Optimizacin de Consultas. SQL SQL usa una construccin del lgebra relacional y de clculo relacional.Existen numerosas versiones de SQL. La versin original fue desarrollada en el San Jos Research Laboratory de IBM (ahora el Almaden Research Center). Este lenguaje, originalmente llamado Sequel, fue implementado como parte del proyecto del Sistema R en los primeros aos de la dcada de los setenta. El lenguaje Sequel ha evolucionado desde entonces, y su nombre a cambiado al SQL (Structured Query Lenguaje (Lenguaje de Consulta Estructurado)).En 1986, el American Nacional Standard Institute (ANSI) public un SQL estndar. SQL se ha establecido como el lenguaje de base de datos relacional estndar. El lenguaje SQL tiene varias partes:
Lenguaje de definicin de datos (DDL): Proporciona rdenes para definir esquemas de relacin, eliminar relaciones, crear ndices y modificar esquemas de relacin. Lenguaje de manipulacin de datos interactivo: El SQL DML incluye un lenguaje de consultas basado en el lgebra relacional y el clculo relacional de tuplas. Tambin incluye rdenes para insertar, suprimir y modificar tuplas de la base de datos. Lenguaje de manipulacin de datos inmerso (DML): La forma inmersa de SQL esta diseada para usar dentro de los lenguajes de programacin de propsito general, tales como PL/I, Cobol, Pascal, Fortran y C. Definicin de vistas: El SQL DDL incluye rdenes para definir vistas. Autorizacin: El SQL DDL incluye rdenes para especificar derechos de acceso a relaciones y vistas. Integridad: SQL proporciona una forma limitada de comprobacin de integridad Control de transacciones: SQL incluye rdenes para especificar el comienzo y final de las transacciones. Lenguaje de Definicin de Datos (DDL) Un esquema de base de datos se especifica por medio de un conjunto de definiciones que se expresan mediante un lenguaje especial llamado lenguaje de definicin de datos (DDL).El conjunto de relaciones en una base de datos debe ser especificado al sistema por medio de un lenguaje de definicin de datos (DDL).El SQL DDL permite la especificacin no solo de un conjunto de relaciones, sino tambin informacin sobre cada relacin incluyendo:
El esquema para cada relacin El dominio de valores asociados con cada atributo El conjunto de ndices que se van a mantener para cada relacin La informacin de seguridad y autorizacin para cada relacin Limites de integridad La estructura fsica de almacenamiento de cada relacin del disco Lenguaje de Manipulacin de Datos (DML) Este lenguaje permite el manejo de las tablas y las vistas mediante sus cuatro verbos, correspondientes a las cuatro operaciones fundamentales sobre los datos. Por manipulacin de datos queremos decir: La recuperacin de informacin almacenada en la base de datos. La insercin de informacin nueva en la base de datos. La supresin de informacin de la base de datos. La modificacin de datos almacenados en la base de datos. Un lenguaje de manipulacin de datos (Data Manipulation Language (DML)) es un lenguaje que capacita a los usuarios a acceder o manipular datos segn estn organizados por el modelo de datos adecuado. Lenguaje de Control de Datos (DCL)Contiene los operadores para la gestin de transacciones (COMMIT y ROLLBACK) y prioridades de acceso a los datos (GRANT y REVOKE).Una transaccin es un conjunto de operaciones que van a ser tratadas como una nica unidad. Estas transacciones deben cumplir 4 propiedades fundamentales comnmente conocidas como ACID (atomicidad, coherencia, asilamiento y durabilidad).Para ms informacin puedes revisar este documento sobre SQL, que contiene informacin sobre SQL y sus tres tipos de lenguajes de datos, Otros Lenguajes de Bases de Datos Existe un gran nmero de lenguajes que nos permiten el manejo de las bases de datos, en esta ocasin listaremos los ms populares, con sus respectivos links para saber ms.
Microsoft Access Visual Fox Pro Oracle MySQL PostgreSQL Firebird Sybase