par
katagoto » 13 oct. 2009, 22:15
Bonsoir à toutes et à tous,
Depuis une semaine je me triture les méninges pour résoudre le problème suivant :
Je dispose des tables suivantes :
Produits(pk_produit, nom, ..., fk_categorie#)
Categories(pk_categorie, nom)
Commandes(fk_produit#, fk_panier#, nombre)
Paniers(pk_panier, etat, ..., fk_membre#)
Membres(pk_membre, ...)
Voilà le souci (chaque FK pointe sur un PK, dépendance via une clef externe via PostGreSQL)
Lorsque l'on souhaite supprimer un produit, celui-ci doit rester visible dans les paniers achetés mais disparaitre des paniers en cours et des produits disponibles. Idem pour les catégories vis-à-vis des produits.
Après avoir cherché, j'ai réduit le champs des possibilités à deux options :
* Je rajoute un champs de type booléen "supprimé" et je mets des WHERE de partout
* Je me sers des différents moyens que m'offre PostGreSQL pour "casser" ses contraintes
Voilà, sachant que je ne saurais quel moyen utiliser parmi les options disponibles.
Si vous avez des éléments qui me permettent de choisir, ou une autre possibilité, je suis preneur, bref, toute aide est la bienvenue.
Par avance merci
Bonsoir à toutes et à tous,
Depuis une semaine je me triture les méninges pour résoudre le problème suivant :
Je dispose des tables suivantes :
Produits([u]pk_produit[/u], nom, ..., fk_categorie#)
Categories([u]pk_categorie[/u], nom)
Commandes([u]fk_produit#, fk_panier#[/u], nombre)
Paniers([u]pk_panier[/u], etat, ..., fk_membre#)
Membres([u]pk_membre[/u], ...)
Voilà le souci (chaque FK pointe sur un PK, dépendance via une clef externe via PostGreSQL)
Lorsque l'on souhaite supprimer un produit, celui-ci doit rester visible dans les paniers achetés mais disparaitre des paniers en cours et des produits disponibles. Idem pour les catégories vis-à-vis des produits.
Après avoir cherché, j'ai réduit le champs des possibilités à deux options :
* Je rajoute un champs de type booléen "supprimé" et je mets des WHERE de partout
* Je me sers des différents moyens que m'offre PostGreSQL pour "casser" ses contraintes
Voilà, sachant que je ne saurais quel moyen utiliser parmi les options disponibles.
Si vous avez des éléments qui me permettent de choisir, ou une autre possibilité, je suis preneur, bref, toute aide est la bienvenue.
Par avance merci