Modelado físico relacional de bases de datos

¿Qué es SQL?

SQL (Structured Query Language) es un lenguaje estándar utilizado para interactuar con bases de datos relacionales. Permite realizar diferentes operaciones como consultar, insertar, actualizar, eliminar datos, y gestionar la estructura de las bases de datos.

Historia y evolución de SQL:

  • SQL fue desarrollado en los años 70 por IBM en su proyecto de base de datos relacional.
  • Se convirtió en un estándar de la industria en los años 80, con versiones definidas por ANSI e ISO.

Diferencia entre SQL y otros lenguajes de programación:

  • SQL se centra en la gestión de datos en bases de datos, mientras que otros lenguajes (como Java, Python) son de propósito general.
  • En SQL, las operaciones son declarativas: especificas qué deseas hacer con los datos, no cómo hacerlo.

Categorías de SQL

SQL se divide en varias categorías según las operaciones que se pueden realizar. Las principales son:

  • Lenguaje de Consulta de Datos (DQL):

    • Utilizado para consultar los datos existentes en la base de datos.
    • Principal comando: SELECT.
  • Lenguaje de Manipulación de Datos (DML):

    • Permite insertar, actualizar, eliminar datos en la base de datos.
    • Comandos principales: INSERT, UPDATE, DELETE.
  • Lenguaje de Definición de Datos (DDL):

    • Se usa para definir o modificar la estructura de la base de datos, como tablas y esquemas.
    • Comandos principales: CREATE, ALTER, DROP.
  • Lenguaje de Control de Datos (DCL):

    • Gestiona los permisos y controles de acceso a la base de datos.
    • Comandos principales: GRANT, REVOKE.

Ejemplos prácticos:

  • DQL: SELECT * FROM usuarios; (consulta todos los datos de la tabla "usuarios").
  • DML: INSERT INTO usuarios (nombre, edad) VALUES ('Juan', 30); (inserta un nuevo usuario).
  • DDL: CREATE TABLE productos (id INT, nombre VARCHAR(100)); (crea una nueva tabla "productos").
  • DCL: GRANT SELECT ON usuarios TO 'juan'; (otorga permisos de consulta a Juan).

Tipos de comandos SQL

  • Lenguaje de Manipulación de Datos (DML ) para editar datos.
  • Lenguaje de Consulta de Datos (DQL) para consultar datos.
  • Lenguaje de Definición de Datos (DDL) para estructurar datos.
  • Lenguaje de control de datos (DCL ) para administrar la base de
  • Lenguaje de control de transacciones (TCL ) para gestionar las transacciones.

Lista de comandos y clausulas que aprenderemos en este curso:

Comandos DDL (Lenguaje de Definición de Datos)

1- CREATE DATABASE: Crea una nueva base de datos. 2- CREATE TABLE: Crea una nueva tabla en la base de datos. 5- CREATE SCHEMA: Crea un esquema dentro de una base de datos. 6- DROP DATABASE: Elimina una base de datos y sus datos. 7- DROP TABLE: Elimina una tabla y sus datos. 10- DROP SCHEMA: Elimina un esquema. 11- ALTER DATABASE: Modifica propiedades de una base de datos. 12- ALTER TABLE: Modifica la estructura de una tabla (añadir, modificar o eliminar columnas). 15- ALTER SCHEMA: Modifica un esquema. 16- RENAME: Cambia el nombre de un objeto en la base de datos (como una tabla). 17- COMMENT: Añade un comentario descriptivo a un objeto de la base de datos. 18- TRUNCATE TABLE: Este comando elimina todos los registros pero conserva la estructura de la tabla.


Comandos DDL de Índices

1- CREATE INDEX: Crea un índice para acelerar las consultas. 2- DROP INDEX: Elimina un índice existente. 2- ALTER INDEX: Modifica un índice existente.


Comandos DDL de Vistas

1- CREATE VIEW: Crea una vista, que es una consulta guardada. 2- DROP VIEW: Elimina una vista. 3- ALTER VIEW: Modifica una vista existente.


Comandos DML (Lenguaje de Manipulación de Datos)

2- INSERT INTO: Inserta nuevos registros en una tabla. 3- UPDATE: Modifica registros existentes en una tabla. 4- DELETE: Elimina registros de una tabla. 5- MERGE UPSERT: Realiza inserciones, actualizaciones o eliminaciones dependiendo de si los registros coinciden. 6- RETURNING: Obtiene datos fruto de una consulta insert, update o delete.


Comandos DCL (Lenguaje de Control de Datos)

1- CREATE USER: Crea nuevos usuarios. 1- DROP USER: Borra usuarios. 2- GRANT: Otorga permisos a un usuario sobre objetos de la base de datos. 3- REVOKE: Revoca permisos previamente otorgados a un usuario.


Comandos TCL (Lenguaje de Control de Transacciones)

1- COMMIT: Guarda permanentemente las modificaciones realizadas durante una transacción. 2- ROLLBACK: Deshace los cambios realizados durante una transacción. 3- SAVEPOINT: Define un punto de control dentro de una transacción. 4- SET TRANSACTION: Establece características de la transacción (como el nivel de aislamiento). 5- BEGIN: Inicia una transacción.


Comandos de Consultas y Filtrado (DQL)

1- SELECT: Recupera datos de una o más tablas. 2- WHERE: Filtra los resultados de una consulta según una condición. 3- GROUP BY: Agrupa los resultados de una consulta. 4- HAVING: Filtra los grupos después de usar GROUP BY. 5- ORDER BY: Ordena los resultados de una consulta. 6- JOIN: Une datos de dos o más tablas.

  • INNER JOIN: Combina solo los registros que tienen coincidencia en ambas tablas.
  • LEFT JOIN: Combina todos los registros de la tabla izquierda y los que tienen coincidencia en la derecha.
  • RIGHT JOIN: Combina todos los registros de la tabla derecha y los que tienen coincidencia en la izquierda.
  • FULL JOIN: Combina los registros de ambas tablas, incluyendo los no coincidentes. 7- DISTINCT: Elimina duplicados en los resultados de una consulta. 8- LIMIT / TOP: Limita el número de registros devueltos. 9- OFFSET: Omite un número específico de registros. 10- EXISTS: Verifica si existe un conjunto de registros que cumplan con una condición. 11- IN: Especifica múltiples valores posibles para una columna. 12- BETWEEN: Filtra los resultados que están dentro de un rango específico. 13- LIKE: Busca un patrón en una columna (para cadenas de texto). 14- IS NULL: Filtra registros con valores NULL. 15- UNION: Combina los resultados de dos o más consultas. 16- OR: combinar múltiples condiciones 17- AND: combinar múltiples condiciones 18- NOT: niega una condición

Comandos de Restricciones

1- PRIMARY KEY: Define la clave primaria de una tabla (única y no nula). 2- FOREIGN KEY: Define una clave foránea para establecer una relación entre dos tablas. 3- UNIQUE: Asegura que los valores en una columna sean únicos. 4- NOT NULL: Asegura que una columna no acepte valores nulos. 5- CHECK: Impone una condición sobre los valores de una columna. 5- DEFAULT: Asigna un valor predeterminado a una columna. 5- AUTO_INCREMENT: Genera automáticamente valores únicos para una columna. 5- ADD CONSTRAINT: Agregar una restricción a una tabla existente. 5- DROP CONSTRAINT: Eliminar una restricción de una tabla existente.


Otros Comandos

1- EXPLAIN: Muestra el plan de ejecución de una consulta, útil para optimizar el rendimiento. 2- DESCRIBE o SHOW COLUMNS: Muestra la estructura (columnas) de una tabla. 3- SHOW TABLES: Muestra una lista de todas las tablas en la base de datos. 4- SHOW DATABASES: Muestra una lista de todas las bases de datos. 5- SHOW INDEXES: Muestra los índices de una tabla. 6- SHOW USERS: Muestra los usuarios en el sistema de base de datos. 7- SET: Configura parámetros de la base de datos. 8- USE: Selecciona la base de datos que se va a utilizar.

  • Loading...