Nombre: Diana López Figueroa
¿QUÉ ES EL LENGUAJE SQL (STRUCTURED DATA LENGUAGE)?
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencillainformación de interés de una base de datos, así como también hacer cambios sobre ell a. HISTORIA DEL LENGUAJE SQL
Los orígenes del SQL están ligados a las de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a éste un sublenguaje de acceso a los datos basado en el cálculo de predicados. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language) que más tarde sería ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial. El SEQUEL terminaría siendo el predecesor de SQL, siendo éste una versión evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, el "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por la ISO. Sin embargo, este primer estándar no cubre todas las necesidades de los desarrolladores e inclu ye funcionalidades de definición de almacenamiento que se consideraron suprimir. Así que en 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio. El ANSI SQL sufrió varias revisiones y agregados a lo largo del tiempo:
Año 1986 1989 1992 1999
Nombre SQL-86 SQL-89 SQL-92 SQL:1999
Alias SQL-87
Comentarios Primera publicación hecha por ANSI. Confirmada por ISO en 1987. Revisión menor. SQL2 Revisión mayor. SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas características orientadas a objetos. 2003 SQL:2003 Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las columnas autonumericas. (Ver Eisenberg et al.: SQL:2003 Has Been Published.) 2006 SQL:2006 ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML. 2008 SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE.
UTILIZACIÓN DEL LENGUAJE SQL EN LOS SGBD
Generalmente, los SGBD utilizan algún lenguaje específico, de forma que sólo a través de él se puede interactuar con el sistema para realizar alguna de las operaciones expuestas. La estructura del lenguaje depende directamente del modelo de datos que implementa el SGBD. Cuando se habla de un lenguaje de SGBD, se tiende a pensar que el lenguaje es el SGBD en sí, lo cual es un error, ya que el lenguaje como tal sólo es parte de un conjunto de herramientas que permiten la implementación de sistemas de información computacionales. El papel que juegan los lenguajes de SGBD es simplemente proveer un protocolo de comunicaciones con los SGBD, de forma que cualquier usuario tenga acceso al SGBD (a través de una red, por ejemplo) y pueda realizar transacciones con él. Se debe notar que los usuarios pueden ser personas, aplicaciones cliente, o incluso otros SGBD. De esta manera, cuando un usuario desea comunicarse con un SGBD, puede hacerlo s ólo a través del lenguaje del SGBD, ya sea utilizando una interfaz de línea de comandos, que permite realizar cualquier operación con el lenguaje; o una aplicación cliente específica, desarrollada para satisfacer necesidades particulares de información, y que utiliza el mismo lenguaje. En el caso de los SGBD Relacionales (basados en el Modelo Relacional de datos), el lenguaje utilizado es SQL (Structured Query Language), cuyos aspectos se discutirán posteriormente. COMPONENTES DE UN SGBD
Componentes de un sistema de gestión de bases de datos Los SGBD son paquetes de software muy complejo y sofisticado que deben proporcionar los servicios comentados en la sección anterior. No se puede generalizar sobre los elementos que componen un SGBD ya que varían mucho unos de otros. Sin embargo, es muy útil conocer sus componentes y cómo se relacionan cuando se trata de comprender lo que es un sistema de bases de datos. Un SGBD tiene varios módulos, cada uno de los cuales realiza una función específica. El sistema operativo proporciona servicios básicos al SGBD, que es construido sobre él. El procesador de consultas es el componente principal de un SGBD. Transforma las consultas en un conjunto de instrucciones de bajo nivel que se dirigen al gestor de la base de datos. ¿QUE SON: DML, DDL Y DCL?
En SQL tenemos bastantes sentencias que se pueden utilizar para realizar diversas tareas. Dependiendo de las tareas, estas sentencias se pueden clasificar en tres grupos principales (DML, DDL,DCL), aunque nos quedaría otro grupo que a mi entender no está dentro del lenguaje SQL sino del PLSQL.
SENTENCIA DML Manipulación de datos SELECT INSERT DELETE UPDATE DDL Definición de datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM DCL Control de acceso GRANT REVOKE Control de transacciones COMMIT ROLLBACK
DESCRIPCIÓN Recupera datos de la base de datos. Añade nuevas filas de datos a la base de datos. Suprime filas de datos de la base de datos. Modifica datos existentes en la base de datos.
PLSQL SQL Programático DECLARE OPEN FETCH CLOSE
Define un cursor para una consulta. Abre un cursor para recuperar resultados de consulta. Recupera una fila de resultados de consulta. Cierra un cursor.
Añade una nueva tabla a la base de datos. Suprime una tabla de la base de datos. Modifica la estructura de una tabla existente. Añade una nueva vista a la base de datos. Suprime una vista de la base de datos. Construye un índice para una columna. Suprime el índice para una columna. Define un alias para un nombre de tabla. Suprime un alias para un nombre de tabla. Concede privilegios Suprime privilegios
de de
acceso acceso
Finaliza la transacción Aborata la transacción actual.
a usuarios. a usuarios actual.