Demande avis : Innodb or Myisam

Résolu
marwen109 Messages postés 63 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 26 mars 2012 - 19 janv. 2012 à 11:14
marwen109 Messages postés 63 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 26 mars 2012 - 19 janv. 2012 à 11:55
Bonjour,
je suis entrain de concevoir une BD , et je suis bloqué entre le choix du Moteur... j'explique :
deux tables sont reliés entre eux, comme facture et produit, une facture est composé de plusieurs produit et un produit peut existé dans plusieurs factures, conclusion => c'est une relation n:m donne naissance d'une troisième table intermédiaire...
le contrainte ici c'est que tu supprime un produit il faut garder ce produit dans les factures(autrement dit pas de suppression en cascade).


pour satisfaire ce contrainte il ne faut pas lié les tables par un clé étrangère:
si j'utilise Myisam comme moteur, ça risque de ne pas fonctionner car je programme en Java avec des TRANSACTIONs ,et Myisam ne supporte pas les transactions :/

ma question :
si j'utilise Innobdb et sans faire des clés étrangères(autrement dit des tables autonomes) ça ne cause pas des problèmes si je fait des jointures ??
le point fort c'est que Innobdb support les transactions voilà .

Merci d'avance.

2 réponses

marwen109 Messages postés 63 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 26 mars 2012
19 janv. 2012 à 11:55
bonjour,
merci pour la réponse, problème résolu ,en effet il faut ajouter un champ dans les articles par exemple statu qui prend les valeurs "supprmé" "non_supprimé"...voilà
c'est mieux que d'avoir une base de donnée barbare ..
merchi .
3
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
19 janv. 2012 à 11:39
Préférer Innobdb qui est plus complet.
perso, je préfère encore PostgreSQL
mais cela ne solutionnera pas le problème métier d'un produit qui disparait.
il faut faire une suppression logique avec un date de fin par exemple.
0