NULL ou NOT NULL avec valeur par défaut ?

Résolu
Magashoo Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
Magashoo Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je crée une base de donnée MySQL pour un site dynamique et je me demande ce qu'il y a de mieux a faire pour l'une de mes tables.

Selon le cas, certains champs de cette tables sont amenés à être remplis ou non. Faut-il les mettre en NULL ou alors vaut-il mieux "éviter les lignes vides" (c'est ce que dit mon prof..) et plutot les définir sur NOT NULL avec une valeur par défaut ?

Qu'en pensez-vous ?
A voir également:

3 réponses

Calysto Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   7
 
On m'a souvent conseillé d'éviter les valeurs Null dans les tables aussi (perso, je ne le respect pas toujours). Mais si tu veux éviter, tu peux utiliser une valeur par défaut si elle est non renseigné (par exemple, si l'âge n'est pas renseigné, le mettre à -1 par défaut)
1
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   398
 
En général,

Champ obligatoire: NOT NULL
Sinon: NULL

Dans ton cas, NULL semble tout indiqué.
0
Magashoo Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour vos réponses !

C'est bien ça qui me dérange .. donc comme tu disais Calysto, je pense que je vais créer des valeurs par défaut.

En fait il s'agit d'une table "restaurant" qui contiendra les informations recueillies lors de l'inscription de restaurant (quasiment tous les champs sont obligatoires donc il y aura peut etre 1 champ vide sur 18).
Mais cette table est aussi utilisée lors de la suggestion de restaurant et dans ce cas, beaucoup moins d'informations sont requises (il y aura donc probablement la moins de la moitié des champs de remplis seulement).

Le but est de reprendre la fiche crée par la suggestion et de la compléter pour la passer en ligne. Donc d'un coté, ces champs vides ne sont pas voués à le rester..
0