Unidad 5


Valores nulos


Es necesario analizar la forma en la que las operaciones del álgebra relacional manejan los valores nulos (y las complicaciones que surgen).
Las operaciones y comparaciones con valores nulos se deberían evitar siempre que sea posible.
Valor nulo: Valor desconocido o no existente.


Reunión

Las reuniones se pueden expresar como un producto cartesiano seguido de una selección.
La definición de la forma en la cual la selección trata los nulos también define la forma en que la operación reunión trata los nulos.
En una reunión natural, si dos tuplas tienen valor nulo en el atributo común, las tuplas no casan.

Reunión natural

Cuando se utiliza el producto cartesiano, se suele reducir forzando que los argumentos con contenidos iguales tengan valores iguales relación1    relación2
=σrelación1.argumento=relación2.argumento
(relación1 x relación2)

Reunión theta

La reunión theta permite reflejar una condición arbitraria de reunión al producto cartesiano relación   Condición relación2
=σcondición (relación x relación)


Eje 1
DNI NOMBRE DIRECCIÓN
35784843 María Gutiérrez?
La siguiente tupla:
{(dni, 35784843), (nombre, María Gutiérrez), (dirección,?)}
Que se puede denotar como tupla T, es una representación de esta función mediante pares
(Atributo, valor). En esta tupla es atributo dirección tiene valor nulo indicando que se
Desconoce la dirección de esta persona.

Eje.2
 5 < null   o   null <> null    o    null = null




Proyección Generalizada

Los nulos en las expresiones de los atributos en la proyección generalizada se tratan como en cualquier expresión.
Las tuplas duplicadas que contienen valores nulos se tratan como en la operación proyección.
La operación proyección generalizada amplía la operación proyección permitiendo que se utilicen funciones aritméticas en la lista de argumentos
Π funciones (relación)

Eje 1
Averiguar el importe de crédito disponible para cada línea de crédito activa (límite de crédito: 25000)





Funciones de Agregación

Cuando hay nulos en atributos agregados, la operación borra los valores nulos del resultado antes de aplicar la agregación.
El tratamiento de los valores nulos aquí es diferente al realizado en las operaciones aritméticas <- aplicarlo como en las operaciones aritméticas significaría que un único valor desconocido en un gran grupo podría hacer que el resultado agregado sobre el grupo fuese nulo, y se perdería una gran cantidad de información útil.
Las funciones de agregación toman como entrada una colección de valores y devuelven como resultado un valor resumen Se representa por la G caligráfica: G sum: suma de los valores avg: media de los valores count: número de valores min: valor mínimo de los valores max: valor máximo de los valores Para no repetir valores
Æ función-distinct argumento G función(argumento) (relación).

Eje 1
Averiguar la suma total de los sueldos de los empleados del banco G sum (sueldo)
(EmpleadosTP)
Averiguar número de sucursales en los que hay al menos un empleado a tiempo parcial G count-distinct (nombre sucursal)
(EmpleadosTP)


Ejem 2
Hallar la suma total de sueldos de los empleados a tiempo parcial por sucursal
nombre_sucursal G sum (sueldo)
(EmpleadosTP)









Reunión Externa

Las operaciones de reunión externa se comportan como las operaciones de reunión, excepto sobre las tuplas que no aparecen en el resultado.
La operación reunión externa es una ampliación de
La operación reunión para trabajar con información ausente (desconocida, no relevante,…)

Eje 1
Generar una única relación que contenga toda la información de los empleados (calle, ciudad, sucursal y sueldo)


Reunión externa izquierda

La reunión externa por la izquierda toma todas las tuplas de la relación de la izquierda que no coincidan con ninguna tupla de la relación de la derecha, las rellana con valores nulos en los demás atributos de la relación de la derecha y las añade al resultado de la reunión natural
Empleado          EmpleadoTC


Reunión externa derecha

La reunión externa por la derecha toma todas las tuplas de la relación de la derecha que no coincidan con ninguna tupla de la relación de la izquierda, las rellana con valores nulos en los demás atributos de la relación de la izquierda y las añade al resultado de la reunión natural
Empleado          Empleado


Reunión externa completa

La reunión externa completa realiza las operaciones de la reunión externa por la izquierda y de la reunión externa por la derecha
Empleado          EmpleadoTC


Ejercicios

Eje 1
Dada la Base de Datos, en Modelo Relacional, compuesta por los siguientes 4 esquemas
·         PRODUCTO(Fabricante, Modelo, Tipo)
·         PC(Modelo, Velocidad, RAM, Disco Duro, Precio)
·         PORTATÍL(Modelo , Velocidad,  RAM, Disco, Pantalla, Precio)
·         IMPRESORA(Modelo ,Color, Tipo, Precio)

¿Qué modelo de PC tiene una velocidad de al menos 150?
πmodelo,velocidad(σvelocidad>=150(PC)))

¿Qué fabricante produce portátiles con Disco Duro de por lo menos 1GB?
πfabricante, Disco duro(σDisco Duro>=1BG(portatiles))
               
Eje 2
Encontrar los números de modelo y el precio de todos los productos elaborados por fabricante B.
πnum_modelo and precio (producto (fabricante B))
Encontrar los números de modelo de todas las impresoras Laser Color.
πnum_modelo (Laser_color (impresoras))
Encontrar los tamaños de Disco Duro que ocurren en 2 o más computadoras personales.
πTamaño, Disco Duro (σcomputadora>=2)
Encontrar los fabricantes de al menos 2 computadoras distintas (PC ó portátiles) con una velocidad de al menos 133.
πFabricantes (σ PC >=2(σvelocidad >=130(PC)))
Encontrar  los fabricantes que venden exactamente 3 modelos de PC.
πfabricante (σmodelo = 3(PC))

No hay comentarios:

Publicar un comentario