Sql DML Lenguaje de manipulación de datos

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
1 von 26

Recomendados

Comandos utilizados en sql von
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
48.8K views15 Folien
Unidad 1. Fundamentos de Base de Datos von
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datoshugodanielgd
5.6K views14 Folien
Fundamentos de las bases de datos von
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datosJaime David Romero Olivo
33.6K views22 Folien
Lenguaje SQL von
Lenguaje SQLLenguaje SQL
Lenguaje SQLGenesis Davalos
5.6K views5 Folien
Modelos de datos von
Modelos de datosModelos de datos
Modelos de datosAlfredo Colcha
5.3K views42 Folien
Crear base de datos mysql command von
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
2.8K views14 Folien

Más contenido relacionado

Was ist angesagt?

Flujo datos von
Flujo datosFlujo datos
Flujo datosinnovalabcun
769 views19 Folien
NORMALIZACIÓN von
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN Jorge Paredes Toledo
1.4K views18 Folien
Unidad 3 Modelamiento De Datos Conceptual von
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
3.7K views45 Folien
Sql DDL Lenguaje de definición de datos von
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
15.7K views43 Folien
Sql von
SqlSql
SqlMaría Luisa Velasco
954 views41 Folien
Fundamentos de Bases de Datos - Introducción von
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónManuel Padilla
3.4K views20 Folien

Was ist angesagt?(20)

Unidad 3 Modelamiento De Datos Conceptual von Sergio Sanchez
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez3.7K views
Sql DDL Lenguaje de definición de datos von josecuartas
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
josecuartas15.7K views
Fundamentos de Bases de Datos - Introducción von Manuel Padilla
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
Manuel Padilla3.4K views
HISTORIA DE LAS BASES DE DATOS von dfgdfgs
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
dfgdfgs11.8K views
Manual de conexion a una base de datos con gambas von Moposita1994
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
Moposita1994459 views
Implementacion de bases de datos en mysql von Pipe Muñoz
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
Pipe Muñoz17.5K views
Comandos ddl y dml von Gerardo
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo 69K views
Historia de la tecnologia de base de datos von ralbarracin
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
ralbarracin8.6K views
Normalización de la base de datos (3 formas normales) von michell_quitian
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
michell_quitian51.2K views
Clases y objetos de java von innovalabcun
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun2.9K views
ENTRADA Y SALIDA DE DATOS EN JAVA von Gabriel Suarez
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
Gabriel Suarez8.8K views
Modelo Orientado A Objetos von jose_rob
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
jose_rob39.1K views
Normalizacion de bases de datos von Caro_Noirgean
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
Caro_Noirgean15.6K views

Similar a Sql DML Lenguaje de manipulación de datos

Consultas sql von
Consultas sqlConsultas sql
Consultas sqlSantiago Fernandez Villalta
320 views11 Folien
Expo von
ExpoExpo
ExpoAmir Core
589 views58 Folien
consultas.pptx von
consultas.pptxconsultas.pptx
consultas.pptxThegreen4
2 views9 Folien
Consultas sql von
Consultas sqlConsultas sql
Consultas sqljuan198
305 views12 Folien
Cliente servidor consultas sql von
Cliente servidor consultas sqlCliente servidor consultas sql
Cliente servidor consultas sqlAlexis Balseca
253 views10 Folien
Sql comandos von
Sql comandosSql comandos
Sql comandosJose
4K views11 Folien

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

Consultas sql von juan198
Consultas sqlConsultas sql
Consultas sql
juan198305 views
Cliente servidor consultas sql von Alexis Balseca
Cliente servidor consultas sqlCliente servidor consultas sql
Cliente servidor consultas sql
Alexis Balseca253 views
Sql comandos von Jose
Sql comandosSql comandos
Sql comandos
Jose4K views
Base de datos en sql von K-rlos Pac
Base de datos en sql  Base de datos en sql
Base de datos en sql
K-rlos Pac623 views
Almacenamiento en bases de datos ejercicio maestria von Meymorsal
Almacenamiento en bases de datos ejercicio maestriaAlmacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestria
Meymorsal334 views
Abf leccion 18 von victdiazm
Abf leccion 18Abf leccion 18
Abf leccion 18
victdiazm656 views
Sql server express edition 2012 libro von Osmar Zaragoza
Sql server express edition 2012 libroSql server express edition 2012 libro
Sql server express edition 2012 libro
Osmar Zaragoza5.4K views
T8 – Bases de Datos en MySQL (1).pptx von DanaSoto7
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
DanaSoto719 views

Más de josecuartas

Seguridad en el almacenamiento de las bases de datos von
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 datosjosecuartas
1.3K views27 Folien
Anti patrones SQL, Modelo conceptual von
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualjosecuartas
2.3K views14 Folien
Tableros de control o Dashboard von
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboardjosecuartas
6.9K views7 Folien
Visualizacion de datos von
Visualizacion de datosVisualizacion de datos
Visualizacion de datosjosecuartas
2K views12 Folien
Calidad de datos von
Calidad de datosCalidad de datos
Calidad de datosjosecuartas
871 views10 Folien
De los datos a la información von
De los datos a la informaciónDe los datos a la información
De los datos a la informaciónjosecuartas
765 views9 Folien

Más de josecuartas(20)

Seguridad en el almacenamiento de las bases de datos von josecuartas
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
josecuartas1.3K views
Anti patrones SQL, Modelo conceptual von josecuartas
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptual
josecuartas2.3K views
Tableros de control o Dashboard von josecuartas
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboard
josecuartas6.9K views
Visualizacion de datos von josecuartas
Visualizacion de datosVisualizacion de datos
Visualizacion de datos
josecuartas2K views
De los datos a la información von josecuartas
De los datos a la informaciónDe los datos a la información
De los datos a la información
josecuartas765 views
Datos semiestructurados Xml von josecuartas
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xml
josecuartas4.1K views
Bases de datos temporales von josecuartas
Bases de datos temporalesBases de datos temporales
Bases de datos temporales
josecuartas2.9K views
Transformar modelo entidad relacion a modelo logico von josecuartas
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas84.3K views
índices en bases de datos von josecuartas
índices en bases de datosíndices en bases de datos
índices en bases de datos
josecuartas4.3K views
Seguridad en bases de datos von josecuartas
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
josecuartas1.1K views
Los datos en el disco duro von josecuartas
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
josecuartas4.4K views
Digramas de venn aplicado en las bases datos von josecuartas
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
josecuartas4.9K views
Bases de datos avanzado NOSQL von josecuartas
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
josecuartas2.8K views
Disco duro bases datos von josecuartas
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
josecuartas2.6K views
Fuga de información von josecuartas
Fuga de informaciónFuga de información
Fuga de información
josecuartas1.9K views
Patrones de arquitectura Software(Capa de Datos) von josecuartas
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas18K views
Sql dinamico14042011 von josecuartas
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
josecuartas1.4K views
Modelo relacional von josecuartas
Modelo relacionalModelo relacional
Modelo relacional
josecuartas5.5K views

Último

Lenguaje algebraico.pptx von
Lenguaje algebraico.pptxLenguaje algebraico.pptx
Lenguaje algebraico.pptxkeinerochoa39
29 views10 Folien
DEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdf von
DEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdfDEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdf
DEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdfVictor Hugo Caiza
72 views2 Folien
textos y visiones 07 dgo von
textos y visiones 07 dgotextos y visiones 07 dgo
textos y visiones 07 dgoExamenes Preparatoria Abierta
106 views3 Folien
Discurso teatral von
Discurso teatralDiscurso teatral
Discurso teatralAnthonyAguilera11
46 views42 Folien
Tema 3-El átomo.pptx von
Tema 3-El átomo.pptxTema 3-El átomo.pptx
Tema 3-El átomo.pptxfatimasilvacabral
59 views16 Folien
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf von
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdfDEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdfVictor Hugo Caiza
79 views2 Folien

Último(20)

DEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdf von Victor Hugo Caiza
DEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdfDEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdf
DEBER DE RESOLUCION DE PROBLEMAS DE MRUV (2°).pdf
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf von Victor Hugo Caiza
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdfDEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf
DEBER DE RESOLUCION DE PROBLEMAS DE FUERZA (3°).pdf
Unidad 1. Álgebra, tigonometría y geometría analitica. Fase 2..pptx von blogdealgebraunad
Unidad 1. Álgebra, tigonometría y geometría analitica. Fase 2..pptxUnidad 1. Álgebra, tigonometría y geometría analitica. Fase 2..pptx
Unidad 1. Álgebra, tigonometría y geometría analitica. Fase 2..pptx
Fase 4- Estudio de la geometría analítica.pptx von blogdealgebraunad
Fase 4- Estudio de la geometría analítica.pptxFase 4- Estudio de la geometría analítica.pptx
Fase 4- Estudio de la geometría analítica.pptx
Intranet y extranet cuadro comparativo.pdf von UPTVT
Intranet y extranet cuadro comparativo.pdfIntranet y extranet cuadro comparativo.pdf
Intranet y extranet cuadro comparativo.pdf
UPTVT32 views
Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas... von IvanLechuga
Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas...Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas...
Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas...
IvanLechuga85 views
VOCABULARIO NAVIDAD.pdf von Gema Rua
VOCABULARIO NAVIDAD.pdfVOCABULARIO NAVIDAD.pdf
VOCABULARIO NAVIDAD.pdf
Gema Rua32 views

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