cs_boumbo73
Messages postés107Date d'inscriptionlundi 25 octobre 2004StatutMembreDernière intervention16 décembre 2010
-
4 janv. 2006 à 15:22
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012
-
5 janv. 2006 à 00:48
Bonjour,
Voilà j'ai fait une base de données qui gère des commandes. J'ai un table COMMANDES, une table COMMANDER et une table PRODUIT. Mon pb se situe au niveau de l'intgrité référentiell et de la suppression en cascade. Si je supprime un produit, toutes les lignes de COMMANDER ou il y avait le produit que j'ai effacé vont être automatiquement supprimées, et sino je ne peux pas faire de suppression ! Le problème c'est que le produit je ne peux pas le garder dans mon catalogue, de produit car il ne peut plus être commandé ! Comment faire ?
Merci par avance !
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 4 janv. 2006 à 19:49
J'ai l'impression que tu donnes toi même la solution...
La relation est de type composition :
ta commande n'existe / n'a de sens que si elle a des lignes
de type association :
elle existe et perdure après le mariage
Non mais c'est ki ki décide....
On peut décider d'ajouter un statut valide/supprimé et de ne n'afficher
en consultation que les statuts valides.=> Cela revient à ne jamais
supprimer d'instance de produit mais à les flaguer lorsqu'on les
considère comme supprimer.
Sinon il faut faire de la redondance d'information en stockant les
éléments utils comme le code produit et le libellé + prix dans les
lignes et supprimer le lien mère fille entre ligne et produit =>qui
revient à modifier la structure et l'alimentation des lignes.
Enfin ne pas utiliser le delete cascade et conserver les factures quand bien même on ait perdu la signification des lignes....
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 5 janv. 2006 à 00:48
C'est évident qu'un produit ne doit pas être effacé de ta base à partir du moment ou une facture ou une commande comporte une référence vers celui-ci sinon ta base deviens incohérente. la solution c'est d'ajouter un champ dans ta base produit pour déterminer si le produit est supprimé ou pas.