Es incorrecto el uso de null

30/11/2007 - 16:31 por Imac_man | Informe spam
Saludos amigos,

mis preguntas son las siguientes:

1. ¿Es una mala practica permitir que los campos de mis tablas acepten
null?, si es asi ¿que es lo correcto cuando no quiero que se guarde algo en
los campos.?
2.¿El usar null en la mayoria de mis tablas hace que los tiempos de
respuesta en los querys se vean afectados?

gracias de antemano

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
30/11/2007 - 16:43 | Informe spam
"Imac_man" escribió en el mensaje
news:
Saludos amigos,

mis preguntas son las siguientes:

1. ¿Es una mala practica permitir que los campos de mis tablas acepten
null?, si es asi ¿que es lo correcto cuando no quiero que se guarde algo
en los campos.?
2.¿El usar null en la mayoria de mis tablas hace que los tiempos de
respuesta en los querys se vean afectados?




Parte de esto ya se trató hace tiempo, pero en un foro de C#. Del mensaje 26
en adelante, es donde se proporciona más información. Espero que te sirva
(a mi desde luego me enseñó mucho)

http://groups.google.com/group/micr...ef?lnk=gst

Saludos
Respuesta Responder a este mensaje
#2 Gux (MVP)
30/11/2007 - 17:04 | Informe spam
El tema de usar nulos en bases de datos es un debate de larga historia.

Como idea general, el valor nulo representa un valor desconocido. Por
ejemplo, una columna 'edad' de tipo INT puede almacenar cualquier tipo de
valor cuando se conoce la edad y usar NULL para representar que se desconoce
ese dato.

Desde el punto de vista teórico, en el modelo relacional cada valor toma un
valor de un dominio y NULL no es considerado un valor. Muchos diseñadores
prefieren usar valores artificiales de un dominio, por ejemplo -1 sería una
edad desconocida.

Como dije al comienzo, es un tema con muchas opiniones y
ventajas/desventajas. En general se considera a los valores nulos como una
mala idea. Hay mucho material para leer, le puedo sugerir un breve artículo:

NULL values in a database: A programmer's nightmare
http://www.databasedesign-resource....abase.html



Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Imac_man" wrote:

Saludos amigos,

mis preguntas son las siguientes:

1. ¿Es una mala practica permitir que los campos de mis tablas acepten
null?, si es asi ¿que es lo correcto cuando no quiero que se guarde algo en
los campos.?
2.¿El usar null en la mayoria de mis tablas hace que los tiempos de
respuesta en los querys se vean afectados?

gracias de antemano



Respuesta Responder a este mensaje
#3 Alfredo Novoa
30/11/2007 - 17:24 | Informe spam
Hola Gux,

On Fri, 30 Nov 2007 08:04:03 -0800, Gux (MVP)
wrote:

El tema de usar nulos en bases de datos es un debate de larga historia.



Pues si.

Como idea general, el valor nulo representa un valor desconocido.



En realidad un nulo no es un valor, es una marca que indica que no hay
valor.

Desde el punto de vista teórico, en el modelo relacional cada valor toma un
valor de un dominio y NULL no es considerado un valor.



Correcto, aunque todos los valores son de un dominio.

Muchos diseñadores
prefieren usar valores artificiales de un dominio, por ejemplo -1 sería una
edad desconocida.



Yo creo que esto no nos gusta a muchos. La solución que muchos
proponen es la partición vertical de las tablas.

Lo malo es que si el SGBD es poco flexible con el modelo físico, esto
puede provocar una pérdida de rendimiento.

NULL values in a database: A programmer's nightmare
http://www.databasedesign-resource....abase.html



Gracias por el enlace.


Saludos
Alfredo
Respuesta Responder a este mensaje
#4 Alfredo Novoa
30/11/2007 - 17:31 | Informe spam
On Fri, 30 Nov 2007 17:24:46 +0100, Alfredo Novoa
wrote:

Desde el punto de vista teórico, en el modelo relacional cada valor toma un
valor de un dominio





Bueno, esto sería que cada atributo de una tupla tiene un valor.


Saludos
Alfredo
Respuesta Responder a este mensaje
#5 Leonardo Azpurua
30/11/2007 - 19:30 | Informe spam
"Alfredo Novoa" escribió en el mensaje
news:
On Fri, 30 Nov 2007 17:24:46 +0100, Alfredo Novoa
wrote:

Desde el punto de vista teórico, en el modelo relacional cada valor toma
un
valor de un dominio





Bueno, esto sería que cada atributo de una tupla tiene un valor.



Por otra parte, el dominio real de la categoría representada (mediante un
tipo de dato definido para el SGBD) puede incluir el valor NULL. Para el
caso de la Edad, por ejemplo, encuentro más correcto NULL (desconocida, no
disponible) que -1 (que sin duda está fuera del dominio de las edades,
aunque forme parte del dominio de los enteros).

Desde un punto de vista teórico, es igual de correcto o incorrecto usar NULL
que -1.

No tengo ningún problema con los NULL. De hecho, para el caso de datos como
las edades, el uso de valores artificiales (-1, por ejemplo) invalida los
resultados devueltos por cualquier función estadistica: SELECT AVG(Edad) se
vería alterado por los -1, pero no por los NULL.

Salud!
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida