2009-04-22 7 views
1

J'ai esquivé un débat houleux concernant les nulls dans la base de données aujourd'hui. Je pense que null est un excellent indicateur de valeurs non spécifiées. Tout le monde dans l'équipe, qui a une opinion, pense zéro et les chaînes vides sont la voie à suivre. Sont-ils paresseux ou suis-je trop strict?Null est-il dangereux?

+0

Imaginez un catalogue de pièces, comment différentiez-vous entre un article gratuit et un article dont le prix est inconnu? – JoshBerke

Répondre

11

Ils sont paresseux et ne comprennent pas l'idée de base d'un null dans la base de données. Les Nuls sont utiles et ont un but. Ils ne doivent être ni évités ni utilisés de manière inappropriée.

+2

Dans nos bases de données, nous avons des millions de lignes de données avec des milliards de zéros. Ils ne nous ont pas encore fait de mal (plus de dix ans d'expérience avec eux), ni à la Siegfried & Roy, nous sommes inquiets qu'ils se lèvent un jour et nous étranglent. – Cyberherbalist

3

null signifie aucune valeur alors que 0 n'a pas, si vous voyez un 0 vous ne savez pas le sens, si vous voyez un null vous savez qu'il est une valeur manquante

Je pense que sont beaucoup plus claires nulls, 0 et '' sont déroutants car ils ne montrent pas clairement l'intention de la valeur stockée

+0

exactement - l'absence de données n'est pas la même chose que les données par défaut – annakata

0

Sûrement si son non spécifié puis nul est un bon indicateur, zéro signifie quelque chose alors que null ne le fait pas. Je ne suis pas un expert DB bien ..

0

Malgré le travail supplémentaire que l'utilisation nécessite nulls je pense qu'il devrait y avoir une différence entre un champ non spécifié et un champ mis à vide ou 0.

Qui d'autre vous être capable de dire qu'un utilisateur a mis la valeur 0 exprès ou s'il n'a pas mis le champ?