08-06-2010, 03:31 PM
(Modification du message : 08-06-2010, 03:36 PM par Sephi-Chan.)
(08-06-2010, 03:16 PM)Argorate a écrit : Justement Sephi, j'ai eut des cours cette année, avec un chapitre entier sur les "NULL" et je sais très bien se que je dis... Mais si vous voulez gérez les NULL c'est tout a fait possible, mais moi je préfère éviter de perdre du temps et des lignes de codes à faire ça.
(Je ne vois pas le rapport avec les jointures qui marche très bien :p)
PS: Anthor, le problème des NULL ne vient pas du fait que la requête soit bien ou mal écrite mais du comportement du moteur SQL face a des NULL qui peut donnée des résultats erroné...
EDIT:
Shudrum : Ton premier lien fait peur ^^
Mais là n'est même pas le débat. Dans cette solution, les colonnes contenant potentiellement des valeurs NULL ne sont pas des foreign keys, il n'y a absolument aucun danger : tu n'auras jamais de résultat incohérent puisque tu n'utiliseras pas ces colonnes dans des conditions.
Et il se trouve que moi aussi j'ai eu des cours de SQL (cette année et les précédentes) et je maintiens que les NULL sont très bien gérées par les SGBDR. Tu as des fonctions comme IFNULL, COALESCE, etc. Une requête bien écrite ne pose pas de problème : elle sait gérer les valeurs NULL.
De plus, avec la POO, tu aurais une classe Objective avec des accesseurs pour chaque colonne et qui renvoient des exceptions (puisque les colonnes utilses dépendent du type d'exception). Cette classe disposerait de sous-classes (genre KillMobsObjective, GetObjectObjective, etc) qui implémenteraient des accesseurs vers les colonnes dont elles ont besoin (la classe à utiliser est spécifiée dans la colonne type). Voilà un exemple de plus qui illustre parfaitement que la POO apporte fiabilité et sécurité.
Alors, qu'est-ce que tu en dis ?
Sephi-Chan