je besoin d'une table qui stocke des éléments et des pistes lorsqu'un élément est ...Utilisation de l'héritage pour résoudre un problème de conception
- faisaient la queue
- marqué pour l'expédition
- expédié
- marqué pour le retour
- a renvoyé
Le tableau doit également indiquer combien d'éléments un cus tomer ...
- a reçu dans un mois
- a à la maison à ce moment-
J'ai essayé d'utiliser l'héritage. J'ai attribué à chaque étape un typeId
(de 1 à 5, chaque identifiant représentant l'étape en cours dans le flux de travail). Cette approche n'est pas idéale car la mise à jour d'une étape de workflow efface l'historique. Par exemple, si un article passe de shipped
(typeId 3) à returned
(typeId 5), nous perdons un compte précis des articles expédiés.
Comment dois-je aborder cette question? De plus, je préfère conserver les données dans un tableau à moins que je n'obtienne une raison impérieuse de ne pas le faire.
Mise à jour
Les articles sont envoyés par la poste aux clients progressivement. Il y a des limites au nombre d'articles qu'un client peut recevoir au cours d'une période d'un mois, et des limites sur le nombre d'articles qu'un client peut avoir à la maison à un moment donné. Pour cet exemple, supposons 4 pour plus tôt et 2 pour le dernier. Une file d'attente de clients peut contenir n'importe quel nombre d'éléments. Pour cette raison, les éléments de la file d'attente doivent être classés de sorte que l'ordre des éléments envoyés puisse être fonction de la préférence du client.
Les articles qui ont déjà été expédiés devront être retirés du classement (le client ne peut plus modifier le classement après l'envoi d'un article).
Juste pour l'enregistrement, le stockage d'une valeur de type est pas l'héritage. L'héritage implique la création de classes/sous-classes et l'héritage de membres et de données provenant d'autres classes ou objets. J'ai peut-être mal compris votre explication. –
Copie possible de http://stackoverflow.com/questions/5969536/challenging-data-modeling-problem –
@Catcall Marquage de l'autre pour suppression. J'ai fait un gâchis de la question et j'ai décidé de demander à nouveau. – Mohamad