NULL y NO NULL

10/07/2008 - 18:10 por juan | Informe spam
Hola como podeis observar por la pregunta novato % aparte de int y money que
no admiten NULL, que es lo mejor para diferenciar en admitir NULL o NO NULL.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
10/07/2008 - 18:57 | Informe spam
Juan,

No entiendo tu pregunta.

Mostrar la cita
create table #t (
c1 int NULL,
c2 money NULL
)

insert into #t default values

select * from #t

drop table #t
GO

Usar una restriccion para que cierta columna acepte o null o no, es un
requerimiento que debe venir de parte de el negocio. Por ejemplo, supongamos
que quieres guardar la informacion sobre el genero de una persona, "F-
femenino", "M - masculino", que pasa si no tienes esa informacion, pues si el
negocio esta de acuerdo en que se use 'U - no conocido' entonces esta bien,
pero si no desea ningun valor predefinido, entonces podemos hacer que la
columna acepte valor null para esos casos, y tambien esta bien. En otras
palabras, no existe una regla que aplica a todo caso, cuando hablamos de
nullabilidad (disculpen la palabra si es que esta no existe en nuestro
diccionario).


AMB


"juan" wrote:

Mostrar la cita
#2 Alfredo Novoa
10/07/2008 - 21:57 | Informe spam
Hola Alejandro,

El Thu, 10 Jul 2008 09:57:00 -0700, Alejandro Mesa escribió:

Mostrar la cita
Todo lo contrario. Es una decisión del diseñador de la base de datos
independiente de las especificaciones funcionales.

Mostrar la cita
Pero "el negocio" no tiene por que saber lo que usan internamente los
sistemas informáticos. A los usuarios les trae sin cuidado como organices
la base de datos siempre que las aplicaciones muestren lo que ellos
esperan.

Mostrar la cita
Los nulos no son valores por que no pertenecen a ningún tipo y no son
iguales a si mismos.

Mostrar la cita
Hablamos de anulabilidad que si viene en el diccionario.

http://buscon.rae.es/draeI/SrvltCon...ulabilidad


Saludos
Alfredo
#3 Alejandro Mesa
11/07/2008 - 01:09 | Informe spam
Alfredo,

Si, si viene de el negocio. Cuando "el negocio" dice que se debe de entrar /
almacenar / guardar el numero de la factura y que sin este no se debe
almacenar ninguna otra informacion relacionada, este esta de una forma u
otra, indicando parte de el dominio que esa columna tendra en la base de
datos. Te esta diciendo que no acepta "null value", ni "u- no definido", etc.

Que si cierta informacion o data no es conocida, que se guarde lo que sea
mientras ese valor sea concistente, entonces te dice que la columna puede
tener "null value", "u - indefinido", o lo que el diseñador le de la gana de
poner.

No me refiero al valor null de forma textual, sino que diseñamos basados en
algo desde donde tomamos las reglas y las expresamos de acuerdo al lenguaje,
base de datos, programa, etc que usemos.

Que sea null, nothing, nil, o lo que sea que la base de datos con la que
trabajamos use, me es indiferente. Que "null" no es un valor porque no
pertenece a un tipo en especifico y ademas no es igual a si mismo, tambien me
es indiferente, que la palabra "nullabilidad" no existe en el diccionario de
la lengua española, tambien me es indiferente.


AMB


"Alfredo Novoa" wrote:

Mostrar la cita
#4 Maxi Accotto
11/07/2008 - 01:39 | Informe spam
Hola, bueno creo que por tu pregunta se vendran unos 200 post :-S. Lo mio
sera corto, la definicion de un null lo debes tomar en medida de la logica
del negocio, como bien explico Ale, no es malo usar nulos, de hecho estan y
no hacen las cosas mas lentas ni nada por el estilo, solo hay que tener
cuidado como se los maneja ya que tienen un tratado especial


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"juan" escribió en el mensaje de
noticias:g55c9u$733$
Mostrar la cita
#5 Alfredo Novoa
11/07/2008 - 01:51 | Informe spam
Hola Alejandro,

El Thu, 10 Jul 2008 16:09:00 -0700, Alejandro Mesa escribió:

Mostrar la cita
Lo que quiero decir es que cualquier información que representes usando
nulos la puedes representar de forma relacional sin usar nulos. Si yo no
quiero usar nulos me da igual lo que diga "el negocio", no los uso y punto.
De hecho casi nunca los uso por muy opcionales que sean los datos.

Mostrar la cita
Estás completamente equivocado. Lo único que te dice es que tienes que
representar de alguna forma que esa información puede faltar, pero no te
dice como debes hacerlo. Estás confundiendo la especificación con el
diseño, el "que" con el "como".

Mostrar la cita
Es decir, que dar respuestas completamente incorrectas a las dudas de los
compañeros del foro te es indiferente.


Saludos
Alfredo
Ads by Google
Search Busqueda sugerida