LENGUAJE SQL
Enviado por Noribell • 20 de Noviembre de 2013 • 2.837 Palabras (12 Páginas) • 680 Visitas
LENGUAJE SQL
El Lenguaje de Consulta Estructurado SQL (Structured Query Language) es un lenguaje de programación diseñado específicamente para el acceso a Sistemas de Gestión de Base de Datos Relacionales (SGBDR). Como la mayor parte de los sistemas actuales son de este tipo, y como el lenguaje SQL es el más ampliamente usado en éstos, se puede decir sin ningún género de dudas que este lenguaje es empleado mayoritariamente en los sistemas existentes hoy en día e indiscutiblemente no tiene rival alguno.
Este lenguaje es empleado en sistemas informáticos que van desde ordenadores personales muy básicos con apenas 64 MB de espacio en memoria central hasta los más potentes multiprocesadores y multicomputadores con decenas de procesadores superescalares de 64 bits.
HISTORIA DEL LENGUAJE SQL
El nombre originario que se le dio a SQL fue SEQUEL y nació como un prototipo de IBM entre los años 1974 y 1975. Se basaba en el modelo racional teórico de Codd.
Posteriormente el lenguaje recibió el nombre de SEQUEL II cuando fueron añadidas nuevas funcionalidades.
En 1979 aparece el primer gestor de base de datos basado en SQL, que lo adopta la compañía de Oracle.
En 1982 el comité de ANSI (American National Standard Institute) presenta un lenguaje estándar basado en el SQL propio de IBM y lo denomina SQL/ANS.
Más tarde en 1989, con nuevas mejoras, el estándar de ANSI pasa a denominarse Addendum.
En 1992 tras incrementos semánticos del lenguaje Addendum, basándose en el esquema racional, se aprueba el estándar ANSI: SQL2. Este estándar es el que utiliza Oracle en su base de datos de la versión 8.
En 1996 ANSI define SQL/PSM como una extensión a SQL para proporcionar programación procedimental (fue la inspiración para la creación de PL/SQL).
La extensión SQL/PSM es definida por ISO/IEC 9075-4:2003. SQL/PSM estandariza extensiones procesales para SQL incluyendo el flujo de control, el manejo de condiciones, declaraciones de variables, cursores y variables locales, y la asignación de expresiones a variables y parámetros. Además SQL/PSM formaliza la declaración y el mantenimiento de rutinas de lenguaje de base de datos persistentes (por ejemplo, procedimientos almacenados).
En 1999 se aprueba una nueva versión oficial estándar de ANSI, conocida como SQL3 o SQL3-PSM, que añade comparación de expresiones regulares, consultas recursivas, Triggers, soporte para almacenamientos, sentencias de control de flujo, tipos de datos no escalares y algunas de las características de la programación orientadas a objetos.
En 2003 se define a SQL 2003, que introduce características del lenguaje XML, secuencias estandarizadas y columnas con valores autogenerados.
En el 2006 se presenta una nueva versión del lenguaje estandarizada por ISO/IEC 9075-14:2006, que define los modos en los que el lenguaje SQL puede ser usado en conjunción con el lenguaje XML. Define modos de importación y almacenamiento de datos XML en una base de datos SQL, manipulación y publicación de los datos en XML y SQL convencional en formularios XML.
En 2008 se realiza una revisión estándar anterior para añadir el uso de la sentencia ORDER BY en la definición de cursores externos, adición de la instrucción INSTEAD OF en los Triggers y adición a la sentencia TRUNCATE. Esta versión del lenguaje SQL es la última que ha aparecido hasta los momentos y es la que se encuentra implementada en la versión 11g de Oracle,
BENEFICIOS DEL LENGUAJE SQL
La creación del Lenguaje SQL ha permitido (con sus distintas estandarizaciones) una serie de beneficios en los accesos a las bases de datos racionales, que se resumen en los siguientes puntos:
Se pueden procesar conjunto de datos como grupos en vez de como unidades individuales.
Se proporcionan mecanismos para la navegación por los datos.
Existen instrucciones muy potentes individualmente que proporcionan tareas variopintas:
o Consulta de datos.
o Inserciones, modificaciones y borrado de filas de una tabla,
o Creación, reemplazo, alteración y borrado de objetos.
o Control de acceso a la base de datos y sus objetos.
o Garantizadores de consistencia e integridad.
Permite el uso de SQL embebido (se puede incluir dentro de otros lenguajes de programación).
CONVEXIONES LÉXICAS
Las convexiones léxicas hacen referencia a la implementación de sentencias SQL.
Las expresiones que se diseñan con instrucciones SQL permiten a parte de las propias palabras reservadas del lenguaje, los siguientes elementos léxicos:
• Tabuladores.
• Retornos de línea.
• Espacios.
• Comentarios.
Por ejemplo, la siguiente instrucción es válida:
SELEC ENAME, SAL 12, MONTHS _BETWEEM (HIREDATE, SYSDATE) FROM EMP
Y la siguiente también, aunque incluya tabuladores, retornos de línea y espacios
SELEC ENAME,
SAL 12,
MONTHS_BETWEEM (HIREDATE, SYSDATE)
FROM
EMP;
CARACTERÍSTICAS GENERALES DEL LENGUAJE SQL
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros (y no a registros individuales) permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:
Lenguaje de Definición de Datos: El LDD de SQL proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje Interactivo de Manipulación de Datos: El LMD de SQL incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos.
Definición de vistas: El LDD incluye comandos para definir las vistas.
Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción.
SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones
...