SlideShare una empresa de Scribd logo
1 de 54
Lenguajes de
     Manipulación de Datos



Profesor:
MS Luis Serna Jherry
Lenguajes de Manipulación de
    Datos
   Son lenguajes que el usuario utiliza para
    consultar y modificar la base de datos.
      Procedimentales:

        Se instruye al sistema para llevar a cabo una
        serie de operaciones en la BD para calcular el
        resultado (Álgebra Relacional)
       No Procedimentales:
        Se describe la información deseada sin
        establecer el procedimiento para obtenerla
        (Cálculo Relacional)
Lenguajes de Manipulación de
Datos – Evolución histórica
   Junio 1970 – E. Codd “A relational Model of
    data for large shared databanks”
   1974 – SEQUEL (laboratorios de IBM)
   1976 – SQL (SEQUEL 2)
   Década del 80 – Se comercializan productos
    basados en SQL
   SQL/86, SQL/89, SQL/92 Estándares ANSI
   SQL/99 para soporte de datos de naturaleza
    compleja
Álgebra Relacional
    Es un lenguaje de procedimientos de alto
     nivel que permite, mediante el uso de ciertos
     operadores, derivar las tablas deseadas desde
     las tablas base del modelo relacional.

    Consta de un conjunto de operadores que
     toman como entrada una o dos relaciones y
     producen como resultado una nueva relación.
Álgebra Relacional
    Operaciones fundamentales:
     Selección, Proyección, Unión, Diferencia, Prod
     ucto Cartesiano y Renombramiento

    Otras operaciones, que pueden definirse en
     términos de las operaciones fundamentales:
     Intersección, Reunión natural (JOIN) y
     División
El Algebra Relacional en el DBMS
                                  Expresión
                                  optimizada
                   Expresión                     Plan de                 Código
                                  en álgebra
SQL                en álgebra                    ejecución               ejecutable
                                  relacional
                   relacional
                                                             Generador
      analizador
                                                             de código



                                Optimizador de
                                  Consultas




                                 DBMS
Operadores Relacionales
   SELECCIÓN
                           Extrae tuplas de una
                           relación dada que
                           satisfacen una
                           condición específica.

                       Símbolo: (sigma)
                       Término Común: (WHERE)

        Notación:   condición   (Relación)
Operadores Relacionales
   SELECCIÓN
    Prestamo   N_Sucursal      #Prestamo      $Importe
               Miraflores         P-17        200,000
               La Aurora          P-23         400,000
               Lima Cercado       P-15         300,000
               Chacarilla         P-14         300,000
               Primavera          P-93         100,000
               Surquillo          P-11         180,000
               La Molina          P-16         260,000

                 N Sucursal = <Miraflores>   (Prestamo)
               N_Sucursal     #Prestamo       $Importe
               Miraflores        P-17         200,000
Operadores Relacionales
   PROYECCIÓN

                                Extrae atributos
                                específicos de una
                                relación dada

                                 Símbolo:
                                 Término Común: PROJECT

    Notación:   atributo 1, atributo 2, ... Atributo n   (Relación)
Operadores Relacionales
   PROYECCIÓN

          # Préstamo, $ Importe   (Préstamo)
             #Prestamo      $Importe
                P-17         200,000
                P-23         400,000
                P-15         300,000
                P-14         300,000
                P-93         100,000
                P-11         180,000
                P-16         260,000
Operadores Relacionales
Composición de Operaciones Relacionales

   El resultado de una operación relacional es una relación
       Las operaciones relacionales se pueden componer para
formar una expresión del álgebra relacional (igual que las
expresiones aritméticas)
Ejemplo: Mostrar el atributo #préstamo de aquellas sucursales
cuyo nombre es Miraflores de la relación Préstamo.

     # Préstamo   (   N Sucursal = <Miraflores>   (Prestamo))
Operadores Relacionales
    UNIÓN                    Construye una relación
                              formada por todas las
                              tuplas que aparecen en
                              cualquiera de dos
                              relaciones especificas,
                              eliminándose las
                              duplicadas
                              Símbolo:
 Notación: R1      R2         Término Común: UNION
Las relaciones deben ser Compatibles: la misma cantidad
de atributos, y los atributos correspondientes deben provenir
del mismo dominio
Operadores Relacionales
EJEMPLO:
Se desea averiguar todos los clientes que tienen una
cuenta, un préstamo o ambos:

     Titular_cuenta            Prestatario
       N_Cliente   #Cuenta      N_Cliente   #Prestamo

       Santos       C-101       Santos        P-17
       Gómez        C-215       Gómez         P-23
       López        C-102       López         P-15
       Abril        C-305       Soto          P-14
       González     C-201       Pérez         P-93
       Santos       C-217       Gómez         P-11
       Rodríguez    C-222       Fernández     P-16
Operadores Relacionales
   UNION
Se desea averiguar todos los clientes que tienen una cuenta,
un préstamo o ambos:

    N Cliente   (Titular_cuenta)         N Cliente   (Prestatario)
                             N_Cliente
                            González
                            Santos
                            Rodríguez
                            López
                            Abril
                            Soto
                            Pérez
                            Gómez
                            Fernández
Operadores Relacionales
    DIFERENCIA
R1                          Dadas dos relaciones
                            específicas, construye una
                            tercera relación formada
                            por todas las tuplas de la
                            primera relación que no
                            aparecen en la segunda.
     R2
                            Símbolo:
 Notación: R1    R2         Término Común: MINUS

          Las relaciones deben ser Compatibles
Operadores Relacionales
    DIFERENCIA

Se desea averiguar todos los clientes que tienen abierta una
cuenta, pero que no tienen concedido ningún préstamo:

    N Cliente   (Titular_cuenta)        N Cliente   (Prestatario)
                            N_Cliente
                           González
                           Rodríguez
                           Abril
Operadores Relacionales
   PRODUCTO CARTESIANO
                                 Dadas dos relaciones
    R1   A
                  R3   A    B    específicas, construye
         a1
         a2            a1   b1   una tercera relación
         a3            a1   b2
              X        a2   b1   que contiene todas las
                       a2   b2   combinaciones posibles
    R2   B             a3   b1
         b1            a3   b2   de tuplas, una de cada
         b2                      una de las relaciones.
                            Símbolo:
                            Término Común: TIMES
Operadores Relacionales
    RENOMBRAMIENTO
Los resultados de las expresiones de álgebra
relacional no tienen nombre, a pesar de ser relaciones.
Dada una expresión E, la expresión
                        (E)
                          x
devuelve el resultado de la expresión E con el
nombre X

             Símbolo:    ro)
             Término Común: RENAME
Operadores Relacionales
    RENOMBRAMIENTO


También es útil para renombrar los atributos de una
relación:
La expresión
                  X (A1, A2, ..., An)   (E)

devuelve el resultado de la expresión E con el
nombre X y con los atributos con el nombre
cambiado a A1, A2, ...., An
Operadores Relacionales
   RENOMBRAMIENTO - Ejemplo
“Buscar el máximo saldo de la cuenta de un banco”
             Sucursal           cuenta          saldo

Cuenta       Miraflores         C-101           100,000
             La Aurora          C-215           140,000
             Lima Cercado       C-102             80,000

     Calcular primero una relación intermedia con los
    saldos que no son el máximo.
     Realizar la diferencia entre   saldo   (Cuenta) y la
    relación intermedia calculada.
Operadores Relacionales
    RENOMBRAMIENTO - Ejemplo
 Calcular una relación intermedia con los saldos que
no son el máximo:
   • Calcular el producto cartesiano Cuenta x Cuenta
   • Formar una selección sobre el resultado,
     comparando los valores de los saldos que aparecen
     en una tupla


     cuenta.saldo   (   cuenta.saldo < d.saldo (Cuenta   x   d   (Cuenta) )
Renombramiento - Ejemplo
Cuenta x       d   (Cuenta)
Cuenta.        Cuenta. Cuenta.   d.             d.     d.
Sucursal       cuenta saldo      sucursal       cuenta saldo
 Miraflores     C101 100,000      Miraflores     C101 100,000
Miraflores      C101   100,000   La Aurora      C215   140,000
Miraflores      C101   100,000   Lima Cercado   C102    80,000
La Aurora       C215   140,000   Miraflores     C101   100,000
La Aurora       C215   140,000    La Aurora     C215   140,000
La Aurora       C215   140,000    Lima Cercado C102     80,000
Lima Cercado    C102    80,000    Miraflores    C101   100,000
Lima Cercado    C102    80,000    La Aurora     C215   140,000
Lima Cercado    C102    80,000    Lima Cercado C102     80,000
Seleccion - Ejemplo
           cuenta.saldo < d.saldo (Cuenta   x      d   (Cuenta)

Cuenta.         Cuenta.   Cuenta.    d. sucursal        d. cuenta d. saldo
Sucursal         cuenta   saldo
Miraflores        C101    100,000     La Aurora          C215    140,000
Lima Cercado      C102      80,000    Miraflores         C101    100,000
Lima Cercado      C102      80,000    La Aurora          C215    140,000
Renombramiento - Ejemplo

cuenta.saldo   (   cuenta.saldo < d.saldo (Cuenta   x   d   (Cuenta) )



                          Cuenta.saldo
                             100,000
                              80,000
Renombramiento - Ejemplo
Realizar la diferencia entre         saldo   (Cuenta) y la
relación intermedia calculada.
   saldo (Cuenta)     cuenta.saldo ( cuenta.saldo < d.saldo
                   (Cuenta x d (Cuenta) )

      saldo                   saldo
                                                          saldo
     100,000                 100,000
                                                  =      140,000
     140,000                 80,000
     80,000
Operadores Relacionales
   INTERSECCIÓN
                       Dadas dos relaciones Compatibles
                       específicas, construye una tercera
                       relación formada por todas las
                       tuplas que aparecen en ambas
                       relaciones.
                       Símbolo:
                       Término Común: INTERSECT
                       Notación: R1 R2

    Equivalencia: R1    R2 = R1 - (R1 - R2)
Operadores Relacionales
   INTERSECCIÓN

      R1     R2


Resultado:
Cabecera - idéntica a la de R1 ó R2
Cuerpo - todas las tuplas que aparecen en R1 y en
R2 a la vez.
Operadores Relacionales
   INTERSECCIÓN - Ejemplo

Averiguar los clientes que tienen un préstamo concedido y una
  cuenta abierta
    N Cliente   (Prestatario)    N Cliente   (Titular-cuenta)
         Titular_cuenta                 Prestatario
                                         N_Cliente   #Prestamo
          N_Cliente   #Cuenta
                                         Santos        P-17
          Santos       C-101
                                         Gómez         P-23
          Gómez        C-215
                                         López         P-15
          López        C-102
          Abril        C-305             Soto          P-14
          González     C-201             Pérez         P-93
          Santos       C-217             Gómez         P-11
          Rodríguez    C-222             Fernández     P-16
Operadores Relacionales
   INTERSECCIÓN - Ejemplo

    N Cliente   (Prestatario)            N Cliente   (Titular-cuenta)

                            N_Cliente
                                Santos
                                Gómez
                                López
Operadores Relacionales
   FUSIÓN (JOIN) o Reunión Natural
    R1   A    B
         a1   b1   R3   A    B    C    Dadas dos relaciones
         a2   b2
         a3   b3        a1   b1   c1   específicas, construye
                        a2   b2   c2   una tercera relación que
    R2   B    C                        combina ciertas
         b1   c1                       selecciones, proyección
         b2   c2
         b4   c4                       y un producto
                                       cartesiano en una sola
         Símbolo:                      operación.
         Término Común: JOIN
         Notación: R1 R2
Operadores Relacionales
    FUSIÓN (JOIN) - Ejemplo
“Averiguar los nombres de todos los clientes que
tienen concedido un préstamo, el importe de éste y la
sucursal donde se lo otorgaron”
                (Prestatario       Préstamo)
 N_Cliente   #Prestamo     N_Sucursal     #Prestamo   $Importe
 Santos         P-17       Miraflores        P-17      200,000

 Gómez          P-23       La Aurora         P-23      400,000
 López          P-15       Lima Cercado      P-15      300,000

 Soto           P-14       Chacarilla        P-14      300,000

 Pérez          P-93       Primavera         P-93      100,000
 Gómez          P-11       Surquillo         P-11      180,000
 Fernández      P-16       La Molina         P-16      260,000
Operadores Relacionales
    FUSIÓN (JOIN) - Ejemplo
Procedimiento:
 Calcular el producto cartesiano de las relaciones
Prestatario y Préstamo:
                  Prestatario x Préstamo

 Seleccionar las tuplas correspondientes al mismo
numero-préstamo:
     prestatario.# Préstamo = préstamo.# Préstamo   (Prestatario x
                            Préstamo)
Operadores Relacionales
    FUSIÓN (JOIN) - Ejemplo
 Realizar la proyección de nombre-cliente, sucursal
número-préstamo e importe de la relación resultante
(eliminando así la doble ocurrencia del # Préstamo):
                                                   ( prestatario. #
      N Cliente, N Sucursal, préstamo.# préstamo, importe

     préstamo = préstamo.# préstamo (Prestatario x Préstamo))



                                     =
                 Prestatario              Préstamo
Operadores Relacionales
    FUSIÓN (JOIN) – Ejemplo


                 (Prestatario       Préstamo)


        N_Cliente    N_Sucursal     #Prestamo   $Importe
        Santos       Miraflores       P-17      200,000
        Gómez        La Aurora        P-23      400,000
        López        Lima Cercado     P-15      300,000
        Soto         Chacarilla       P-14      300,000
        Pérez        Primavera        P-93      100,000
        Gómez        Surquillo        P-11      180,000
        Fernández    La Molina        P-16      260,000
Operadores Relacionales
    DIVISIÓN
                                    Dadas R1 y R2, donde R2 R1 (la
                                    cabecera de R2 es un subconjunto de la
R1   A     B                        cabecera de R1) Se construye una nueva
                                    relación formada por los atributos de R1
     a1    b1
     a1    b4                       que no están en R2, donde los valores de
     a2    b1                       los otros atributos concuerdan con todos los
     a3    b4
                      R3   A        valores de la relación R2.
                ÷          a1
                                    Símbolo:
R2    B                             Término Común: DIVIDE BY
      b1                            Notación: R1 R2
      b4

                    Equivalencia:      T1   (   b   (R1))

                                       T2(      b   ((R2 x T1) – R1)
                                    T1 – T2
Operadores Relacionales
    DIVISIÓN

Sean R1 = (X1, X2, ..., XM, Y1, Y2, ..., YN)
                    R2 = (Y1, Y2, ..., YN)
Consideremos (X1, ..., XM) y (Y1, ..., YN) como si
fueran atributos compuestos X e Y. Entonces
La relación resultante de R1 R2 es como sigue:
Cabecera : X
Cuerpo : tuplas (X:x) tales que (X:x, Y:y) en R1 para todas las
tuplas (Y:y) en R2
R1   R2 = X     y       (X x R2) subconjunto de R1
Operadores Relacionales
   DIVISIÓN - Ejemplo

“Hallar todos los clientes que tengan abierta una cuenta
en todas las sucursales de Surco”

      Sucursal             N_Sucursal       N_Distrito


      Titular-cuenta (1)     N_Cliente      Cuenta

      Cuenta (1)     N_Sucursal          Cuenta Saldo
N_Sucursal      N_Distrito
                       Miraflores      Miraflores
          Sucursal
                       La Aurora       Surquillo
                       Lima Cercado    Lima
                       Chacarilla      Surco
                       Primavera       Surco
                       Surquillo       Surquillo
                       La Molina       La Molina
Titular-cuenta (1)     Barrios Altos   Lima
                                                        Cuenta (1)
  N_Cliente   Cuenta
                                         N_Sucursal      Cuenta Saldo
  González    C-101
                                         Chacarilla      C-101   100,000
  Gómez       C-215
                                         La Aurora       C-215   140,000
  López       C-102
                                         Lima Cercado    C-102    80,000
  Abril       C-305
                                         Chacarilla      C-305    70,000
  González    C-201
                                         Primavera       C-201   180,000
  Santos      C-217
                                         Surquillo       C-222   140,000
  Rodríguez   C-222
                                         La Molina       C-217   150,000
Operadores Relacionales
   DIVISIÓN - Ejemplo

“Hallar todos los clientes que tengan abierta una cuenta
en todas las sucursales de Surco”
 Obtener todas las sucursales de Surco:
           R1 =    N sucursal (   Distrito = Surco (   Sucursal))


                        N_Sucursal
                        Chacarilla
                        Primavera
Operadores Relacionales
   DIVISIÓN - Ejemplo
 “Hallar todos los clientes que tengan abierta una cuenta
 en todas las sucursales de Surco”
 Encontrar todos los pares (nombre-cliente, nombre-sucursal)
para los que el cliente tiene una cuenta en una sucursal:
       R2 =    N cliente, N sucursal (   Titular-cuenta   Cuenta)
                     N_Cliente             N_Sucursal
                     González              Chacarilla
                     Gómez                 La Aurora
                     López                 Lima Cercado
                     Abril                 Chacarilla
                     González              Primavera
                     Santos                La Molina
                     Rodríguez             Surquillo
Operadores Relacionales
   DIVISIÓN - Ejemplo

 “Hallar todos los clientes que tengan abierta una cuenta
 en todas las sucursales de Surco”
 Hallar los clientes que aparecen en R2 con los nombres
de todas las sucursales de R1:
          N cliente, N sucursal ( Titular-cuenta          Cuenta)
                N sucursal (    N Distrito = Surco (   Sucursal))

                               N_Cliente
                               González
Precedencia de Operadores
Relacionales
   Proyección
   Selección
   Producto cartesiano
   JOIN, División
   Intersección
   Unión, Diferencia

El producto y el join son asociativos y
   conmutativos
Ejemplos de Operaciones Relacionales
Considere el siguiente esquema relacional:


CLIENTE: (C_cliente, N_cliente, T_cli_direccion, Npais, $SaldoIni,
           $SaldoAct)
VENDEDOR: (C_vendedor, N_vendedor, C_jefe, N_oficina, %Comision)
PRODUCTO: (C_producto, N_producto, C_fabricante, $Costo, $Precio)
FABRICANTE: (C_fabricante, N_fabricante, T_fab_direccion, N_pais)
VENTA: (D_venta, C_cliente, C_vendedor, C_producto, Q_unidades)
Ejemplos de Operaciones Relacionales

C_vendedor    N_vendedor     C_jefe   N_oficina   %Comision
   10        Rodney Jones     27      Chicago        10
   14        Masaji Matsu     44       Tokyo         11
   23          Francoise      35      Bruselas        9
                 Moire
   37         Elena Horna     12      Bs. Aires      13
   39         Goro Azuma      44       Tokyo         10
   27        Terry Cardoso            Chicago        15
   44          Albert Ige     27       Tokyo         12
   35        Brigit Bovary    27      Bruselas       11
   42        Bruno Sánchez    27      Bs. Aires      10
Ejemplos de Operaciones Relacionales
   Unión

Si consideramos:
Vendedor_subordinado: todos aquellos que
      tienen un jefe
Vendedor_jefe: todos aquellos que son jefe de
      alguien

Vendedor = Vendedor_subordinado   Vendedor_jefe
Ejemplos de Operaciones Relacionales
        Intersección

 Jefes de nivel intermedio:
 Vendedor_subordinado Vendedor_jefe
C_VENDEDOR   N_VENDEDOR      C_JEFE   OFICINA    %_COMISION


   44        Albert Ige       27      Tokyo         12

   35        Brigit Bovary    27      Bruselas      11

   12        Bruno Sánchez    27      Bs.           10
                                      Aires
Ejemplos de Operaciones Relacionales
     Selección
   Vendedores de Tokyo:

              oficina=“Tokyo”   (Vendedor)
C_VENDEDOR   N_VENDEDOR         C_JEFE   OFICINA   %_COMISION


   14        Masaji Matsu        44      Tokyo        11

   39        Goro Azuma          44      Tokyo        10

   44        Albert Ige          27      Tokyo        12
Ejemplos de Operaciones Relacionales
     Selección

Información de los vendedores de la oficina de
Tokyo que tienen una comisión mayor a 11%

     oficina=“Tokyo”and %_comision > 11   (Vendedor)

C_VENDEDOR   N_VENDEDOR       C_JEFE      OFICINA   %_COMISION

    44       Albert Ige         27        Tokyo        12
Ejemplos de Operaciones Relacionales
     Proyección

Nombres de los vendedores que tienen una comisión
menor que 11 %

     N_Vendedor (   %_comision < 11   (Vendedor))
               N_VENDEDOR
               Rodney Jones
               Francois Moire
               Goro Azuma
               Bruno Sánchez
Ejemplos de Operaciones Relacionales
      Fusión (Join)

Nombres de los clientes que han comprado el producto
2518

        N_Cliente ((   C_producto =2518 (Venta))
                       (Cliente))
Ejemplos de Operaciones Relacionales

Muestre los nombres de los vendedores cuyos jefes
obtienen una tasa de comisión mayor al 11 %
 Multiplicar Vendedor por sí mismo:
               d   (Vendedor) X Vendedor
 Seleccionar las filas donde la primera ocurrencia de
  Id_jefe coincide con la segunda ocurrencia de
  C_vendedor:
                              ( d (Vendedor) X
    Vendedor.C_jefe = d.C_vendedor
                       Vendedor))
Ejemplos de Operaciones Relacionales


Muestre los nombres de los vendedores cuyos jefes
obtienen una tasa de comisión mayor al 11 %
 Renombramos esta expresión, como R:

   R   (   Vendedor.C_jefe = d.C_vendedor   (   d   (Vendedor)
                          X Vendedor))
 Seleccionar las filas donde la comisión del jefe sea
  mayor a 11, y proyectamos el nombre del vendedor:

             N_Vendedor   (   d.%comisión > 11      (R))
Ejemplos de Operaciones Relacionales


Muestre los nombres de los vendedores cuyos jefes
obtienen una tasa de comisión mayor al 11 %
                  N_VENDEDOR
                  Rodney Jones
                  Masaji Matsu
                  Goro Azuma
                  Albert Ige
                  Brigit Bovary
                  Buster Sánchez

Más contenido relacionado

La actualidad más candente

Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datosIsabel
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Proyecto De Base De Datos
Proyecto De Base De DatosProyecto De Base De Datos
Proyecto De Base De Datosguesta67b7c
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datosGalo Anzules
 
Formas normales
Formas normalesFormas normales
Formas normalesdidachos1
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasgrupo niche ortega
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 

La actualidad más candente (20)

Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Ejercicio parciall 2
Ejercicio parciall 2Ejercicio parciall 2
Ejercicio parciall 2
 
modelo entidad-relacion
modelo entidad-relacionmodelo entidad-relacion
modelo entidad-relacion
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Proyecto De Base De Datos
Proyecto De Base De DatosProyecto De Base De Datos
Proyecto De Base De Datos
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datos
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Guía de ejercicios de normalizacion
Guía de ejercicios de normalizacionGuía de ejercicios de normalizacion
Guía de ejercicios de normalizacion
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 

Similar a Algebra relacional

Similar a Algebra relacional (20)

Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
 
unidad v Algebra Relacinal
unidad v Algebra Relacinalunidad v Algebra Relacinal
unidad v Algebra Relacinal
 
Unidad v algebra relacional
Unidad v   algebra relacionalUnidad v   algebra relacional
Unidad v algebra relacional
 
Pb operaciones modelorelacional_gris
Pb operaciones modelorelacional_grisPb operaciones modelorelacional_gris
Pb operaciones modelorelacional_gris
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Pres10BDI.ppt
Pres10BDI.pptPres10BDI.ppt
Pres10BDI.ppt
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Bases de Datos Cap:IV
Bases de Datos  Cap:IVBases de Datos  Cap:IV
Bases de Datos Cap:IV
 
bd2-teorico01.pdf
bd2-teorico01.pdfbd2-teorico01.pdf
bd2-teorico01.pdf
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
presentacion
presentacionpresentacion
presentacion
 
Programacionnn
ProgramacionnnProgramacionnn
Programacionnn
 

Más de Luis Jherry

Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cableLuis Jherry
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventosLuis Jherry
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesLuis Jherry
 
Selección de personal
Selección de personalSelección de personal
Selección de personalLuis Jherry
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medicoLuis Jherry
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feriaLuis Jherry
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turísticoLuis Jherry
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresosLuis Jherry
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcciónLuis Jherry
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en tiLuis Jherry
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones minerasLuis Jherry
 

Más de Luis Jherry (20)

Tienda de ropa
Tienda de ropaTienda de ropa
Tienda de ropa
 
Telefonos
TelefonosTelefonos
Telefonos
 
Suscripciones
SuscripcionesSuscripciones
Suscripciones
 
Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cable
 
Software s
Software sSoftware s
Software s
 
Sistema escolar
Sistema escolarSistema escolar
Sistema escolar
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventos
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renales
 
Selección de personal
Selección de personalSelección de personal
Selección de personal
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medico
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feria
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turístico
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresos
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcción
 
Museo
MuseoMuseo
Museo
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en ti
 
Hostal
HostalHostal
Hostal
 
Hostal ii
Hostal iiHostal ii
Hostal ii
 
Gimnasio
GimnasioGimnasio
Gimnasio
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones mineras
 

Último

Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbalPPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbalRosarioChoque3
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 

Último (20)

Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
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
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbalPPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 

Algebra relacional

  • 1. Lenguajes de Manipulación de Datos Profesor: MS Luis Serna Jherry
  • 2. Lenguajes de Manipulación de Datos  Son lenguajes que el usuario utiliza para consultar y modificar la base de datos.  Procedimentales: Se instruye al sistema para llevar a cabo una serie de operaciones en la BD para calcular el resultado (Álgebra Relacional)  No Procedimentales: Se describe la información deseada sin establecer el procedimiento para obtenerla (Cálculo Relacional)
  • 3. Lenguajes de Manipulación de Datos – Evolución histórica  Junio 1970 – E. Codd “A relational Model of data for large shared databanks”  1974 – SEQUEL (laboratorios de IBM)  1976 – SQL (SEQUEL 2)  Década del 80 – Se comercializan productos basados en SQL  SQL/86, SQL/89, SQL/92 Estándares ANSI  SQL/99 para soporte de datos de naturaleza compleja
  • 4. Álgebra Relacional  Es un lenguaje de procedimientos de alto nivel que permite, mediante el uso de ciertos operadores, derivar las tablas deseadas desde las tablas base del modelo relacional.  Consta de un conjunto de operadores que toman como entrada una o dos relaciones y producen como resultado una nueva relación.
  • 5. Álgebra Relacional  Operaciones fundamentales: Selección, Proyección, Unión, Diferencia, Prod ucto Cartesiano y Renombramiento  Otras operaciones, que pueden definirse en términos de las operaciones fundamentales: Intersección, Reunión natural (JOIN) y División
  • 6. El Algebra Relacional en el DBMS Expresión optimizada Expresión Plan de Código en álgebra SQL en álgebra ejecución ejecutable relacional relacional Generador analizador de código Optimizador de Consultas DBMS
  • 7. Operadores Relacionales  SELECCIÓN Extrae tuplas de una relación dada que satisfacen una condición específica. Símbolo: (sigma) Término Común: (WHERE) Notación: condición (Relación)
  • 8. Operadores Relacionales  SELECCIÓN Prestamo N_Sucursal #Prestamo $Importe Miraflores P-17 200,000 La Aurora P-23 400,000 Lima Cercado P-15 300,000 Chacarilla P-14 300,000 Primavera P-93 100,000 Surquillo P-11 180,000 La Molina P-16 260,000 N Sucursal = <Miraflores> (Prestamo) N_Sucursal #Prestamo $Importe Miraflores P-17 200,000
  • 9. Operadores Relacionales  PROYECCIÓN Extrae atributos específicos de una relación dada Símbolo: Término Común: PROJECT Notación: atributo 1, atributo 2, ... Atributo n (Relación)
  • 10. Operadores Relacionales  PROYECCIÓN # Préstamo, $ Importe (Préstamo) #Prestamo $Importe P-17 200,000 P-23 400,000 P-15 300,000 P-14 300,000 P-93 100,000 P-11 180,000 P-16 260,000
  • 11. Operadores Relacionales Composición de Operaciones Relacionales  El resultado de una operación relacional es una relación Las operaciones relacionales se pueden componer para formar una expresión del álgebra relacional (igual que las expresiones aritméticas) Ejemplo: Mostrar el atributo #préstamo de aquellas sucursales cuyo nombre es Miraflores de la relación Préstamo. # Préstamo ( N Sucursal = <Miraflores> (Prestamo))
  • 12. Operadores Relacionales  UNIÓN Construye una relación formada por todas las tuplas que aparecen en cualquiera de dos relaciones especificas, eliminándose las duplicadas Símbolo: Notación: R1 R2 Término Común: UNION Las relaciones deben ser Compatibles: la misma cantidad de atributos, y los atributos correspondientes deben provenir del mismo dominio
  • 13. Operadores Relacionales EJEMPLO: Se desea averiguar todos los clientes que tienen una cuenta, un préstamo o ambos: Titular_cuenta Prestatario N_Cliente #Cuenta N_Cliente #Prestamo Santos C-101 Santos P-17 Gómez C-215 Gómez P-23 López C-102 López P-15 Abril C-305 Soto P-14 González C-201 Pérez P-93 Santos C-217 Gómez P-11 Rodríguez C-222 Fernández P-16
  • 14. Operadores Relacionales  UNION Se desea averiguar todos los clientes que tienen una cuenta, un préstamo o ambos: N Cliente (Titular_cuenta) N Cliente (Prestatario) N_Cliente González Santos Rodríguez López Abril Soto Pérez Gómez Fernández
  • 15. Operadores Relacionales  DIFERENCIA R1 Dadas dos relaciones específicas, construye una tercera relación formada por todas las tuplas de la primera relación que no aparecen en la segunda. R2 Símbolo: Notación: R1 R2 Término Común: MINUS Las relaciones deben ser Compatibles
  • 16. Operadores Relacionales  DIFERENCIA Se desea averiguar todos los clientes que tienen abierta una cuenta, pero que no tienen concedido ningún préstamo: N Cliente (Titular_cuenta) N Cliente (Prestatario) N_Cliente González Rodríguez Abril
  • 17. Operadores Relacionales  PRODUCTO CARTESIANO Dadas dos relaciones R1 A R3 A B específicas, construye a1 a2 a1 b1 una tercera relación a3 a1 b2 X a2 b1 que contiene todas las a2 b2 combinaciones posibles R2 B a3 b1 b1 a3 b2 de tuplas, una de cada b2 una de las relaciones. Símbolo: Término Común: TIMES
  • 18. Operadores Relacionales  RENOMBRAMIENTO Los resultados de las expresiones de álgebra relacional no tienen nombre, a pesar de ser relaciones. Dada una expresión E, la expresión (E) x devuelve el resultado de la expresión E con el nombre X Símbolo: ro) Término Común: RENAME
  • 19. Operadores Relacionales  RENOMBRAMIENTO También es útil para renombrar los atributos de una relación: La expresión X (A1, A2, ..., An) (E) devuelve el resultado de la expresión E con el nombre X y con los atributos con el nombre cambiado a A1, A2, ...., An
  • 20. Operadores Relacionales  RENOMBRAMIENTO - Ejemplo “Buscar el máximo saldo de la cuenta de un banco” Sucursal cuenta saldo Cuenta Miraflores C-101 100,000 La Aurora C-215 140,000 Lima Cercado C-102 80,000  Calcular primero una relación intermedia con los saldos que no son el máximo.  Realizar la diferencia entre saldo (Cuenta) y la relación intermedia calculada.
  • 21. Operadores Relacionales  RENOMBRAMIENTO - Ejemplo  Calcular una relación intermedia con los saldos que no son el máximo: • Calcular el producto cartesiano Cuenta x Cuenta • Formar una selección sobre el resultado, comparando los valores de los saldos que aparecen en una tupla cuenta.saldo ( cuenta.saldo < d.saldo (Cuenta x d (Cuenta) )
  • 22. Renombramiento - Ejemplo Cuenta x d (Cuenta) Cuenta. Cuenta. Cuenta. d. d. d. Sucursal cuenta saldo sucursal cuenta saldo Miraflores C101 100,000 Miraflores C101 100,000 Miraflores C101 100,000 La Aurora C215 140,000 Miraflores C101 100,000 Lima Cercado C102 80,000 La Aurora C215 140,000 Miraflores C101 100,000 La Aurora C215 140,000 La Aurora C215 140,000 La Aurora C215 140,000 Lima Cercado C102 80,000 Lima Cercado C102 80,000 Miraflores C101 100,000 Lima Cercado C102 80,000 La Aurora C215 140,000 Lima Cercado C102 80,000 Lima Cercado C102 80,000
  • 23. Seleccion - Ejemplo cuenta.saldo < d.saldo (Cuenta x d (Cuenta) Cuenta. Cuenta. Cuenta. d. sucursal d. cuenta d. saldo Sucursal cuenta saldo Miraflores C101 100,000 La Aurora C215 140,000 Lima Cercado C102 80,000 Miraflores C101 100,000 Lima Cercado C102 80,000 La Aurora C215 140,000
  • 24. Renombramiento - Ejemplo cuenta.saldo ( cuenta.saldo < d.saldo (Cuenta x d (Cuenta) ) Cuenta.saldo 100,000 80,000
  • 25. Renombramiento - Ejemplo Realizar la diferencia entre saldo (Cuenta) y la relación intermedia calculada. saldo (Cuenta) cuenta.saldo ( cuenta.saldo < d.saldo (Cuenta x d (Cuenta) ) saldo saldo saldo 100,000 100,000 = 140,000 140,000 80,000 80,000
  • 26. Operadores Relacionales  INTERSECCIÓN Dadas dos relaciones Compatibles específicas, construye una tercera relación formada por todas las tuplas que aparecen en ambas relaciones. Símbolo: Término Común: INTERSECT Notación: R1 R2 Equivalencia: R1 R2 = R1 - (R1 - R2)
  • 27. Operadores Relacionales  INTERSECCIÓN R1 R2 Resultado: Cabecera - idéntica a la de R1 ó R2 Cuerpo - todas las tuplas que aparecen en R1 y en R2 a la vez.
  • 28. Operadores Relacionales  INTERSECCIÓN - Ejemplo Averiguar los clientes que tienen un préstamo concedido y una cuenta abierta N Cliente (Prestatario) N Cliente (Titular-cuenta) Titular_cuenta Prestatario N_Cliente #Prestamo N_Cliente #Cuenta Santos P-17 Santos C-101 Gómez P-23 Gómez C-215 López P-15 López C-102 Abril C-305 Soto P-14 González C-201 Pérez P-93 Santos C-217 Gómez P-11 Rodríguez C-222 Fernández P-16
  • 29. Operadores Relacionales  INTERSECCIÓN - Ejemplo N Cliente (Prestatario) N Cliente (Titular-cuenta) N_Cliente Santos Gómez López
  • 30. Operadores Relacionales  FUSIÓN (JOIN) o Reunión Natural R1 A B a1 b1 R3 A B C Dadas dos relaciones a2 b2 a3 b3 a1 b1 c1 específicas, construye a2 b2 c2 una tercera relación que R2 B C combina ciertas b1 c1 selecciones, proyección b2 c2 b4 c4 y un producto cartesiano en una sola Símbolo: operación. Término Común: JOIN Notación: R1 R2
  • 31. Operadores Relacionales  FUSIÓN (JOIN) - Ejemplo “Averiguar los nombres de todos los clientes que tienen concedido un préstamo, el importe de éste y la sucursal donde se lo otorgaron” (Prestatario Préstamo) N_Cliente #Prestamo N_Sucursal #Prestamo $Importe Santos P-17 Miraflores P-17 200,000 Gómez P-23 La Aurora P-23 400,000 López P-15 Lima Cercado P-15 300,000 Soto P-14 Chacarilla P-14 300,000 Pérez P-93 Primavera P-93 100,000 Gómez P-11 Surquillo P-11 180,000 Fernández P-16 La Molina P-16 260,000
  • 32. Operadores Relacionales  FUSIÓN (JOIN) - Ejemplo Procedimiento:  Calcular el producto cartesiano de las relaciones Prestatario y Préstamo: Prestatario x Préstamo  Seleccionar las tuplas correspondientes al mismo numero-préstamo: prestatario.# Préstamo = préstamo.# Préstamo (Prestatario x Préstamo)
  • 33. Operadores Relacionales  FUSIÓN (JOIN) - Ejemplo  Realizar la proyección de nombre-cliente, sucursal número-préstamo e importe de la relación resultante (eliminando así la doble ocurrencia del # Préstamo): ( prestatario. # N Cliente, N Sucursal, préstamo.# préstamo, importe préstamo = préstamo.# préstamo (Prestatario x Préstamo)) = Prestatario Préstamo
  • 34. Operadores Relacionales  FUSIÓN (JOIN) – Ejemplo (Prestatario Préstamo) N_Cliente N_Sucursal #Prestamo $Importe Santos Miraflores P-17 200,000 Gómez La Aurora P-23 400,000 López Lima Cercado P-15 300,000 Soto Chacarilla P-14 300,000 Pérez Primavera P-93 100,000 Gómez Surquillo P-11 180,000 Fernández La Molina P-16 260,000
  • 35. Operadores Relacionales  DIVISIÓN Dadas R1 y R2, donde R2 R1 (la cabecera de R2 es un subconjunto de la R1 A B cabecera de R1) Se construye una nueva relación formada por los atributos de R1 a1 b1 a1 b4 que no están en R2, donde los valores de a2 b1 los otros atributos concuerdan con todos los a3 b4 R3 A valores de la relación R2. ÷ a1 Símbolo: R2 B Término Común: DIVIDE BY b1 Notación: R1 R2 b4 Equivalencia: T1 ( b (R1)) T2( b ((R2 x T1) – R1) T1 – T2
  • 36. Operadores Relacionales  DIVISIÓN Sean R1 = (X1, X2, ..., XM, Y1, Y2, ..., YN) R2 = (Y1, Y2, ..., YN) Consideremos (X1, ..., XM) y (Y1, ..., YN) como si fueran atributos compuestos X e Y. Entonces La relación resultante de R1 R2 es como sigue: Cabecera : X Cuerpo : tuplas (X:x) tales que (X:x, Y:y) en R1 para todas las tuplas (Y:y) en R2 R1 R2 = X y (X x R2) subconjunto de R1
  • 37. Operadores Relacionales  DIVISIÓN - Ejemplo “Hallar todos los clientes que tengan abierta una cuenta en todas las sucursales de Surco” Sucursal N_Sucursal N_Distrito Titular-cuenta (1) N_Cliente Cuenta Cuenta (1) N_Sucursal Cuenta Saldo
  • 38. N_Sucursal N_Distrito Miraflores Miraflores Sucursal La Aurora Surquillo Lima Cercado Lima Chacarilla Surco Primavera Surco Surquillo Surquillo La Molina La Molina Titular-cuenta (1) Barrios Altos Lima Cuenta (1) N_Cliente Cuenta N_Sucursal Cuenta Saldo González C-101 Chacarilla C-101 100,000 Gómez C-215 La Aurora C-215 140,000 López C-102 Lima Cercado C-102 80,000 Abril C-305 Chacarilla C-305 70,000 González C-201 Primavera C-201 180,000 Santos C-217 Surquillo C-222 140,000 Rodríguez C-222 La Molina C-217 150,000
  • 39. Operadores Relacionales  DIVISIÓN - Ejemplo “Hallar todos los clientes que tengan abierta una cuenta en todas las sucursales de Surco”  Obtener todas las sucursales de Surco: R1 = N sucursal ( Distrito = Surco ( Sucursal)) N_Sucursal Chacarilla Primavera
  • 40. Operadores Relacionales  DIVISIÓN - Ejemplo “Hallar todos los clientes que tengan abierta una cuenta en todas las sucursales de Surco”  Encontrar todos los pares (nombre-cliente, nombre-sucursal) para los que el cliente tiene una cuenta en una sucursal: R2 = N cliente, N sucursal ( Titular-cuenta Cuenta) N_Cliente N_Sucursal González Chacarilla Gómez La Aurora López Lima Cercado Abril Chacarilla González Primavera Santos La Molina Rodríguez Surquillo
  • 41. Operadores Relacionales  DIVISIÓN - Ejemplo “Hallar todos los clientes que tengan abierta una cuenta en todas las sucursales de Surco”  Hallar los clientes que aparecen en R2 con los nombres de todas las sucursales de R1: N cliente, N sucursal ( Titular-cuenta Cuenta) N sucursal ( N Distrito = Surco ( Sucursal)) N_Cliente González
  • 42. Precedencia de Operadores Relacionales  Proyección  Selección  Producto cartesiano  JOIN, División  Intersección  Unión, Diferencia El producto y el join son asociativos y conmutativos
  • 43. Ejemplos de Operaciones Relacionales Considere el siguiente esquema relacional: CLIENTE: (C_cliente, N_cliente, T_cli_direccion, Npais, $SaldoIni, $SaldoAct) VENDEDOR: (C_vendedor, N_vendedor, C_jefe, N_oficina, %Comision) PRODUCTO: (C_producto, N_producto, C_fabricante, $Costo, $Precio) FABRICANTE: (C_fabricante, N_fabricante, T_fab_direccion, N_pais) VENTA: (D_venta, C_cliente, C_vendedor, C_producto, Q_unidades)
  • 44. Ejemplos de Operaciones Relacionales C_vendedor N_vendedor C_jefe N_oficina %Comision 10 Rodney Jones 27 Chicago 10 14 Masaji Matsu 44 Tokyo 11 23 Francoise 35 Bruselas 9 Moire 37 Elena Horna 12 Bs. Aires 13 39 Goro Azuma 44 Tokyo 10 27 Terry Cardoso Chicago 15 44 Albert Ige 27 Tokyo 12 35 Brigit Bovary 27 Bruselas 11 42 Bruno Sánchez 27 Bs. Aires 10
  • 45. Ejemplos de Operaciones Relacionales Unión Si consideramos: Vendedor_subordinado: todos aquellos que tienen un jefe Vendedor_jefe: todos aquellos que son jefe de alguien  Vendedor = Vendedor_subordinado Vendedor_jefe
  • 46. Ejemplos de Operaciones Relacionales Intersección Jefes de nivel intermedio: Vendedor_subordinado Vendedor_jefe C_VENDEDOR N_VENDEDOR C_JEFE OFICINA %_COMISION 44 Albert Ige 27 Tokyo 12 35 Brigit Bovary 27 Bruselas 11 12 Bruno Sánchez 27 Bs. 10 Aires
  • 47.
  • 48. Ejemplos de Operaciones Relacionales Selección Vendedores de Tokyo: oficina=“Tokyo” (Vendedor) C_VENDEDOR N_VENDEDOR C_JEFE OFICINA %_COMISION 14 Masaji Matsu 44 Tokyo 11 39 Goro Azuma 44 Tokyo 10 44 Albert Ige 27 Tokyo 12
  • 49. Ejemplos de Operaciones Relacionales Selección Información de los vendedores de la oficina de Tokyo que tienen una comisión mayor a 11% oficina=“Tokyo”and %_comision > 11 (Vendedor) C_VENDEDOR N_VENDEDOR C_JEFE OFICINA %_COMISION 44 Albert Ige 27 Tokyo 12
  • 50. Ejemplos de Operaciones Relacionales Proyección Nombres de los vendedores que tienen una comisión menor que 11 % N_Vendedor ( %_comision < 11 (Vendedor)) N_VENDEDOR Rodney Jones Francois Moire Goro Azuma Bruno Sánchez
  • 51. Ejemplos de Operaciones Relacionales Fusión (Join) Nombres de los clientes que han comprado el producto 2518 N_Cliente (( C_producto =2518 (Venta)) (Cliente))
  • 52. Ejemplos de Operaciones Relacionales Muestre los nombres de los vendedores cuyos jefes obtienen una tasa de comisión mayor al 11 %  Multiplicar Vendedor por sí mismo: d (Vendedor) X Vendedor  Seleccionar las filas donde la primera ocurrencia de Id_jefe coincide con la segunda ocurrencia de C_vendedor: ( d (Vendedor) X Vendedor.C_jefe = d.C_vendedor Vendedor))
  • 53. Ejemplos de Operaciones Relacionales Muestre los nombres de los vendedores cuyos jefes obtienen una tasa de comisión mayor al 11 %  Renombramos esta expresión, como R: R ( Vendedor.C_jefe = d.C_vendedor ( d (Vendedor) X Vendedor))  Seleccionar las filas donde la comisión del jefe sea mayor a 11, y proyectamos el nombre del vendedor: N_Vendedor ( d.%comisión > 11 (R))
  • 54. Ejemplos de Operaciones Relacionales Muestre los nombres de los vendedores cuyos jefes obtienen una tasa de comisión mayor al 11 % N_VENDEDOR Rodney Jones Masaji Matsu Goro Azuma Albert Ige Brigit Bovary Buster Sánchez