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?

Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Maria Garcia
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dmlGerardo
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datosAlvaro Cardona
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Manual de conexion a una base de datos con gambas
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 gambasMoposita1994
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalJosé Antonio Sandoval Acosta
 
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. unidademilio_ambrosio
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 

Was ist angesagt? (20)

Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Manual de conexion a una base de datos con gambas
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
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
VISTAS
VISTASVISTAS
VISTAS
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
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
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 

Ähnlich wie Sql DML Lenguaje de manipulación de datos

Ä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

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 datosjosecuartas
 
Anti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualAnti patrones SQL, Modelo conceptual
Anti patrones SQL, Modelo conceptualjosecuartas
 
Tableros de control o Dashboard
Tableros de control o DashboardTableros de control o Dashboard
Tableros de control o Dashboardjosecuartas
 
Visualizacion de datos
Visualizacion de datosVisualizacion de datos
Visualizacion de datosjosecuartas
 
Calidad de datos
Calidad de datosCalidad de datos
Calidad de datosjosecuartas
 
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ónjosecuartas
 
Datos semiestructurados Xml
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xmljosecuartas
 
Bases de datos temporales
Bases de datos temporalesBases de datos temporales
Bases de datos temporalesjosecuartas
 
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 logicojosecuartas
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datosjosecuartas
 
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 datosjosecuartas
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datosjosecuartas
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco durojosecuartas
 
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 datosjosecuartas
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQLjosecuartas
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datosjosecuartas
 
Fuga de información
Fuga de informaciónFuga de información
Fuga de informaciónjosecuartas
 
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 dinamico14042011josecuartas
 

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
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Seguridad en bases de datos
Seguridad en bases de datosSeguridad en bases de datos
Seguridad en bases de datos
 
Los datos en el disco duro
Los datos en el disco duroLos datos en el disco duro
Los datos en el disco duro
 
Digramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datosDigramas de venn aplicado en las bases datos
Digramas de venn aplicado en las bases datos
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
 
Fuga de información
Fuga de informaciónFuga de información
Fuga de información
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 

Kürzlich hochgeladen

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 

Kürzlich hochgeladen (20)

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 

Sql DML Lenguaje de manipulación de datos

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