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

#21 Alfredo Novoa
03/12/2007 - 23:28 | Informe spam
On 3 dic, 19:45, "Leonardo Azpurua" <l e o n a r d o [arroba] m v p s
[punto] o r g> wrote:

Las cosas no son tan en blanco y negros como las pintan.



Las cosas están muy claras para el que se ha tomado la molestia de
estudiar esto un poco, pero siempre hay alguien intentando
emborronarlas.

En la práctica, las cosas funcionan más o menos así: alguien está diseñando
una base de datos, en una de cuyas tablas existe la posibilidad de que el
valor de una o más columnas sea desconocido.

Ante esa posibilidad hay tres soluciones: aceptar nulos en las columnas
correspondientes, definir un valor "artificial", ajeno al rango de variación
de la propiedad representada y usarlo como indicador de no disponibilidad o
partir la tabla.



Como ya he dicho hay más soluciones. El propio desconocimiento de algo
también es información y esa información se puede representar en
tablas. Es decir podemos crear una tabla para escribir en ella que no
conocemos algo. Además esto nos sirve para representar más cosas como
por ejemplo: valor no aplicable.

Cada uno de estos métodos tiene sus ventajas e inconvenientes.



Y de eso estamos hablando. Y resulta que hay métodos con más ventajas
y menos desventajas que otros.

Mi punto es
que cualquiera que sea la solución que adoptes tendras ventajas y
desventajas.



Eso es como no decir nada. Habrá que ver cuales son esas ventajas y
desventajas y escoger la mejor opción.

Y ya hemos visto unas cuantas de las desventajas de los nulos como por
ejemplo el enorme incremento del riesgo de errores al aumentar
exponencialmente la complejidad de las operaciones lógicas.

Aumentar el riesgo de errores implica casi siempre perder dinero.

Por más importante que sea la teoría para orientar la actividad práctica,
hay puntos en los cuales no queda más remedio que optar por algún tipo de
compromiso.



¿Y como sabemos que este es uno de esos puntos?

Habría que demostrar eso primero antes de saltarnos la teoría.

Y por supuesto aquí no se a aportado ningún argumento en favor de este
caso.

Si no queda más remedio que saltarnos la teoría pues nos la saltamos,
pero saltarnosla por capricho o ignorancia es irresponsable, sobre
todo cuando es tan peligroso.

Hagas lo que hagas, tienes un "hueco" en tu modelo de la realidad. Si
ignoras ese hueco, seguramente tendrás problemas.



Pues hasta ahora no se ha visto que la solución de partir las tablas
tenga algún problema

En mi experiencia, que vale (para mi) mucho más que la opinión más experta,
es preferible permitir nulos en una columna que complicarme la vida
partiendo tablas.



Es que no es ninguna complicación, es lo más normal del mundo, igual
que normalizar.


Saludos
Respuesta Responder a este mensaje
#22 Leonardo Azpurua
04/12/2007 - 01:04 | Informe spam
"Alfredo Novoa" escribió en el mensaje
news:

Las cosas no son tan en blanco y negros como las pintan.



Las cosas están muy claras para el que se ha tomado la molestia de
estudiar esto un poco, pero siempre hay alguien intentando
emborronarlas.




Tampoco es cosa de ponerte frenética.

¿Has estudiado mucho sobre BBDD? Pues bien, felicitaciones. Yo he estudiado
mucho sobre unas cosas, menos sobre otras y sobre muchas nada.

Me has explicado varias veces toda tu teoría sobre los nulos, y ya entendí.
Simplemente me parece que llevarla a los casos límite que tanto te preocupan
es una idiotez. ¿Quién en su sano juicio va a escribir SELECT * FROM x WHERE
Edad = Edad? ¿A quien le importa la diferencia entre no lo conozco o no sé
si lo conozco? ¿Puedes o no puedes darme la información que te pido? Eso es
lo único que me importa: lo demás son pendejadas y afán de corregir al
prójimo.

No hay que ser Einstein para darse cuenta de que si tomas en cuenta la
posibilidad de que existan nulos en una columna, los nulos no te darán
problemas. Para lo que hace falta una inteligencia media (que no te la da el
estudio, desafortunadamente) es para entender lo que dice el otro, y en eso
vas de culo a una velocidad vertiginosa.

Por más teoría que le pongas al diseño de tus bases de datos, no vas a
lograr que un chimpancé las use correctamente. Hasta ahora no he tenido
ningún problema a causa de los NULL (que, por otra parte evito siempre que
puedo). Si alguna vez los tengo paso por aquí y te cuento.

De todas maneras, ahórrate la bilis, que no pienso diseñar un SGBD.


Salud!
Respuesta Responder a este mensaje
#23 Alfredo Novoa
04/12/2007 - 01:25 | Informe spam
On 4 dic, 01:04, "Leonardo Azpurua" <l e o n a r d o [arroba] m v p s
[punto] o r g> wrote:
"Alfredo Novoa" escribió en el mensajenews:

¿Has estudiado mucho sobre BBDD? Pues bien, felicitaciones. Yo he estudiado
mucho sobre unas cosas, menos sobre otras y sobre muchas nada.



El problema es que te pones a opinar sobre una de las cosas que no has
estudido nada y haces el ridículo de forma lamentable.

Me has explicado varias veces toda tu teoría sobre los nulos, y ya entendí.



Por lo que veo aun no te has enterado de nada y la paciencia de uno no
es infinita. Ya me gustaría que esa teoría fuese mía...
Respuesta Responder a este mensaje
#24 Leonardo Azpurua
04/12/2007 - 09:12 | Informe spam
¿Has estudiado mucho sobre BBDD? Pues bien, felicitaciones. Yo he
estudiado
mucho sobre unas cosas, menos sobre otras y sobre muchas nada.



El problema es que te pones a opinar sobre una de las cosas que no has
estudido nada y haces el ridículo de forma lamentable.



Creo que el ridículo lo haces tu con ese dogmatismo autoritario.

Borges se reía de los escritorzuelos capaces de emborronar dieciocho páginas
para impedir la repetición de un simple "que". Otros nos reímos de los
teóricos capaces de partir una tabla en dos para impedir un simple NULL.

Tu autoridad son los libros, los ejemplos absurdos y los insultos. Salvo un
desprecio insultante por los argumentos no has sido capaz de demostrar
absolutamente nada.

Por lo que veo aun no te has enterado de nada y la paciencia de uno no
es infinita. Ya me gustaría que esa teoría fuese mía...



A mi también, porque si tuvieras cualquier cosa que fuese tuya tal vez
serías un poco menos intolerante.


Salud!
Respuesta Responder a este mensaje
#25 Alfredo Novoa
04/12/2007 - 11:38 | Informe spam
On 4 dic, 09:12, "Leonardo Azpurua" <l e o n a r d o [arroba] m v p s
[punto] o r g> wrote:

> El problema es que te pones a opinar sobre una de las cosas que no has
> estudido nada y haces el ridículo de forma lamentable.

Creo que el ridículo lo haces tu con ese dogmatismo autoritario.



Sigues sin entender absolutamente nada, no es dogmatismo, es ciencia.
Algo que no sabes lo que es por que eres un anti intelectual de la
peor especie, y te esfuerzas para acumular ignorancia.

Borges se reía de los escritorzuelos capaces de emborronar dieciocho páginas
para impedir la repetición de un simple "que". Otros nos reímos de los
teóricos capaces de partir una tabla en dos para impedir un simple NULL.



Y por supuesto también te reirás de los que parten una tabla para
normalizar una base de datos. Por que eso de la normalización también
será dogmatismo autoritario para ti.

A saber de cuantos más hechos cientítificos demostrados también te
ríes como un paleto.

Tu autoridad son los libros, los ejemplos absurdos y los insultos. Salvo un
desprecio insultante por los argumentos no has sido capaz de demostrar
absolutamente nada.



He demostrado lo que me has pedido sobradamente y lo sabes. SQL es
inconsistente y los miembros del comité SQL lo admiten abiertamente
(algunos de los ejemplos eran de uno de ellos). Ahora resulta que tú
sabes más que ellos y más que todos y el mundo es injusto por que no
reconoce tu genialidad.

Los errores debidos a la complejidad y a la falta de intuitividad de
la lógica de más de dos valores son algo de lo más habitual, y los
profesionales de verdad lo saben de sobra incluso mejor que los
teóricos. El ejemplo de los 840000$ de Carlos no es nada fuera de lo
común.

Además de bocazas ignorante, careces de la más mínima honestidad
intelectual (término que seguro que desconoces) y eres incapaz de
admitir que te has equivocado.

Ignoras sistemáticamente los mejores argumentos del contrario y te
dedicas a intentar emborronar las cosas. Pides algo pensando en que no
van a poder dártelo y cuando te lo dan reaccionas cambiando las reglas
y negando que te han dado lo que has pedido.

Menudo elemento.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida