Día 7: SQL avanzado para ciencia de datos

Jan 27 2023
Hasta ahora, este es el séptimo blog en el viaje de los conceptos básicos para avanzar en sql. puede consultar blogs anteriores para aprender sql desde cero. Este blog contiene buenos conocimientos sobre vistas, funciones y procedimientos almacenados.

Hasta ahora, este es el séptimo blog en el viaje de los conceptos básicos para avanzar en sql. puede consultar blogs anteriores para aprender sql desde cero. Este blog contiene buenos conocimientos sobre vistas, funciones y procedimientos almacenados.

PUNTOS DE VISTA

Una vista es en realidad un enfoque basado en una tabla virtual como un conjunto de resultados para la declaración SQL. Puede haber varias tablas, es decir, el número máximo de fuentes de tabla que se pueden unir en una sola consulta es 256 .

Una vista contiene filas y columnas como una tabla en la base de datos, los campos de una vista son campos de una o más tablas.

¿Por qué necesitamos vistas?

Las vistas se utilizan por motivos de seguridad porque encapsulan el nombre de la tabla . Los datos están en la tabla virtual, no almacenados permanentemente. Las vistas muestran solo los datos seleccionados, sea cual sea y sin embargo, necesita que sean sus datos.

Podemos usar la cláusula Joins/function/sql en las vistas.

Sintaxis para crear una vista:

CREATE VIEW view_name AS
SELECT column1 , column2 , ... FROM table_name WHERE condition ;

Create View Salesman_info
As
select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s 
left join customer c on c.salesmanid = s.salesmanid
group by 1;

      
                

Sintaxis para actualizar una vista:

CREAR O REEMPLAZAR VISTA nombre_vista COMO
SELECCIONAR columna1 , columna2 , … DESDE nombre_tabla DONDE condición ;

Sintaxis para descartar una vista:

DROP VIEW view_name ;

Una vista proporciona varios beneficios.

  1. Las vistas pueden ocultar la complejidad.
  2. Las vistas se pueden utilizar como mecanismo de seguridad.
  3. Las vistas pueden simplificar el código heredado compatible.

Funciones integradas : hay muchas funciones integradas que podemos acceder o manipular nuestros datos según sea necesario. Algunas de las funciones son funciones de cadena, funciones matemáticas/numéricas, funciones de fecha, funciones avanzadas o funciones agregadas.

Función definida por el usuario : SQL permite a los usuarios crear funciones personalizadas de acuerdo con sus requisitos exactos.

Hay tres tipos de funciones definidas por el usuario:

  1. Las funciones escalares, es decir, devuelven un único valor.
  2. Funciones de valores de tabla, es decir, devuelven un conjunto de tablas.
  3. Funciones de valores de tablas múltiples, es decir, devuelven un conjunto de tablas.

Aquí he creado una función para calcular la edad usando la fecha de nacimiento en MYSQL.

DELIMITER $$
CREATE FUNCTION Calculate_Age
(
 DOB date
)
RETURNS INT DETERMINISTIC
BEGIN
 RETURN YEAR(CURRENT_DATE()) - YEAR(DOB);
END$$
DELIMITER ;

      
                
Query :::: SELECT Calculate_Age(‘1988–02–29’) as DOB;

Procedimientos almacenados : un procedimiento almacenado es un código SQL preparado que puede guardar, por lo que el código se puede reutilizar una y otra vez. Entonces, si tiene una consulta SQL que escribe una y otra vez, guárdela como un procedimiento almacenado y luego simplemente llámela para ejecutarla.

Sintaxis del procedimiento almacenado:

CREAR PROCEDIMIENTO nombre_procedimiento
AS
sql_statement
GO;

Ejecutar un procedimiento almacenado

EXEC nombre_procedimiento ;

¿Por qué usamos el procedimiento almacenado en lugar de la función?

  1. El procedimiento almacenado puede devolver valores cero, únicos y múltiples.
  2. El procedimiento almacenado también puede devolver conjuntos de datos de tablas según sea necesario mediante múltiples consultas SQL.
  3. Podemos llamar a la función en el procedimiento almacenado.
  4. El procedimiento almacenado puede tener valores y parámetros de entrada/salida.
  5. No podemos usar la instrucción select/where/have con los SP.
  6. Podemos usar insertar/actualizar/eliminar y seleccionar en el procedimiento almacenado.
  7. El procedimiento almacenado de SQL puede ejecutar SQL dinámico.
  8. DELIMITER $$
    CREATE PROCEDURE Proc_Saleman_Info_Data()
    BEGIN
     ## Type 1
        select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s 
     left join customer c on c.salesmanid = s.salesmanid
     group by 1;
        
        ## Type 2
        insert into salesman
     values(5008,'Shikha rawat','India',12);
        
    END$$
    DELIMITER ;
    

    call Proc_Saleman_Info_Data();
    

Preguntas de entrevista populares para vistas/funciones/procedimiento almacenado.

Ques1: ¿Qué son las vistas?

Ques2: ¿Cuántas tablas podemos usar en las vistas?

Ques3: ¿Diferencia entre función y procedimiento almacenado?

¡Gracias por leerlo y si te gusta, no olvides dar un aplauso!

¡Que tenga un lindo día!.

============================= EL FIN=================== =======

GitHub: Sesión del día 7

¡Dale una estrella en Git Hub!

Referencia :

  1. https://www.w3schools.com/sql/default.asp
  2. https://www.geeksforgeeks.org/

¡ Sígueme para más publicaciones relacionadas con la ciencia de datos!

¡Conectémonos en LinkedIn !