SQL (lenguaje de consulta estructurado)
* Propósito: SQL está diseñado específicamente para * manipulación de datos * dentro de las bases de datos relacionales. Es un lenguaje declarativo, lo que significa que le dice a la base de datos * qué * quiere, no * cómo * obtenerlo.
* Funcionalidad central:
* Lenguaje de definición de datos (DDL): Crear, alterar y soltar objetos de base de datos (tablas, vistas, índices, etc.).
* Lenguaje de manipulación de datos (DML): Insertar, actualizar, eliminar y recuperar datos de las tablas.
* Lenguaje de control de datos (DCL): Otorgar y revocar permisos en objetos de base de datos.
* Lenguaje de control de transacciones (TCL): Gestión de transacciones (confirmación, reversión).
* Ejemplo:
`` `SQL
- Seleccione datos de la tabla 'Empleados'
Seleccionar * de los empleados
Donde departamento ='ventas';
- Inserte una nueva fila en la tabla de 'empleados'
Insertar en los empleados (empleado_id, nombre, departamento)
Valores (101, 'Alice Smith', 'Marketing');
`` `` ``
pl/sql (lenguaje de procedimiento/sql)
* Propósito: PL/SQL es una extensión de SQL que agrega * programación de procedimientos * capacidades. Esto significa que puede escribir un flujo lógico y control más complejo dentro de su base de datos.
* Características clave:
* Procedimientos almacenados: Bloques de código reutilizables que se pueden llamar desde declaraciones SQL u otros bloques PL/SQL.
* Funciones: Similar a los procedimientos almacenados, pero devuelven un valor.
* Declaraciones de flujo de control: Lógica condicional (`if-then-else`), bucles (` for`, `while`) y manejo de excepciones.
* Variables y tipos de datos: PL/SQL le permite declarar y manipular variables de varios tipos de datos.
* cursores: Se utiliza para iterar a través de filas de datos devueltos por una consulta.
* Ejemplo:
`` `SQL
- Bloque PL/SQL
DECLARAR
V_Employee_Count Number;
COMENZAR
Seleccione Count (*) en V_EMPloyee_Count de los empleados;
Dbms_output.put_line ('Empleados totales:' || v_employee_count);
FIN;
/
`` `` ``
Diferencias clave:
* Declarativo versus procedimiento: SQL es declarativo, centrándose en * qué * recuperar, mientras que PL/SQL es procesal, lo que permite un flujo lógico y de control complejo.
* Manipulación de datos versus lógica: SQL es principalmente para la manipulación de datos (operaciones CRUD), mientras que PL/SQL extiende estas capacidades con construcciones de programación.
* Reutilización: PL/SQL promueve la reutilización a través de procedimientos y funciones almacenados, lo que permite la modularidad y la eficiencia.
* Rendimiento: Los procedimientos y funciones almacenados en PL/SQL a menudo pueden mejorar el rendimiento al compilar y optimizar el código dentro de la base de datos.
Cuándo usar cada:
* sql: Use SQL para la recuperación de datos básicas, actualizaciones, inserciones y deleciones.
* pl/sql: Use PL/SQL para:
* Lógica comercial compleja que requiere declaraciones condicionales, bucles y manejo de errores.
* Creación de módulos de código reutilizables (procedimientos y funciones almacenados).
* Optimización de las operaciones de la base de datos utilizando las funciones de rendimiento de PL/SQL.
¡Avíseme si desea ejemplos más específicos o desea profundizar en una característica particular de SQL o PL/SQL!