Valores
nulos
Los valores
NULL se utilizan en bases de datos relacionales cuando el valor de una columna
se desconoce o falta. Un NULL no es ni una cadena vacía (en los tipos de datos
de caracteres o de fecha y hora) ni un valor cero (en los tipos de datos
numéricos).
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.
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.
Πnombre-cliente, límite - saldo-crédito
(información-crédito)
Πnombre-cliente, (límite – saldo-crédito) as
crédito-disponible (información-crédito)
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.
Gsum(sueldo) (trabajo-por-horas)
Gcount-distinct(nombre-sucursal)
(trabajo-por-horas)
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.
empleado (nombre-empleado, calle,
ciudad)
trabajo-a-tiempo-completo
(nombre-empleado, nombre-sucursal, sueldo)
empleado ( )trabajo-a-tiempo-completo
No hay comentarios:
Publicar un comentario