Les nouveaux utilisateurs du monde des bases de données sont souvent déroutés par une valeur spéciale propre au champ, la valeur NULL. Cette valeur peut être trouvée dans un champ contenant tout type de données et a une signification toute particulière dans le contexte d'une base de données relationnelle. Il est probablement préférable de commencer notre discussion sur NULL par quelques mots sur ce qu’est NULL. ne pas :
- NULL n'est pas le nombre zéro.
- NULL n'est pas la valeur de chaîne vide (“”).
NULL est plutôt la valeur utilisée pour représenter une donnée inconnue. Souvent, les programmeurs de bases de données utilisent l'expression "une valeur NULL", mais celle-ci est incorrecte. Rappelez-vous: une valeur NULL est une valeur inconnue dans laquelle le champ apparaît vide.
NULL dans le monde réel
Prenons un exemple simple: un tableau contenant l’inventaire d’un kiosque à fruits. Supposons que notre inventaire contienne 10 pommes et trois oranges. Nous avons également en stock des prunes, mais nos informations d’inventaire sont incomplètes et nous ne savons pas combien (le cas échéant) de prunes sont en stock. En utilisant la valeur NULL, nous aurions le tableau d’inventaire présenté dans le tableau ci-dessous.
Inventaire des stands de fruits
InventoryID | Article | Quantité |
1 | Pommes | 10 |
2 | Des oranges | 3 |
3 | Prunes | NUL |
Il serait clairement erroné d’inclure une quantité de 0 pour l’enregistrement des prunes, car cela impliquerait que non prunes en inventaire. Au contraire, nous avons peut-être des prunes, mais nous ne sommes pas sûrs. Une table peut être conçue pour autoriser ou non les valeurs NULL. Voici un exemple SQL qui crée une table d'inventaire qui autorise certaines valeurs NULL: SQL> CREATE TABLE INVENTORY (InventoryID INT NON NULL, élément VARCHAR (20) NON NULL, quantité INT); La table d’inventaire ne permet pas les valeurs NULL pour la InventoryID et le Article colonnes, mais leur permet pour la Quantité colonne. Tandis que permettre une valeur NULL est parfaitement correct, les valeurs NULL peuvent poser des problèmes car toute comparaison de valeurs dont l'une est NULL entraîne toujours la valeur NULL. Pour vérifier si votre table contient des valeurs NULL, utilisez l'opérateur IS NULL ou IS NOT NULL. Voici un exemple de IS NULL: SQL> SELECT INVENTORYID, ITEM, QUANTITY OF INVENTORY OU LA QUANTITÉ N'EST PAS NUL; Compte tenu de notre exemple ici, ceci renverrait: Travailler avec des valeurs NULL produit souvent des résultats NULL, en fonction de l'opération SQL. Par exemple, en supposant que A est NULL: Opérateurs Arithmétiques Opérateurs de comparaison Ce ne sont là que quelques exemples d’opérateurs qui vont toujours Renvoie NULL si l'un des opérandes est NULL. Des requêtes beaucoup plus complexes existent et sont toutes compliquées par des valeurs NULL. Si vous autorisez les valeurs NULL dans votre base de données, comprenez-en les implications et planifiez-les. C'est nul en un mot!Pour NULL ou NOT NULL?
InventoryID Article Quantité 3 Prunes
Opérant sur des valeurs NULL