J'aurais tendance à penser que si les objets hérités ne sont pas si différents des uns des autres, c'est pas grave d'avoir un champ inutile pour un type d'objet.
Par exemple, j'imagine que le consommable aura une valeur de charge restante/utilisation, je la mettrais à "infini" (NULL) pour les nons consommable et pis c'est tout. Et de toute façon si l'objet n'est pas de type "consommable" on ignore ce champ.
Si il y a trop de diversités entre les sous-classes, je pense qu'il vaut mieux s'orienté vers une table par sous-classe (une table pour les champs communs + une table pour les champs additionnels.)
Mais c'est une question intéressante en tout cas.
Edit :
Je connais rien à RoR mais en cherchant des pistes, je suis tombé sur un blog.
La solution évoquée c'est classe principale + toutes les sous classes dans la même table.
http://strugglingwithruby.blogspot.com/2...tance.html
Par exemple, j'imagine que le consommable aura une valeur de charge restante/utilisation, je la mettrais à "infini" (NULL) pour les nons consommable et pis c'est tout. Et de toute façon si l'objet n'est pas de type "consommable" on ignore ce champ.
Si il y a trop de diversités entre les sous-classes, je pense qu'il vaut mieux s'orienté vers une table par sous-classe (une table pour les champs communs + une table pour les champs additionnels.)
Mais c'est une question intéressante en tout cas.
Edit :
Je connais rien à RoR mais en cherchant des pistes, je suis tombé sur un blog.
La solution évoquée c'est classe principale + toutes les sous classes dans la même table.
http://strugglingwithruby.blogspot.com/2...tance.html