(j'ai ajouté
ope...@googlegroups.com dans les destinataires, pour ceux qui s'était inscrit il y a longtemps vous pouvez gérer votre abonnement sur
http://groups.google.com/group/opendcf)
En faite le but de l'héritage est simplement de centraliser les champs identiques dans une même table et de créer des tables supplémentaire qui vont contenir uniquement les champs distinct (ce qui est souvent utilisé quand on crée une table tiers).
Avantage :
- gain de place (dans le cas d'OpenDCF ce n'est pas un argument suffisant)
- pas de redondance de champs . Ca c'est plus interessant car en effet si on souhaite ajouter un champ dans devis_ligne, y'a de très forte chance qu'il faut l'ajouter dans commande_ligne (idem si modification de champ).
- inconvénient, ca augmente la complexité du MCD et des jointures avec des tables plus généraliste.
Quels tables seraient concernés :
commande_ligne et devis_ligne (oui ca semble interessant, tous les champs sont identiques)
commande et devis (moins interessant, il y a plusieurs champ différent, cela crérait 3 tables en tout, table_commune, champs_spécifique_devis, champs_spécifique_commande --> à réfléchir)
Je propose de créer une table ligne_dc (dc comme devis commande) regroupant commande_ligne et devis_ligne :
id_ligne_dc (clef, auto incremente)
type (devis ou commande)
id_devis_commande (l'identifiant du devis ou de la commande : c'est ce point qui me fait bizare, lorsqu'on fera des jointures il faudra toujours ajouter un WHERE type='devis' en plus du ON )
id_article (facultatif, car peut ne pas être renseigné si article libre)
autre_champ_de_l'article
autre_champ_de_l'article
autre_champ_de_l'article
autre_champ_de_l'article
Qu'en pensez vous ?
--
1G6
22 rue rhin tortu
67100 Strasbourg
Société de Services et de Formations en Logiciels Libres
http://formation.1g6.biz
Tél : 06 64 63 70 35
----- Mail Original -----
De: "Yannick Lorenz" <
ylo...@1g6.biz>
À: "Pierre-Adrien Coustillas" <
pcous...@1g6.biz>
Cc: "alain ada" <
alai...@gmail.com>,
ffe...@gmail.com, "Mohamed Thiam" <
mth...@inbox.fr>,
ts...@inbox.fr, "Emmanuel CEGO" <
ec...@inbox.fr>, "Adel Adman" <
aad...@inbox.fr>
Envoyé: Mardi 20 Avril 2010 10:21:09
Objet: Re: [OpenDCF] MCD et SVN
Bonjour à tous,
Je me permet de rajouter mon grain de sel...
Je trouve qu'il y a beaucoup de ressemblance entre les entités "commande" et "devis" et de même pour "devis_ligne" et "commande_ligne".
Ayant un peu cherché comment résoudre cela, je suis tombé ici :
http://sqlpro.developpez.com/cours/modelisation/heritage/Cela ressemble fortement au projet...
Je vous laisse y jeter un oeil !
Yannick
----- Mail Original -----
De: "Pierre-Adrien Coustillas" <
pcous...@1g6.biz>
À: "Mohamed Thiam" <
mth...@inbox.fr>,
ts...@inbox.fr, "Emmanuel CEGO" <
ec...@inbox.fr>, "Adel Adman" <
aad...@inbox.fr>
Cc: "alain ada" <
alai...@gmail.com>,
ffe...@gmail.com, "Yannick Lorenz" <
ylo...@1g6.biz>
Envoyé: Lundi 19 Avril 2010 21:16:23
Objet: [OpenDCF] MCD et SVN
Hello messieurs
N'ayant toujours pas de réponse négative d'aucun d'entre vous, j'envoie les mails à tous le monde :-)
J'ai avancé un peu sur le MCD. Il n'y a pas encore toutes les tables mais il est dispo ici : http://opendcf.1g6.biz/opendcf.mwb (à ouvrir avec mysql work bench)
Concernant le besoin de dupliquer les articles à chaque création de ligne de Devis ou Commande Yannick propose de créer une table des articles utilisés.
J'ai également ajouter dans le SVN : branches/2.0 (qui ne contient rien pour l'instant) et branches/sandbox (dans lequel zend est pret à etre utilisé dans son répertoire public).
La branche sandbox est comme son nom l'indique le bac à sable pour y rélaiser tous "vos patez" avant d'être placé dans la branches/2.0
Vous pouvez effectuer le checkout avec : svn checkout http://opendcf.googlecode.com/svn/branches/2.0 sandbox. Sur windows en client graphique svn vous pouvez utiliser le très bon tortoise .
Fred et Alain si en plus vous souhaitez effectuer des commit, demander moi que je vous envoye un mot de passe.
a+