Saltar la navegación

LENGUAJE SQL

SQL

Fuente. https://medium.com/@maniakhitoccori/sql-b%C3%A1sico-conceptos-b%C3%A1sicos-d937a8b19d02

La sigla SQL significa Structured Query Language, Lenguaje de Consulta Estructurado. Es un lenguaje de consulta sobre bases de datos relacionales, mundialmente conocido y usado. Fue creado por IBM en la década de los 80's del siglo pasado.

Así como existen muchos lenguajes de programación en los cuales podemos implementar aplicaciones que manejen archivos convencionales de datos, también existen lenguajes que se crearon con el fin de optimizar el acceso a los datos de una base de datos.

Antes de entrar a detallar en el tema de los lenguajes utilizados en bases de datos, debemos tener claro los conceptos de lenguajes procedimentales y lenguajes no procedimentales. Así que procedamos a introducir estos dos conceptos. Es de aclarar que la definición que se va a dar de esto dos conceptos estará enmarcado dentro de su utilidad en aplicaciones que accedan a datos desde archivos o bases de datos (o cualquier otra estructura existente).

Qué es un lenguaje procedimental?

Si desarrollamos una aplicación que acceda a datos de cualquier medio a través de un lenguaje procedimental, debemos ser conscientes que vamos a tener que expresar en las instrucciones del programa, no solamente qué datos vamos a acceder, sino también la manera cómo vamos a acceder a ellos. Es decir, al escribir programas en este tipo de lenguajes, debemos estar atentos a especificar, además de los datos que necesitamos procesar, el algoritmo específico para recuperarlos del medio donde se encuentren.

Ejemplos típicos de este tipo de lenguajes son los lenguajes denominados de tercera generación: C, Visual Basic, Perl, entre otros.

Qué es un lenguaje no procedimental?

Con la definición anterior, es fácil deducir qué se entiende por un lenguaje no procedimental. A diferencia de los lenguajes procedimentales, en este tipo de lenguajes solo es necesario especificar dentro de las instrucciones que accedan a datos, qué datos vamos a recuperar. En realidad no nos importa el mecanismo de búsqueda que se vaya a implementar para recuperar los datos. Esto sería problema de "otra persona o entidad".  Las instrucciones dentro de un lenguaje no procedimental son más concisas debido a su único requerimiento de especificación de datos a recuperar.

Los lenguajes de acceso a datos no procedimentales se conocen como lenguajes de cuarta generación y en realidad son lenguajes que muchas veces no tienen nombre propio. Esto debido a que son lenguajes que, la mayoría de las veces, vienen incorporados como módulos de los DBMS. (Recuerden que un DBMS consta de dos grandes partes y una de ellas es un conjunto de software que permite optimizar la manipulación de la base de datos. Dentro de este software están los lenguajes de cuarta generación). Hay motores como Oracle y SQL Server que tienen sus lenguajes de cuarta generación denominados PL/SQL y Transact SQL respectivamente. Hay otros motores como Informix que tienen su propio lenguaje de cuarta generación pero se le conoce como "el 4GL de Informix", es decir, no tiene un nombre específico.

Vemos, con base en la exposición anterior, que obviamente los lenguajes procedimentales son mucho más complejos que los no procedimentales en cuanto al acceso de datos se refiere. Es decir, es mucho más fácil usar un lenguaje no procedimental que uno procedimental si de acceder datos de cualquier medio se trata.

Toda la contextualización anterior sirve para definir que el SQL, que es el lenguaje de consulta más utilizado en bases de datos, es un lenguaje no procedimental. Esto significa que el SQL es un lenguaje de cuarta generación. Lo que sucede es que, a diferencia de otros lenguajes, el SQL es un lenguaje que es aceptado como estándar mundial para acceso a bases de datos relacionales. Del tema de SQL como tal, hablaremos más adelante en este manual y estaremos ahondando en sus características generales y específicas.

Por lo tanto, nos damos cuenta que pedirle al DBMS que nos recupere los datos de una base de datos a través de SQL es una labor muy sencilla. Lo verdaderamente complejo son los mecanismos que debe implementar el DBMS, a través de sus algoritmos internos, para poder acceder a dichos datos de la manera más óptima posible.

De lo anterior se desprende que cuando yo invoco una instrucción de consulta en SQL, es el DBMS el responsable de implementar el "como" se van a acceder a los datos requeridos por dicha consulta. Es el DBMS el que haría lo que debería hacer el Analista/Programador si escribiera la misma consulta en un lenguaje procedimental.

Debemos enunciar en este momento el hecho de que SQL, que es un lenguaje de cuarta generación, tiene tres tipos de instrucciones:

  1. Instrucciones DDL
  2. Instrucciones DML
  3. Instrucciones DCL

Veamos a continuación, de una manera genérica, a qué se refieren estos tipos de instrucciones.

Qué son instrucciones DDL?

La sigla DDL significa Data Definition Language, es decir, Lenguaje de Definición de Datos. Es a través de este tipo de instrucciones que se pueden definir las estructuras que se van a crear en la base de datos para contener los datos, es decir, son las instrucciones para crear lo que se denominan las tablas de la base de datos. Además, con este tipo de instrucciones se pueden definir reglas de integridad de datos, es decir, normas que deben cumplir los datos para considerarlos correctos dentro del contexto que maneja la base de datos.

Como conclusión podemos decir que el DDL permite definir el ESQUEMA de la base de datos.

Y qué significan instrucciones DML?

DML como sigla significa Data Manipulation Language. Es a través de este tipo de instrucciones que podemos manipular los datos que hay contenidos o grabados en la base de datos. En otras palabras, a través de instrucciones DML se pueden realizar las cuatro operaciones básicas sobre los datos: inserción de nuevos datos, actualización de datos ya existentes, borrado de datos y consulta de datos.

Y el DCL?

La sigla DCL viene de Data Control Language, en otras palabras, Lenguaje de Control de Datos. Qué se puede realizar con este tipo de instrucciones? A través de las instrucciones DCL podemos controlar el acceso a los datos, es decir, podemos definir perfiles de usuarios con sus respectivos permisos. Es a través de este tipo de lenguaje que podemos administrar lo que se denomina CONTROL DE ACCESO en el mundo de las bases de datos.

Video:

Lenguaje SQL - Introducción