SQL
SQL
¿Qué es SQL?
El lenguaje de consulta estructurada (SQL) es un lenguaje de consulta popular que se usa con frecuencia
en todos los tipos de aplicaciones. Los analistas y desarrolladores de datos aprenden y usan SQL porque
se integra bien con los diferentes lenguajes de programación. Por ejemplo, pueden incrustar consultas
SQL con el lenguaje de programación Java para crear aplicaciones de procesamiento de datos de alto
rendimiento con los principales sistemas de bases de datos SQL, como Oracle o MS SQL Server. Además,
SQL es muy fácil de aprender, ya que en sus instrucciones se utilizan palabras clave comunes en inglés.
Historia de SQL
SQL se inventó en la década de 1970 con base en el modelo de datos relacional. AL inicio se conocía
como el lenguaje de consultas estructuradas en inglés (SEQUEL). Mas tarde, el término se abrevió a SQL.
Oracle, antes conocido como Relational Software, se convirtió en el primer proveedor en ofrecer un
sistema comercial de administración de bases de datos relacionales SQL.
Tabla SQL
Una tabla SQL es el elemento básico de una base de datos relacional. La tabla de la base de datos SQL se
compone de filas y columnas. Los ingenieros de bases de datos crean relaciones entre varias tablas de
bases de datos para optimizar el espacio de almacenamiento de datos.
Por ejemplo, el ingeniero de bases de datos crea una tabla SQL para los productos de una tienda:
ID de producto
Nombre del producto
ID del color
0001
Colchón
Color 1
0002
Almohada
Color 2
A continuación, el ingeniero de bases de datos vincula la tabla de productos a la tabla de colores con el
ID de color
ID del color
Nombre del color
Color 1
Azul
Color 2
Rojo
Instrucciones SQL
Las instrucciones SQL, o consultas SQL, son instrucciones válidas que los sistemas de administración de
bases de datos relacionales entienden. Los desarrolladores de software crean instrucciones SQL a partir
de diferentes elementos del lenguaje SQL. Los elementos del lenguaje SQL son componentes como
identificadores, variables y condiciones de búsqueda que forman una instrucción SQL correcta.
Por ejemplo, la siguiente instrucción SQL utiliza un comando SQL INSERT para almacenar la Marca del
colchón A, con un precio de 499 USD, en una tabla llamada Mattress_table, (Tabla_colchón) con los
nombres de columna brand_name (nombre_marca) y cost (costo):
VALUES(‘A’,’499’);
Procedimientos almacenados
Los procedimientos almacenados son una colección de una o más instrucciones SQL almacenadas en la
base de datos relacional. Los desarrolladores de software utilizan los procedimientos almacenados para
mejorar la eficiencia y el rendimiento. Por ejemplo, pueden crear un procedimiento almacenado para
actualizar las tablas de ventas en vez de escribir la misma instrucción SQL en diferentes aplicaciones.
La implementación del lenguaje de consulta estructurada (SQL) implica una máquina servidor que
procese las consultas de la base de datos y devuelva los resultados. El proceso SQL pasa por varios
componentes de software, incluidos los siguientes.
Analizador
El analizador comienza por tokenizar o reemplazar algunas de las palabras de la instrucción SQL con
símbolos especiales. A continuación, comprueba si la instrucción tiene lo siguiente:
Corrección
El analizador verifica que la instrucción SQL se ajuste a la semántica o reglas de SQL que garantizan la
corrección de la instrucción de la consulta. Por ejemplo, el analizador comprueba si el comando SQL
termina con punto y coma. Si falta el punto y coma, el analizador devuelve un error.
Autorización
El analizador también valida que el usuario que ejecuta la consulta tenga la autorización necesaria para
manipular los datos correspondientes. Por ejemplo, solo los usuarios administradores podrían tener
derecho a eliminar datos.
Motor relacional
El motor relacional, o procesador de consultas, crea un plan para recuperar, escribir o actualizar los
datos correspondientes de la manera más eficaz. Por ejemplo, busca consultas similares, vuelve a utilizar
métodos de manipulación de datos anteriores o crea uno nuevo. Escribe el plan en una representación
de nivel intermedio de la instrucción SQL llamada código de bytes. Las bases de datos relacionales
utilizan el código de bytes para hacer búsquedas y modificaciones en ellas.
Motor de almacenamiento
Los comandos de lenguaje de consulta estructurada (SQL) son palabras clave o instrucciones SQL
específicas que los desarrolladores utilizan para manipular los datos almacenados en una base de datos
relacional. Puede clasificar los comandos SQL de la siguiente manera.
El lenguaje de definición de datos (DDL) se refiere a comandos SQL que diseñan la estructura de la base
de datos. Los ingenieros de bases de datos utilizan DDL para crear y modificar objetos de bases de datos
en función de las necesidades empresariales. Por ejemplo, el ingeniero de bases de datos utiliza el
comando CREATE para crear objetos de base de datos, como tablas, vistas e índices.
El lenguaje de consulta de datos (DQL) consiste en instrucciones para recuperar datos almacenados en
bases de datos relacionales. Las aplicaciones de software usan el comando SELECT para filtrar y devolver
resultados específicos de una tabla SQL.
Las instrucciones del lenguaje de manipulación de datos (DML) escriben información nueva o modifican
los registros existentes en una base de datos relacional. Por ejemplo, una aplicación usa el comando
INSERT para almacenar un nuevo registro en la base de datos.
Los administradores de bases de datos usan el lenguaje de control de datos (DCL) para administrar o
autorizar el acceso a la base de datos. Por ejemplo, pueden usar el comando GRANT para permitir que
ciertas aplicaciones manipulen una o más tablas.
El motor relacional utiliza el lenguaje de control de transacciones (TCL) para hacer cambios en la base de
datos de manera automática. Por ejemplo, la base de datos usa el comando ROLLBACK para deshacer
una transacción errónea.