Tratamiento de los valores nulos.
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 enlazan.
Ejemplos:
Considérese las siguientes relaciones:
De las relaciones anteriores se aplican las operaciones de reunión descritas en la imagen:
Ejemplo 1-Reunión |
Ejemplo 2-Reunión |
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 (trata los nulos como cualquier otro valor al eliminar duplicados, aunque la decisión es un tanto arbitraria porque sin saber cuál es el valor real no se sabe si los dos valores nulos son duplicados o no).
Ejemplos:
Considérese la misma relación Producto y una nueva relación Cliente compras con un nuevo atributo Descuento (%):
a las que se le aplican operaciones de proyección generalizada:
Ejemplo 1-Proyección generalizada |
Ejemplo 2-Proyección generalizada |
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.
Ejemplo 2-Función de agregación cuenta (COUNT). |