SQL

 

a. ¿Qué es SQL?

SQL significa Structured Query Language (Lenguaje de Consulta Estructurado en español) y es un lenguaje de programación utilizado para administrar y manipular datos en bases de datos relacionales.

SQL es un lenguaje estándar utilizado en una amplia variedad de sistemas de gestión de bases de datos, como MySQL, Oracle, Microsoft SQL Server, PostgreSQL, entre otros. Como resultado, es una habilidad valiosa para desarrolladores de software, analistas de datos y otros profesionales de la tecnología que trabajan con bases de datos.

b. ¿Describa la evolución del lenguaje estructurado de consulta?

El lenguaje estructurado de consulta (SQL) ha evolucionado significativamente desde su introducción en la década de 1970. A continuación, se describen algunas de las etapas clave en la evolución del SQL:

Inicio: SQL fue desarrollado por IBM en la década de 1970 como parte del sistema de gestión de bases de datos relacionales (RDBMS) llamado System R. Fue diseñado para permitir a los usuarios interactuar con bases de datos relacionales de manera fácil y eficiente.

Estándares: En la década de 1980, se establecieron los primeros estándares para SQL. El Instituto Nacional Estadounidense de Estándares (ANSI) y la Organización Internacional de Normalización (ISO) comenzaron a trabajar en la estandarización del SQL, lo que llevó a la creación de SQL-86, SQL-89 y SQL-92.

Expansión: Con el tiempo, el SQL se expandió para incluir funciones avanzadas, como la capacidad de manejar transacciones y asegurar la integridad de los datos. Se introdujeron nuevos tipos de datos y se mejoraron las capacidades de manipulación de datos.

Especialización: A medida que el SQL se expandió, surgieron diferentes variantes especializadas para diferentes aplicaciones. Algunas de estas variantes incluyen PL/SQL para Oracle, T-SQL para Microsoft SQL Server, y PostgreSQL SQL para PostgreSQL.

Nuevas características: En las últimas décadas, el SQL ha seguido evolucionando con la incorporación de nuevas características. Algunas de las nuevas características incluyen la capacidad de trabajar con datos no estructurados, el soporte para el análisis de big data, la integración con lenguajes de programación populares, y el soporte para la computación en la nube.

En resumen, el SQL ha evolucionado desde sus primeros días como una herramienta básica de interacción con bases de datos hasta convertirse en un lenguaje sofisticado y poderoso utilizado en una amplia variedad de aplicaciones y entornos.

c. ¿De acuerdo con su funcionalidad describa las principales categorías de SQL?

Existen varias categorías de SQL basadas en su funcionalidad. Algunas de las categorías más comunes son:

° DDL (Data Definition Language): Esta categoría de SQL se utiliza para definir y modificar la estructura de la base de datos, incluyendo la creación, modificación y eliminación de tablas, índices, restricciones y otros objetos de la base de datos.

° DML (Data Manipulation Language): Esta categoría de SQL se utiliza para manipular los datos dentro de la base de datos, incluyendo la inserción, actualización y eliminación de registros.

° DCL (Data Control Language): Esta categoría de SQL se utiliza para controlar el acceso a la base de datos, incluyendo la creación y eliminación de usuarios y roles, así como la asignación de permisos y restricciones de seguridad.

° TCL (Transaction Control Language): Esta categoría de SQL se utiliza para controlar las transacciones en la base de datos, incluyendo la confirmación, anulación y restauración de transacciones.

° DQL (Data Query Language): Esta categoría de SQL se utiliza para realizar consultas en la base de datos y recuperar información, incluyendo la selección y filtrado de datos, la unión de tablas y la agregación de datos.

Es importante tener en cuenta que estas categorías no son mutuamente excluyentes y a menudo se utilizan juntas en una sola consulta de SQL. Por ejemplo, una consulta puede incluir una cláusula DQL para seleccionar datos y una cláusula DML para actualizar los datos seleccionados.

d. Liste las instrucciones o sentencias para cada una de las categorías descritas en el punto anterior.

DDL:

° Crear una tabla

° Modificar una tabla

° Eliminar una tabla

° Crear un índice

° Eliminar un índice

° Crear una vista

° Crear un procedimiento almacenado

° Eliminar un procedimiento almacenado

DML:

° INSERT: Se utiliza para agregar nuevos registros en una tabla.

° UPDATE: Se utiliza para actualizar registros existentes en una tabla.

° DELETE: Se utiliza para eliminar registros existentes en una tabla.

° SELECT: Se utiliza para recuperar datos de una o varias tablas.

° MERGE: Se utiliza para combinar datos de varias tablas en una sola tabla.         2

DCL:

° GRANT: Esta instrucción permite conceder permisos a usuarios o roles para acceder y realizar operaciones en objetos de la base de datos.

° REVOKE: Esta instrucción permite revocar permisos concedidos previamente a usuarios o roles.

° DENY: Esta instrucción permite negar permisos a usuarios o roles para acceder y realizar operaciones en objetos de la base de datos.

 ° COMMIT: Esta instrucción permite confirmar los cambios realizados en una transacción.

° ROLLBACK: Esta instrucción permite deshacer los cambios realizados en una transacción.

° SET TRANSACTION: Esta instrucción permite establecer propiedades de una transacción, como su nivel de aislamiento.

° SAVEPOINT: Esta instrucción permite establecer un punto de guardado en una transacción para poder volver a ese punto en caso de ser necesario.

TCL:

° COMMIT: Este comando se utiliza para confirmar los cambios realizados en una transacción. Los cambios se vuelven permanentes y se guardan en la base de datos.

° ROLLBACK: Este comando se utiliza para deshacer los cambios realizados en una transacción. Los cambios se eliminan y se vuelven al estado anterior a la transacción.}

° SAVEPOINT: Este comando se utiliza para crear un punto de guardado en una transacción. Un punto de guardado se utiliza para marcar un punto específico en una transacción para que pueda volver a él más tarde.

° ROLLBACK TO SAVEPOINT: Este comando se utiliza para deshacer todos los cambios realizados en una transacción después de un punto de guardado específico.

° RELEASE SAVEPOINT: Este comando se utiliza para eliminar un punto de guardado específico.

DQL:

° SELECT: Este comando se utiliza para seleccionar los campos que se desean recuperar de una o varias tablas.

° FROM: Este comando se utiliza para especificar la tabla o tablas de donde se van a recuperar los datos.

° WHERE: Este comando se utiliza para filtrar los datos que se van a recuperar de una tabla.

° GROUP BY: Este comando se utiliza para agrupar los datos que se van a recuperar según un campo específico.

° HAVING: Este comando se utiliza para filtrar los datos que se van a recuperar después de haber aplicado el GROUP BY.

° ORDER BY: Este comando se utiliza para ordenar los datos que se van a recuperar según un campo específico.

e. Describa las restricciones que pueden ser asignadas a la columna de una tabla, y de ejemplos.

NOT NULL: Impide valores nulos en la columna.

UNIQUE: Impide valores duplicados en la columna.

PRIMARY KEY: Identifica de forma única cada fila en una tabla.

FOREIGN KEY: Establece una relación entre dos tablas.

CHECK: Aplica una expresión lógica a los valores insertados o actualizados en la columna.

f. Construya una tabla que contenga los operadores relacionales, lógicos y aritméticos en SQL.

Operador

Tipo

Función

=

Relacional

Igual a

<> o !=

Relacional

No igual a

< 

Relacional

Menor que

> 

Relacional

Mayor que

<=

Relacional

Menor o igual a

>=

Relacional

Mayor o igual a

AND

Lógico

Operador lógico AND

OR

Lógico

Operador lógico OR

NOT

Lógico

Operador lógico NOT

+

Aritmético

Suma

-

Aritmético

Resta

*

Aritmético

Multiplicación

/

Aritmético

División

% o MOD

Aritmético

Módulo o resto de la división

 


Comentarios