Algebra Relacional UNJBG 2011
-
Upload
elizabeth-callisaya -
Category
Documents
-
view
223 -
download
0
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