SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
ralbarracin
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
Robedgar MX
 

Was ist angesagt? (20)

Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
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
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
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
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez HGuía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
Guía 02. Ejercicios de teoría sobre SQL - José J Sánchez H
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
SQL - DML and DDL Commands
SQL - DML and DDL CommandsSQL - DML and DDL Commands
SQL - DML and DDL Commands
 
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
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 
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
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
josecuartas
 

Mehr von 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
 
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
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 

Kürzlich hochgeladen

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Kürzlich hochgeladen (20)

Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 

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