02-10-2011, 10:13 PM
(Modification du message : 02-10-2011, 10:14 PM par Sephi-Chan.)
(02-10-2011, 07:43 PM)Argorate a écrit : En licence pro on a vu tout les problèmes et désavantages qu'apporter les NULL dans les BDD, je n'en ai jamais utilisé et je compte donc pas le faire, c'est source d'erreurs dans les requêtes pour rien...
La valeur NULL fait partie des SGBDR, l'éviter systématiquement est tout à fait bas-de-plafond et inapproprié.
(02-10-2011, 09:16 PM)php_addict a écrit : n'hésites pas à nous en dire d’avantage
Et bien, il faut prévoir si tu dois jouer avec des valeurs NULL, sinon ça peut altérer les résultats. Notamment avec les jointures, les groupages, les agrégation, le tri, etc.
Par exemple dans le cas de jointures : si elles sont internes (INNER JOIN, ou JOIN tout seul, le INNER est implicite), si tu as une clé qui ne donne sur aucune entrée de la table jointe, la ligne entière ne sera pas ajoutée au jeu de résultat, alors que dans le cas d'une jointure externe (OUTER, LEFT, RIGHT), la ligne de la table source sera ajoutée mais les colonnes de la table jointes seront simplement à NULL.
Bref, ça peut facilement poser problème si on n'y prend pas garde. Heureusement, il y a plein d'outils pour les gérer (Working with NULL values, Comparison Functions and Operators !