Algebra Relacional UNJBG 2011

download Algebra Relacional UNJBG 2011

of 14

Transcript of Algebra Relacional UNJBG 2011

  • 8/3/2019 Algebra Relacional UNJBG 2011

    1/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Asignatura : Base de Datos y SistemasDistribuidos

    Fecha de la sesin de clase: Lunes 18 de Abril del 2011

    Este archivo tiene: 27 diapositivas

    Ing. Edgar Taya AcostaUniversidad Nacional Jorge Basadre Grohmann de Tacna

    Objetivo General

    Reconocer y aplicar el lgebrarelacional mediante sus concepciones

    bsicas.

  • 8/3/2019 Algebra Relacional UNJBG 2011

    2/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Competencias

    Identifica los operadores del lgebrarelacional.

    Forma consultas con el algebrarelacional.

    Combina operadores para realizarconsultas complejas de recuperacin dedatos.

    En la siguiente aplicacin:

    Ejemplo Motivacional

    FIGURA 1: Ventana de aplicacin Deuda del AbonadoFuente:Elaboracin Propia.

  • 8/3/2019 Algebra Relacional UNJBG 2011

    3/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Como podemos apreciar en la Figura 1, seingresa el nmero telefnico de un abonado yluego si presionamos el botn Ver Deuda nosmuestra la deuda en soles segn su consumo dellamadas.

    En realidad se invoca al procedimiento

    almacenado llamado DeudaXAbonado cmopodemos apreciar en el cdigo 1, con elargumento @nume, que es el nmero queingresamos en la caja de texto.

    CDIGO 1: Cdigo fuente en Visual Basic de la aplicacin

    Deuda del AbonadoFuente:Elaboracin propia

  • 8/3/2019 Algebra Relacional UNJBG 2011

    4/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    El procedimiento almacenado tiene elsiguiente cdigo:

    CDIGO 2: Cdigo fuente en Transact-SQL 2005 del procedimiento

    almacenado denominado DeudaXAbonado

    Fuente:Elaboracin propia

    Como vern es una consulta en SQL donde tenemosun SELECT FROM WHERE (Operador de seleccin)una funcin de agregado SUM con una clusulaGROUP BY (Proyeccin generalizada y funciones deagregacin), su expresin algebraica es la siguiente:

    nro_telefonico, nro_telefonico Gsum(importe) as deuda(Deudas.nro_telefonico =@nume (Deudas))

    Ahora que ya sabemos que hay detrs de unasimple aplicacin entendemos la importancia deconocer los fundamentos de los lenguajes deconsulta en este caso particular del lgebrarelacional.

  • 8/3/2019 Algebra Relacional UNJBG 2011

    5/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    EL LGEBRA RELACIONAL

    El lgebra relacional es un lenguaje de consulta procedimental.Consta de un conjunto de operaciones que toman comoentrada una o dos relaciones y producen como resultado unanueva relacin.

    Las operaciones fundamentales del lgebra relacional sonseleccin, proyeccin, unin, diferencia de conjuntos, productocartesianoy renombramiento. Adems de las operacionesfundamentales hay otras operaciones, por ejemplo, interseccin

    de conjuntos, reunin natural, divisin y asignacin.

    Estas operaciones se definirn en trminos de las operacionesfundamentales.

    Operaciones fundamentales

    Las operaciones seleccin, proyeccin y renombramiento se

    denominan operaciones unarias porque operan sobre una solarelacin. Las otras tres operaciones operan sobre pares derelaciones y se denominan, por lo tanto, operaciones binarias.

    La operacin seleccin

    La operacin seleccin selecciona tuplas que satisfacen unpredicado dado. Se utiliza la letra griega sigma minscula () paradenotar la seleccin. El predicado aparece como subndice de .La relacin del argumento se da entre parntesis a continuacin de. Por tanto, para seleccionar las tuplas de la relacin prstamoenque la sucursal es Navacerrada hay que escribir

    nombre-sucursal = Navacerrada (prstamo)

  • 8/3/2019 Algebra Relacional UNJBG 2011

    6/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Si la relacin prstamoes como se muestra:

    FIGURA 2: Relacin prstamoFuente: Silberschatz, A., Korth, H.F., & Sudarshan S. (2007)

    Entonces la relacin que resulta de la consulta anterior es

    como se muestra en la Figura 3.

    FIGURA 3 Resultado de nombre-sucursal = Navacerrada (prstamo)Fuente: Silberschatz, A., Korth, H.F., & Sudarshan S. (2007).

  • 8/3/2019 Algebra Relacional UNJBG 2011

    7/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    La operacin proyeccin

    Supngase que se desea hacer una lista de todos los nmeros deprstamo y del importe de los mismos, pero sin que aparezcan los nombresde las sucursales. La operacin proyeccin permite producir esta relacin.La operacin proyeccin es una operacin unaria que devuelve su relacinde argumentos, excluyendo algunos argumentos. Dado que las relacionesson conjuntos, se eliminan todas las filas duplicadas. La proyeccin sedenota por la letra griega mayscula pi (). Se crea una lista de losatributos que se desea que aparezcan en el resultado como subndice de

    . La relacin de argumentos se escribe a continuacin entre parntesis.

    Por tanto, la consulta para crear una lista de todos los nmeros deprstamo y del importe de los mismos puede escribirse como

    nmero-prstamo, importe(prstamo)

    La relacin que resulta de esta consulta se muestra en la Figura 4.

    FIGURA 4. Nmeros de prstamo y sus importes.Fuente: Silberschatz, A., Korth, H.F., & Sudarshan S.

    (2007)

  • 8/3/2019 Algebra Relacional UNJBG 2011

    8/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Funciones de agregacin Las funciones de agregacin son funciones que toman

    una coleccin de valores y devuelven como resultado un

    nico valor. Por ejemplo, la funcin de agregacin sum tomaun conjunto de valores y devuelve la suma de los mismos.

    Por tanto, la funcin sum aplicada a la coleccin{1, 1, 3, 4, 4, 11}

    devuelve el valor 24. La funcin de agregacin avg devuelvela media de los valores. Cuando se aplica al conjunto

    anterior devuelve el valor 4. La funcin de agregacin countdevuelve el nmero de elementos del conjunto, y devolvera

    6 en el caso anterior. Otras funciones de agregacin

    habituales son min y max, que devuelven el valor mnimo yel mximo de la coleccin; en el ejemplo anterior devuelven

    1 y 11, respectivamente.

    Las colecciones en las que operan las funciones de

    agregacin pueden tener valores repetidos; el orden en el

    que aparezcan los valores no tiene importancia. Estas

    colecciones se denominan multiconjuntos. Los conjuntosson un caso especial de los multiconjuntos, en los que slohay una copia de cada elemento.

    Para ilustrar el concepto de agregacin se utilizar la

    relacin trabajo-por-horas descrita en la Figura 21, que

    muestra los empleados a tiempo parcial. Supngase que se

    desea averiguar la suma total de los sueldos de los

    empleados del banco a tiempo parcial. La expresin del

    lgebra relacional para esta consulta es:

    Gsum(sueldo) (trabajo-por-horas)

  • 8/3/2019 Algebra Relacional UNJBG 2011

    9/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    FIGURA 21. La relacin trabajo-por-horas.Fuente: Silberschatz, A., Korth, H.F., & Sudarshan S.

    (2007)

    El smbolo G es la letra G en el tipo de letra caligrfico; se lee Gcaligrfica. La operacin del lgebra relacional G significa que se debeaplicar agregacin, y el subndice indica la operacin de agregacin aaplicar. El resultado de la expresin anterior es una relacin con un nico

    atributo, que contiene una sola fila con un valor correspondiente a la sumade los sueldos de todos los trabajadores que trabajan en el banco a tiempoparcial.

    Hay casos en los que se deben borrar los valores repetidos antes decalcular una funcin de agregacin. Si se desean borrar los valoresrepetidos hay que utilizar los mismos nombres de funciones que antes, conla cadena de texto distinct precedida de un guin aadida al final delnombre de la funcin (por ejemplo, count-distinct). Un ejemplo se da en laconsulta Averiguar el nmero de sucursales que aparecen en la relacintrabajo-por-horas. En este caso, el nombre de cada sucursal slo secuenta una vez, independientemente del nmero de empleados quetrabajen en la misma. Esta consulta se escribe de la manera siguiente:

    Gcount-distinct(nombre-sucursal) (trabajo-por-horas)

  • 8/3/2019 Algebra Relacional UNJBG 2011

    10/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Para la relacin mostrada en la Figura 21 el resultado de esta consulta es elvalor 3.

    Supngase que se desea hallar la suma total de sueldos de todos losempleados a tiempo parcial en cada sucursal del banco por separado, enlugar de hallar la suma de sueldos de todo el banco. Para ello hay quedividir la relacin trabajo-por-horas en grupos basados en la sucursal yaplicar la funcin de agregacin a cada grupo.

    La expresin siguiente obtiene el resultado deseado utilizando el operadorde agregacin G:

    nombre-sucursal Gsum(sueldo) (trabajo-por-horas)

    El atributo nombre-sucursalsubndice a la izquierda de G indica que larelacin de entrada trabajo-por-horas debe dividirse en grupos de acuerdocon el valor de nombre-sucursal. Los grupos resultantes se muestran en laFigura 22.

    FIGURA 22. La relacin trabajo-por-horasdespus de laagrupacin.

    Fuente: Silberschatz, A., Korth, H.F., & Sudarshan S. (2007)

  • 8/3/2019 Algebra Relacional UNJBG 2011

    11/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    La expresin sum(sueldo) en elsubndice derecho de Gindica que, paracada grupo de tuplas (es decir, paracada sucursal) hay que aplicar lafuncin de agregacin sum al conjuntode valores del atributo sueldo. La

    relacin resultante consiste en las tuplascon el nombre de la sucursal y la sumade los sueldos de la sucursal, como semuestra en la Figura 23.

    FIGURA 23. Resultado de nombre-sucursalGsum(sueldo) (trabajo-por-horas)Fuente: Silberschatz, A., Korth, H.F., & Sudarshan S. (2007)

  • 8/3/2019 Algebra Relacional UNJBG 2011

    12/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    Indicadores para medir lascompetencias adquiridas en clase

    COMPETENCIA INDICADOR ESCALA

    Identifica los operadores del lgebrarelacional.

    Cuestionario 3. Optimo2. En proceso1. Deficiente.

    Forma consultas con el algebrarelacional.

    Ejercicios calificados 3. Optimo2. En proceso1. Deficiente.

    Combina operadores para realizar

    consultas complejas de recuperacin dedatos.

    Trabajo prctico encargado Diseo de

    consultas con lgebra relacional

    3. Optimo

    2. En proceso1. Deficiente.

    Trabajo de lectura:

    Para la prxima clase leer lo siguiente: Silberschatz, A., Korth, H.F., & Sudarshan

    S. (2007). Fundamentos de Diseo de Bases de Datos. (5ta Edicin, pp. 36-59 ).

    Madrid: McGraw-Hill/Interamericana.

    Luego de la lectura subir un ensayo en el Saln virtual () con plazo mximo el 14

    de Junio del 2011.

    Actividades en el entorno virtual de aprendizajehttp://edgartaya.host22.com/salonvirtual:

    Resolver el cuestionario.

    Enviar los ejercicios resueltos.

    Desarrollar y remitir el trabajo prctico.

    Participar en el foro de discusin del tema.

    Actividades para el alumnos

    http://edgartaya.host22.com/salonvirtualhttp://edgartaya.host22.com/salonvirtual
  • 8/3/2019 Algebra Relacional UNJBG 2011

    13/14

    Tema: lgebra Relacional

    Asignatura: Base de Datos y Sistemas Distribuidos - Universidad Nacional Jorge

    Basadre Grohmann de Tacna

    El alumno logr reconocer y aplicarel lgebra relacional mediante susconcepciones bsicas.

    Conclusiones

    De Miguel, A., Piattini, M. & Marcos, E. (2000).Diseo de Bases de Datos Relacionales. (1raEdicin). Madrid: AlfaOmega Grupo Editor.

    Mannino, M. (2007). Administracin de bases dedatos: Diseo y desarrollo de aplicaciones. (3raEdicin). Mxico DF: McGraw-Hill/InteramericanaEditores.

    Silberschatz, A., Korth, H.F., & Sudarshan S.(2007). Fundamentos de Diseo de Bases de Datos.(5ta Edicin, pp. 36-59). Madrid: McGraw-Hill/Interamericana.

    Bibliografa

  • 8/3/2019 Algebra Relacional UNJBG 2011

    14/14

    Tema: lgebra Relacional

    Seor, ensame lo que tengo queensear, ensame lo que aun tengo

    que aprender. Ensame elconocimiento de tu voluntad y la

    sabidura para ponerle en prctica

    San Agustn, Conf. 13; In Joan 40,10