SlideShare una empresa de Scribd logo
1 de 26
SQL DML
Data Manipulation Language



 http://en.wikipedia.org/wiki/Data_Manipulation_Language




    JOSÉ CUARTAS      BASES DE DATOS
Definamos los términos:
•     DML= Leguaje de manipulación de datos.

•     Las sentecias DML permiten generar consultas para ordenar,
      insertar, actulalizar, filtrar, agrupar y extraer datos de la base de
      datos

         Comandos DML                                Cláusulas DML
SELECT= Consultar registros                FROM= Especifica tablas
INSERT = Carga registros                   WHERE= Especifica condiciones
UPDATE= Modifica valores                   GROUP BY= separación por grupo
DELETE= Eliminar registros                 HAVING = Condición sobre grupos
                                           ORDER BY = Ordena registros

    Operadores lógicos DML                 Operadores de comparación DML
AND = Es el “y” lógico                 BETWEEN= intervalos de valores
OR = Es el “o” lógico                  LIKE= Comparación de patrones
NOT = Negación lógica                  IN= especifica registros
                                       < menor que, > mayor que, <> diferente, =
                                       igual,<= menor i igual, >= mayor o igual


        JOSÉ CUARTAS           BASES DE DATOS
Como modificamos los datos en la base de datos:

INSERTAR
Proporciona una lista de valores de atributos para una nueva
tupla t que se han de insertar en una relación R.

La operación insertar puede violar las restricciones de integridad, por
     ejemplo:
•    El atributo no aparece en el dominio.
•    El atributo clave primaria ya esta en el dominio.
•    La clave primaria es nula = null.
•    La clave externa o foránea(FK) se inserta en una tabla sin que
     exista en la tabla donde es clave primaria.




      JOSÉ CUARTAS           BASES DE DATOS
Apliquemos SQL
  Nuevos datos– INSERT
• Se puede insertar nuevas tuplas o filas en una tabla con la
  instrucción INSERT INTO
• Ejemplos Crear la tabla productos basada en la siguiente estructura:
  producto (id_producto: integer, nombre: text, precio: integer).

• Para adicionar una nueva fila (sintaxis principales)
   – INSERT INTO producto VALUES (1, 'Moscato', 10500);
       • Esta forma genera un error, si no se dan un valor por cada columna.
• Otra forma adicionar una nueva fila
   – INSERT INTO producto (id_producto, nombre)
       VALUES (2, 'Oporto');
       • Esta forma como mínimo debe contener las columnas de clave primaria y
         columnas únicas (UNIQUE) que no son auto incrementadas o las columnas
         que no tienen un valor por defecto y a su vez no permitan nulos.

    JOSÉ CUARTAS              BASES DE DATOS
Como modificamos los datos en la base de datos:

MODIFICAR conocido como UPDATE
• Sirve para cambiar los valores de uno o mas atributos en una tupla
  o tuplas de una relación.

• La operación modificar puede provocar violaciones de restricción,
  cuando se modifica un valor de clave primaria o clave externa.


• Opciones para evitar la violación de integridad:
    1. Rechazar la actualización.
    2. Propagar la actualización, actualizando las tuplas que hagan referencia
       a la tupla que se desea eliminar.
    3. Modificar los valores del atributo de referencia que provoca la violación.



      JOSÉ CUARTAS              BASES DE DATOS
Apliquemos SQL
     Actualiza los datos– UPDATE
• Se puede insertar nuevas tuplas o filas en una tabla con la instrucción
  UPDATE
• Ejemplos Crear la tabla productos_temporales basada en la siguiente
  estructura: productos_temporales (id_producto: integer, nombre: text,
  precio: integer).
• Para actualizar una columna de una fila (sintaxis principales)
   – UPDATE producto SET precio = 25450 WHERE nombre = 'Oporto';
        • Recuerde sino se identifica las filas que se desean actualizar con la cláusula
          WHERE ,ocurre una actualización de todas las filas de la tabla.
• Otra forma actualizar múltiples columnas de una o varias filas.
    – UPDATE producto SET precio = 23000, nombre = „Vino Oporto„
       WHERE nombre = 'Oporto';
• Las actualizaciones dependen de la condición dada para WHERE en
  la clausula UPTADE.

       JOSÉ CUARTAS                 BASES DE DATOS
Como modificamos los datos en la base de datos:

ELIMINACIÓN
• Sirve para eliminar todos los valores de los atributos de una Tupla o
  de varias tuplas, en forma coloquial elimina una o varias filas segun
  sea el caso.
• La operación eliminación puede provocar violaciones de integridad
  referencial, si las claves foránea de otras filas de la base de datos
  hacen referencia a la tupla que se ha de eliminar.
• Opciones para evitar la violación de integridad:
    1. Rechazar la eliminación.
    2. Propagar la eliminación eliminando las tuplas que hagan referencia a la
       tupla que se desea eliminar.
    3. Modificar los valores del atributo de referencia que provoca la violación.


      JOSÉ CUARTAS                BASES DE DATOS
Apliquemos SQL
     Eliminación de filas– DELETE
• Se puede remover filas en una tabla con la instrucción DELETE
• Para eliminar filas en una tabla con una condición (sintaxis principales)
    – DELETE FROM producto WHERE precio = 25450 ;
        • Recuerde esto elimina todas las filas que cumplan la condición donde(WHERE)
          el precio es igual a 25450.
• Si se desea eliminar todas las filas de una tabla pero dejar su
  estructura se ejecuta el siguiente comando
   – DELETE FROM producto
        • Recuerde si se desea eliminar la tabla y su estructura se utiliza la
          sentencia DROP.
            – DROP TABLE productos;




       JOSÉ CUARTAS              BASES DE DATOS
Como consultamos los datos en la base de datos:

SELECT
• La instrucción SELECT se utiliza principalmente                 para   la
  recuperación de datos específicos de una Tabla o Vista.
• La estrategia es intentar construir las instrucciones SELECT de la
  forma más sencilla posible, para recuperar los datos necesarios.
• Es la analogía al operador proyectar en el algebra relacional.
• Nomenclatura básica:
    – SELECT nombre_de_columnas     los nombres de las columnas que se
    FROM tabla_a_la_que_se_consulta mostraran en el SELECT, son
                                    separados por una coma.
Se colocan el nombre de la tabla o se
colocan los nombres de varias tablas
en caso de realizar una operación        En SQL se utiliza el comodín * para
producto cruz                            listar todos los campos de una tabla.
       JOSÉ CUARTAS            BASES DE DATOS
Como modificamos los datos en la base de datos:

WHERE
• Especifica una condición que debe cumplirse para que los datos
  sean devueltos por la consulta. Admite los operadores
  lógicos AND y OR y operadores de comparación, esta .
• La cláusula WHERE es la cláusula que nos permite filtrar el
  resultado de una sentencia SELECT.
• La claúsula WHERE es opcional, si no se emplea esta cláusula, la
  consulta devolverá todas las filas de la tabla.
• Es la analogía al operador seleccionar en el algebra relacional
• Nomenclatura básica:
    – SELECT nombre_de_columnas
        FROM tabla_a_la_que_se_consulta
        WHERE condición
      JOSÉ CUARTAS            BASES DE DATOS
Como modificamos los datos en la base de datos:

AS - Alias de Columna
• Este operador se utiliza para renombrar columnas o tablas.
   – generalmente clarificar el significado de los datos en una
     columna de salida, para asignar una cabecera a una columna.
   – Se utiliza también para renombrar las tablas que se utilizan en
     una consulta, generalmente se abrevia el nombre de la tabla.




      JOSÉ CUARTAS         BASES DE DATOS
Como modificamos los datos en la base de datos:

ORDER BY – Ordenación de datos
  Esta cláusula permite ordenar el resultado de la consulta,
  definiendo el orden en que se presentan las columnas que se
  desean proyectar. Se pueden presentar en orden ascendente (por
  defecto) y descendente (se coloca después de la columna a ordenar
  la palabra clave DESC).




     JOSÉ CUARTAS         BASES DE DATOS
Como modificamos los datos en la base de datos:

JOINS O REUNIONES O COMBINACIONES
• http://es.wikipedia.org/wiki/Join
• Un JOIN es el resultado de una operación de combinación o
  producto cruz realizada sobre dos o más tablas que cumplen una
  condición generalmente.
   – Se pueden realizar varios tipos de JOINs de tablas:
       • Combinaciones internas los cuales se conocen como join o inner join .
       • Externa completa (full outer), Externa por la izquierda (left outer), Externa
         por la derecha (rigth outer).
       • Cruzada (cross) conocida como producto cartesiano.
• Por esta operación JOIN podemos leer datos de diferentes tablas
  en una única consulta. Lo que nos permitirá diseñar tablas
  relacionadas entre ellas.
   – Operador muy utilizado para obtener los registros de la combinación de
     dos tablas, que en una tabla tiene una clave primaria igual a uno o
     varios registros de otra tabla con la clave foránea.
     JOSÉ CUARTAS               BASES DE DATOS
Apliquemos SQL
     Actualiza los datos– JOINs
• Se puede insertar nuevas tuplas o filas en una tabla con la instrucción
  UPDATE
• Ejemplos Crear la tabla productos_temporales basada en la siguiente
  estructura: productos_temporales (id_producto: integer, nombre: text,
  precio: integer).
• Para actualizar una columna de una fila (sintaxis principales)
   – UPDATE producto SET precio = 25450 WHERE nombre = 'Oporto';
        • Recuerde sino se identifica las filas que se desean actualizar con la cláusula
          WHERE ,ocurre una actualización de todas las filas de la tabla.
• Otra forma actualizar múltiples columnas de una o varias filas.
    – UPDATE producto SET precio = 23000, nombre = „Vino Oporto„
       WHERE nombre = 'Oporto';
• Las actualizaciones dependen de la condición dada para WHERE en
  la clausula UPTADE.

       JOSÉ CUARTAS                 BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta
• El SQL es muy diferente a muchos de los lenguajes de
  programación, ya que, el orden en el que se procesas las
  sentencias no es el mismo en la que se escribe.

• La primera sentencia que se procesa es el FROM , mientras la
  sentencia SELECT, la cual es la primera que aparece en la
  instrucción , se procesa tiempo después.

• Cada paso del procesamiento genera tablas virtuales que son
  entradas del siguiente paso (estas tablas internas no son accesibles
  por aplicaciones o otras consultas), solo la tabla del paso final es la
  que es retornado y puede ser utilizada para realizar otra operación.



      JOSÉ CUARTAS           BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta
• Tablas TBLCONSUMIDOR y TBLORDENES
• Consulta:
       SELECT C.IDCONSUMIDOR, COUNT(O.IDORDEN) AS NUMORDEN
       FROM TBLCONSUMIDOR AS C
               LEFT OUTER JOIN TBLORDENES AS O
               ON C.IDCONSUMIDOR = O.IDCONSUMIDOR
       WHERE C.CIUDAD = “MEDELLIN”
       GROUP BY C.IDCONSUMIDOR
       HAVING COUNT(O.IDORDEN) < 3
       ORDER BY NUMORDEN

                    TBLCONSUMIDOR                         TBLORDENES
                     IDCONSUMIDOR    NOMBRE     CIUDAD      IDORDEN    IDCONSUMIDOR
                          AA           JOSE    MEDELLIN        1            AB
                          AB          JUAN     MEDELLIN        2            AB
                          AC          DIANA    MEDELLIN        3            AC
                          AD         NATALIA   BOGOTA          4            AC
                                                               5            AC
                                                               6            AD
                                                               7           NULL
     JOSÉ CUARTAS                   BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta
• PASO 1:
   – FROM: Producto cartesiano (Reunión cruzada) de las primeras dos tablas en la
     sentencia FROM y da como resultado una tabla virtual VT1


• PASO 2:
   – ON: El filtro ON es aplicado a VT1. Solo las tuplas o filas para la cual la
     condición <condicion_reunion> es verdadera son agregadas en VT2.


• PASO 3:
   – OUTER (JOIN): Las filas de las tablas o tablas para la cual no hay coincidencias
     son agregadas a la tabla VT2 como filas de reunión externas, generando VT3. Si
     mas de dos tablas aparecen en la clausula FROM , el paso 1 al paso 3 es
     aplicado repetidamente entre el resultado(tabla VT) del ultimo JOIN y la
     siguiente tabla dentro la clausula FROM, hasta procesar todas las tablas.



      JOSÉ CUARTAS                 BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta
• PASO 4:
   – WHERE: Es el filtro aplicado a VT3o la tabla virtual generada del paso anterior.
     Solo las filas para la cual la condición en WHERE es verdadera son agregadas a
     la tabla virtual VT4.
• PASO 5:
   – GROUP BY: Las Filas de VT4 son organizadas en grupos basados en las listas
     de las columnas especificadas en la sentencia GROUP BY generando la tabla
     VT5.


• PASO 6:
   – HAVING: El Filtro HAVING es aplicado a VT5solo los grupos para lo cual la
     condición expresada en HAVING <condicion_having> es verdadera son
     adicionada a la tabla VT6.
• PASO 7:
   – SELECT: La lista de columnas es procesada generando la tabla VT7.

     JOSÉ CUARTAS                BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta
• PASO 8:
   – DISTINC: Las filas duplicadas son removidas de la relación VT7 generada en el
     paso anterior generando VT8.
• PASO 9:
   – ORDEN BY: Las Las Filas de VT4 son organizadas en grupos basados en las
     listas de las columnas especificadas en la sentencia GROUP BY generando la
     tabla VT5.


• PASO 10:
   – TOP: El Filtro HAVING es aplicado a VT5solo los grupos para lo cual la
     condición expresada en HAVING <condicion_having> es verdadera son
     adicionada a la tabla VT6.




     JOSÉ CUARTAS               BASES DE DATOS
Apliquemos SQL
  Descripción lógica- Procesamiento de una consulta
                                                                       Aplicación
     VT1                                                               condicion

C.IDCONSUMIDOR C.NOMBRE      C.CIUDAD    O.IDORDEN
                                                      O.IDCONSUMIDO
                                                            R             F/V
                                                                                       • Producto cruz o
            AA        JOSE      MEDELLIN          1               AB               F     producto
            AA        JOSE      MEDELLIN          2               AB               F
            AA        JOSE      MEDELLIN          3               AC               F     cartesiana entre
            AA        JOSE      MEDELLIN          4               AC               F
            AA        JOSE      MEDELLIN          5               AC               F     las tablas y
            AA        JOSE      MEDELLIN          6               AD               F
            AA        JOSE      MEDELLIN          7             NULL            NULL     columna de
            AB
            AB
                     JUAN
                     JUAN
                                MEDELLIN
                                MEDELLIN
                                                  1
                                                  2
                                                                  AB
                                                                  AB
                                                                                   V
                                                                                   V
                                                                                         evaluación de la
            AB
            AB
                     JUAN
                     JUAN
                                MEDELLIN
                                MEDELLIN
                                                  3
                                                  4
                                                                  AC
                                                                  AC
                                                                                   F
                                                                                   F
                                                                                         condición
            AB       JUAN       MEDELLIN          5               AC               F
            AB       JUAN       MEDELLIN          6               AD               F
            AB       JUAN       MEDELLIN          7             NULL            NULL
            AC      DIANA       MEDELLIN          1               AB               F
            AC      DIANA       MEDELLIN          2               AB               F
            AC      DIANA       MEDELLIN          3               AC               V
            AC      DIANA       MEDELLIN          4               AC               V
            AC      DIANA       MEDELLIN          5               AC               V
            AC      DIANA       MEDELLIN          6               AD               F
            AC      DIANA       MEDELLIN          7             NULL            NULL
            AD     NATALIA        BOGOTA          1               AB               F
            AD     NATALIA        BOGOTA          2               AB               F
            AD     NATALIA        BOGOTA          3               AC               F
            AD     NATALIA        BOGOTA          4               AC               F
            AD     NATALIA        BOGOTA          5               AC               F
            AD     NATALIA        BOGOTA          6               AD               V
            AD     NATALIA        BOGOTA          7             NULL            NULL
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta

• PASO 2: Tabla virtual después de aplicar el JOIN y la condición

                VT2
                                                                 O.IDCONSUMIDO
          C.IDCONSUMIDOR C.NOMBRE      C.CIUDAD        O.IDORDEN R
                      AB       JUAN         MEDELLIN           1            AB
                      AB       JUAN         MEDELLIN           2            AB
                      AC      DIANA         MEDELLIN           3            AC
                      AC      DIANA         MEDELLIN           4            AC
                      AC      DIANA         MEDELLIN           5            AC
                      AD     NATALIA          BOGOTA           6            AD




     JOSÉ CUARTAS            BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta

• PASO 3: aplicando la operación OUTER JOIN

           VT3
                                                             O.IDCONSUMIDO
      C.IDCONSUMIDOR C.NOMBRE      C.CIUDAD        O.IDORDEN R
                    AB     JUAN         MEDELLIN           1            AB
                    AB     JUAN         MEDELLIN           2            AB
                    AC    DIANA         MEDELLIN           3            AC
                    AC    DIANA         MEDELLIN           4            AC
                    AC    DIANA         MEDELLIN           5            AC
                    AA      JOSE        MEDELLIN        NULL          NULL




     JOSÉ CUARTAS               BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta

• PASO 4: aplicando el operador de agregación GROUP BY

         VT4
         GRUPO        C.IDCONSUMIDOR    C.NOMBRE       C.CIUDAD         O.IDORDEN       O.IDCONSUMIDOR
               JUAN                AB          JUAN          MEDELLIN               1                AB
                                   AB          JUAN          MEDELLIN               2                AB
           DIANA                   AC         DIANA          MEDELLIN               3                AC
                                   AC         DIANA          MEDELLIN               4                AC
                                   AC         DIANA          MEDELLIN            5                  AC
               JOSE                AA           JOSE         MEDELLIN         NULL                NULL




     JOSÉ CUARTAS                       BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta

• PASO 5: aplicando el filtro HAVING


        VT5
                     C.IDCONSUMIDO                                           O.IDCONSUMIDO
        GRUPO        R             C.NOMBRE        C.CIUDAD        O.IDORDEN R
              JUAN              AB         JUAN         MEDELLIN           1            AB
                                AB         JUAN         MEDELLIN           2            AB
              JOSE              AA          JOSE        MEDELLIN        NULL          NULL




     JOSÉ CUARTAS                    BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta

• PASO 6: Procesando sentencia SELECT


               VT6

               C.NOMBRE          NUMORDEN

                          JUAN                2
                          JOSE                0




     JOSÉ CUARTAS            BASES DE DATOS
Apliquemos SQL
Descripción lógica- Procesamiento de una consulta

• PASO 7: Aplicando la sentencia ORDER BY e imprimiendo en
  pantalla el resultado.



                        VT7
                    C.NOMBRE          NUMORDEN
                               JOSE              0
                              JUAN               2




     JOSÉ CUARTAS             BASES DE DATOS

Más contenido relacionado

La actualidad más candente

Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
Alex Javier
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
Isabel
 

La actualidad más candente (20)

Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidadFundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidad
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 

Similar a Sql DML Lenguaje de manipulación de datos

Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18
victdiazm
 
Sql server express edition 2012 libro
Sql server express edition 2012 libroSql server express edition 2012 libro
Sql server express edition 2012 libro
Osmar Zaragoza
 

Similar a Sql DML Lenguaje de manipulación de datos (20)

Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Expo
ExpoExpo
Expo
 
consultas.pptx
consultas.pptxconsultas.pptx
consultas.pptx
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Cliente servidor consultas sql
Cliente servidor consultas sqlCliente servidor consultas sql
Cliente servidor consultas sql
 
Sql comandos
Sql comandosSql comandos
Sql comandos
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
 
MYSQL DDL DML.pdf
MYSQL DDL DML.pdfMYSQL DDL DML.pdf
MYSQL DDL DML.pdf
 
Luis cepeda
Luis cepedaLuis cepeda
Luis cepeda
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Almacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestriaAlmacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestria
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18
 
Tema5 sql - dml
Tema5   sql - dmlTema5   sql - dml
Tema5 sql - dml
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Sql server express edition 2012 libro
Sql server express edition 2012 libroSql server express edition 2012 libro
Sql server express edition 2012 libro
 
Sql
SqlSql
Sql
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Clente servidor consultas sql
Clente servidor consultas sqlClente servidor consultas sql
Clente servidor consultas sql
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 

Más de josecuartas

Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptual
josecuartas
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datos
josecuartas
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datos
josecuartas
 
De los datos a la información
De los datos a la informaciónDe los datos a la información
De los datos a la información
josecuartas
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datos
josecuartas
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
josecuartas
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
josecuartas
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
josecuartas
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
josecuartas
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
josecuartas
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
josecuartas
 

Más de josecuartas (20)

Seguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datosSeguridad en el almacenamiento de las bases de datos
Seguridad en el almacenamiento de las bases de datos
 
Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptual
 
Tableros de control o Dashboard
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboard
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datos
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datos
 
De los datos a la información
De los datos a la informaciónDe los datos a la información
De los datos a la información
 
Datos semiestructurados Xml
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xml
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporales
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datos
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
 
Fuga de información
Fuga de informaciónFuga de información
Fuga de información
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 

Último

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 

Sql DML Lenguaje de manipulación de datos

  • 1. SQL DML Data Manipulation Language http://en.wikipedia.org/wiki/Data_Manipulation_Language JOSÉ CUARTAS BASES DE DATOS
  • 2. Definamos los términos: • DML= Leguaje de manipulación de datos. • Las sentecias DML permiten generar consultas para ordenar, insertar, actulalizar, filtrar, agrupar y extraer datos de la base de datos Comandos DML Cláusulas DML SELECT= Consultar registros FROM= Especifica tablas INSERT = Carga registros WHERE= Especifica condiciones UPDATE= Modifica valores GROUP BY= separación por grupo DELETE= Eliminar registros HAVING = Condición sobre grupos ORDER BY = Ordena registros Operadores lógicos DML Operadores de comparación DML AND = Es el “y” lógico BETWEEN= intervalos de valores OR = Es el “o” lógico LIKE= Comparación de patrones NOT = Negación lógica IN= especifica registros < menor que, > mayor que, <> diferente, = igual,<= menor i igual, >= mayor o igual JOSÉ CUARTAS BASES DE DATOS
  • 3. Como modificamos los datos en la base de datos: INSERTAR Proporciona una lista de valores de atributos para una nueva tupla t que se han de insertar en una relación R. La operación insertar puede violar las restricciones de integridad, por ejemplo: • El atributo no aparece en el dominio. • El atributo clave primaria ya esta en el dominio. • La clave primaria es nula = null. • La clave externa o foránea(FK) se inserta en una tabla sin que exista en la tabla donde es clave primaria. JOSÉ CUARTAS BASES DE DATOS
  • 4. Apliquemos SQL Nuevos datos– INSERT • Se puede insertar nuevas tuplas o filas en una tabla con la instrucción INSERT INTO • Ejemplos Crear la tabla productos basada en la siguiente estructura: producto (id_producto: integer, nombre: text, precio: integer). • Para adicionar una nueva fila (sintaxis principales) – INSERT INTO producto VALUES (1, 'Moscato', 10500); • Esta forma genera un error, si no se dan un valor por cada columna. • Otra forma adicionar una nueva fila – INSERT INTO producto (id_producto, nombre) VALUES (2, 'Oporto'); • Esta forma como mínimo debe contener las columnas de clave primaria y columnas únicas (UNIQUE) que no son auto incrementadas o las columnas que no tienen un valor por defecto y a su vez no permitan nulos. JOSÉ CUARTAS BASES DE DATOS
  • 5. Como modificamos los datos en la base de datos: MODIFICAR conocido como UPDATE • Sirve para cambiar los valores de uno o mas atributos en una tupla o tuplas de una relación. • La operación modificar puede provocar violaciones de restricción, cuando se modifica un valor de clave primaria o clave externa. • Opciones para evitar la violación de integridad: 1. Rechazar la actualización. 2. Propagar la actualización, actualizando las tuplas que hagan referencia a la tupla que se desea eliminar. 3. Modificar los valores del atributo de referencia que provoca la violación. JOSÉ CUARTAS BASES DE DATOS
  • 6. Apliquemos SQL Actualiza los datos– UPDATE • Se puede insertar nuevas tuplas o filas en una tabla con la instrucción UPDATE • Ejemplos Crear la tabla productos_temporales basada en la siguiente estructura: productos_temporales (id_producto: integer, nombre: text, precio: integer). • Para actualizar una columna de una fila (sintaxis principales) – UPDATE producto SET precio = 25450 WHERE nombre = 'Oporto'; • Recuerde sino se identifica las filas que se desean actualizar con la cláusula WHERE ,ocurre una actualización de todas las filas de la tabla. • Otra forma actualizar múltiples columnas de una o varias filas. – UPDATE producto SET precio = 23000, nombre = „Vino Oporto„ WHERE nombre = 'Oporto'; • Las actualizaciones dependen de la condición dada para WHERE en la clausula UPTADE. JOSÉ CUARTAS BASES DE DATOS
  • 7. Como modificamos los datos en la base de datos: ELIMINACIÓN • Sirve para eliminar todos los valores de los atributos de una Tupla o de varias tuplas, en forma coloquial elimina una o varias filas segun sea el caso. • La operación eliminación puede provocar violaciones de integridad referencial, si las claves foránea de otras filas de la base de datos hacen referencia a la tupla que se ha de eliminar. • Opciones para evitar la violación de integridad: 1. Rechazar la eliminación. 2. Propagar la eliminación eliminando las tuplas que hagan referencia a la tupla que se desea eliminar. 3. Modificar los valores del atributo de referencia que provoca la violación. JOSÉ CUARTAS BASES DE DATOS
  • 8. Apliquemos SQL Eliminación de filas– DELETE • Se puede remover filas en una tabla con la instrucción DELETE • Para eliminar filas en una tabla con una condición (sintaxis principales) – DELETE FROM producto WHERE precio = 25450 ; • Recuerde esto elimina todas las filas que cumplan la condición donde(WHERE) el precio es igual a 25450. • Si se desea eliminar todas las filas de una tabla pero dejar su estructura se ejecuta el siguiente comando – DELETE FROM producto • Recuerde si se desea eliminar la tabla y su estructura se utiliza la sentencia DROP. – DROP TABLE productos; JOSÉ CUARTAS BASES DE DATOS
  • 9. Como consultamos los datos en la base de datos: SELECT • La instrucción SELECT se utiliza principalmente para la recuperación de datos específicos de una Tabla o Vista. • La estrategia es intentar construir las instrucciones SELECT de la forma más sencilla posible, para recuperar los datos necesarios. • Es la analogía al operador proyectar en el algebra relacional. • Nomenclatura básica: – SELECT nombre_de_columnas los nombres de las columnas que se FROM tabla_a_la_que_se_consulta mostraran en el SELECT, son separados por una coma. Se colocan el nombre de la tabla o se colocan los nombres de varias tablas en caso de realizar una operación En SQL se utiliza el comodín * para producto cruz listar todos los campos de una tabla. JOSÉ CUARTAS BASES DE DATOS
  • 10. Como modificamos los datos en la base de datos: WHERE • Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores lógicos AND y OR y operadores de comparación, esta . • La cláusula WHERE es la cláusula que nos permite filtrar el resultado de una sentencia SELECT. • La claúsula WHERE es opcional, si no se emplea esta cláusula, la consulta devolverá todas las filas de la tabla. • Es la analogía al operador seleccionar en el algebra relacional • Nomenclatura básica: – SELECT nombre_de_columnas FROM tabla_a_la_que_se_consulta WHERE condición JOSÉ CUARTAS BASES DE DATOS
  • 11. Como modificamos los datos en la base de datos: AS - Alias de Columna • Este operador se utiliza para renombrar columnas o tablas. – generalmente clarificar el significado de los datos en una columna de salida, para asignar una cabecera a una columna. – Se utiliza también para renombrar las tablas que se utilizan en una consulta, generalmente se abrevia el nombre de la tabla. JOSÉ CUARTAS BASES DE DATOS
  • 12. Como modificamos los datos en la base de datos: ORDER BY – Ordenación de datos Esta cláusula permite ordenar el resultado de la consulta, definiendo el orden en que se presentan las columnas que se desean proyectar. Se pueden presentar en orden ascendente (por defecto) y descendente (se coloca después de la columna a ordenar la palabra clave DESC). JOSÉ CUARTAS BASES DE DATOS
  • 13. Como modificamos los datos en la base de datos: JOINS O REUNIONES O COMBINACIONES • http://es.wikipedia.org/wiki/Join • Un JOIN es el resultado de una operación de combinación o producto cruz realizada sobre dos o más tablas que cumplen una condición generalmente. – Se pueden realizar varios tipos de JOINs de tablas: • Combinaciones internas los cuales se conocen como join o inner join . • Externa completa (full outer), Externa por la izquierda (left outer), Externa por la derecha (rigth outer). • Cruzada (cross) conocida como producto cartesiano. • Por esta operación JOIN podemos leer datos de diferentes tablas en una única consulta. Lo que nos permitirá diseñar tablas relacionadas entre ellas. – Operador muy utilizado para obtener los registros de la combinación de dos tablas, que en una tabla tiene una clave primaria igual a uno o varios registros de otra tabla con la clave foránea. JOSÉ CUARTAS BASES DE DATOS
  • 14. Apliquemos SQL Actualiza los datos– JOINs • Se puede insertar nuevas tuplas o filas en una tabla con la instrucción UPDATE • Ejemplos Crear la tabla productos_temporales basada en la siguiente estructura: productos_temporales (id_producto: integer, nombre: text, precio: integer). • Para actualizar una columna de una fila (sintaxis principales) – UPDATE producto SET precio = 25450 WHERE nombre = 'Oporto'; • Recuerde sino se identifica las filas que se desean actualizar con la cláusula WHERE ,ocurre una actualización de todas las filas de la tabla. • Otra forma actualizar múltiples columnas de una o varias filas. – UPDATE producto SET precio = 23000, nombre = „Vino Oporto„ WHERE nombre = 'Oporto'; • Las actualizaciones dependen de la condición dada para WHERE en la clausula UPTADE. JOSÉ CUARTAS BASES DE DATOS
  • 15. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • El SQL es muy diferente a muchos de los lenguajes de programación, ya que, el orden en el que se procesas las sentencias no es el mismo en la que se escribe. • La primera sentencia que se procesa es el FROM , mientras la sentencia SELECT, la cual es la primera que aparece en la instrucción , se procesa tiempo después. • Cada paso del procesamiento genera tablas virtuales que son entradas del siguiente paso (estas tablas internas no son accesibles por aplicaciones o otras consultas), solo la tabla del paso final es la que es retornado y puede ser utilizada para realizar otra operación. JOSÉ CUARTAS BASES DE DATOS
  • 16. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • Tablas TBLCONSUMIDOR y TBLORDENES • Consulta: SELECT C.IDCONSUMIDOR, COUNT(O.IDORDEN) AS NUMORDEN FROM TBLCONSUMIDOR AS C LEFT OUTER JOIN TBLORDENES AS O ON C.IDCONSUMIDOR = O.IDCONSUMIDOR WHERE C.CIUDAD = “MEDELLIN” GROUP BY C.IDCONSUMIDOR HAVING COUNT(O.IDORDEN) < 3 ORDER BY NUMORDEN TBLCONSUMIDOR TBLORDENES IDCONSUMIDOR NOMBRE CIUDAD IDORDEN IDCONSUMIDOR AA JOSE MEDELLIN 1 AB AB JUAN MEDELLIN 2 AB AC DIANA MEDELLIN 3 AC AD NATALIA BOGOTA 4 AC 5 AC 6 AD 7 NULL JOSÉ CUARTAS BASES DE DATOS
  • 17. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 1: – FROM: Producto cartesiano (Reunión cruzada) de las primeras dos tablas en la sentencia FROM y da como resultado una tabla virtual VT1 • PASO 2: – ON: El filtro ON es aplicado a VT1. Solo las tuplas o filas para la cual la condición <condicion_reunion> es verdadera son agregadas en VT2. • PASO 3: – OUTER (JOIN): Las filas de las tablas o tablas para la cual no hay coincidencias son agregadas a la tabla VT2 como filas de reunión externas, generando VT3. Si mas de dos tablas aparecen en la clausula FROM , el paso 1 al paso 3 es aplicado repetidamente entre el resultado(tabla VT) del ultimo JOIN y la siguiente tabla dentro la clausula FROM, hasta procesar todas las tablas. JOSÉ CUARTAS BASES DE DATOS
  • 18. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 4: – WHERE: Es el filtro aplicado a VT3o la tabla virtual generada del paso anterior. Solo las filas para la cual la condición en WHERE es verdadera son agregadas a la tabla virtual VT4. • PASO 5: – GROUP BY: Las Filas de VT4 son organizadas en grupos basados en las listas de las columnas especificadas en la sentencia GROUP BY generando la tabla VT5. • PASO 6: – HAVING: El Filtro HAVING es aplicado a VT5solo los grupos para lo cual la condición expresada en HAVING <condicion_having> es verdadera son adicionada a la tabla VT6. • PASO 7: – SELECT: La lista de columnas es procesada generando la tabla VT7. JOSÉ CUARTAS BASES DE DATOS
  • 19. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 8: – DISTINC: Las filas duplicadas son removidas de la relación VT7 generada en el paso anterior generando VT8. • PASO 9: – ORDEN BY: Las Las Filas de VT4 son organizadas en grupos basados en las listas de las columnas especificadas en la sentencia GROUP BY generando la tabla VT5. • PASO 10: – TOP: El Filtro HAVING es aplicado a VT5solo los grupos para lo cual la condición expresada en HAVING <condicion_having> es verdadera son adicionada a la tabla VT6. JOSÉ CUARTAS BASES DE DATOS
  • 20. Apliquemos SQL Descripción lógica- Procesamiento de una consulta Aplicación VT1 condicion C.IDCONSUMIDOR C.NOMBRE C.CIUDAD O.IDORDEN O.IDCONSUMIDO R F/V • Producto cruz o AA JOSE MEDELLIN 1 AB F producto AA JOSE MEDELLIN 2 AB F AA JOSE MEDELLIN 3 AC F cartesiana entre AA JOSE MEDELLIN 4 AC F AA JOSE MEDELLIN 5 AC F las tablas y AA JOSE MEDELLIN 6 AD F AA JOSE MEDELLIN 7 NULL NULL columna de AB AB JUAN JUAN MEDELLIN MEDELLIN 1 2 AB AB V V evaluación de la AB AB JUAN JUAN MEDELLIN MEDELLIN 3 4 AC AC F F condición AB JUAN MEDELLIN 5 AC F AB JUAN MEDELLIN 6 AD F AB JUAN MEDELLIN 7 NULL NULL AC DIANA MEDELLIN 1 AB F AC DIANA MEDELLIN 2 AB F AC DIANA MEDELLIN 3 AC V AC DIANA MEDELLIN 4 AC V AC DIANA MEDELLIN 5 AC V AC DIANA MEDELLIN 6 AD F AC DIANA MEDELLIN 7 NULL NULL AD NATALIA BOGOTA 1 AB F AD NATALIA BOGOTA 2 AB F AD NATALIA BOGOTA 3 AC F AD NATALIA BOGOTA 4 AC F AD NATALIA BOGOTA 5 AC F AD NATALIA BOGOTA 6 AD V AD NATALIA BOGOTA 7 NULL NULL
  • 21. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 2: Tabla virtual después de aplicar el JOIN y la condición VT2 O.IDCONSUMIDO C.IDCONSUMIDOR C.NOMBRE C.CIUDAD O.IDORDEN R AB JUAN MEDELLIN 1 AB AB JUAN MEDELLIN 2 AB AC DIANA MEDELLIN 3 AC AC DIANA MEDELLIN 4 AC AC DIANA MEDELLIN 5 AC AD NATALIA BOGOTA 6 AD JOSÉ CUARTAS BASES DE DATOS
  • 22. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 3: aplicando la operación OUTER JOIN VT3 O.IDCONSUMIDO C.IDCONSUMIDOR C.NOMBRE C.CIUDAD O.IDORDEN R AB JUAN MEDELLIN 1 AB AB JUAN MEDELLIN 2 AB AC DIANA MEDELLIN 3 AC AC DIANA MEDELLIN 4 AC AC DIANA MEDELLIN 5 AC AA JOSE MEDELLIN NULL NULL JOSÉ CUARTAS BASES DE DATOS
  • 23. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 4: aplicando el operador de agregación GROUP BY VT4 GRUPO C.IDCONSUMIDOR C.NOMBRE C.CIUDAD O.IDORDEN O.IDCONSUMIDOR JUAN AB JUAN MEDELLIN 1 AB AB JUAN MEDELLIN 2 AB DIANA AC DIANA MEDELLIN 3 AC AC DIANA MEDELLIN 4 AC AC DIANA MEDELLIN 5 AC JOSE AA JOSE MEDELLIN NULL NULL JOSÉ CUARTAS BASES DE DATOS
  • 24. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 5: aplicando el filtro HAVING VT5 C.IDCONSUMIDO O.IDCONSUMIDO GRUPO R C.NOMBRE C.CIUDAD O.IDORDEN R JUAN AB JUAN MEDELLIN 1 AB AB JUAN MEDELLIN 2 AB JOSE AA JOSE MEDELLIN NULL NULL JOSÉ CUARTAS BASES DE DATOS
  • 25. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 6: Procesando sentencia SELECT VT6 C.NOMBRE NUMORDEN JUAN 2 JOSE 0 JOSÉ CUARTAS BASES DE DATOS
  • 26. Apliquemos SQL Descripción lógica- Procesamiento de una consulta • PASO 7: Aplicando la sentencia ORDER BY e imprimiendo en pantalla el resultado. VT7 C.NOMBRE NUMORDEN JOSE 0 JUAN 2 JOSÉ CUARTAS BASES DE DATOS