MCD

Petit nouveau ! | 1 Messages

26 juin 2005, 17:47

Bonjour,

Je suis des cours du soir au CNAM en S.I. Dans une Unité de Valeur, je dois réalisée l'étude de la relation client d'une socièté ou j'ai choisi d'étudier le site ldlc.com et je souhaite réaliser le MCD pour la gestion des commandes. Ma question est la suivante : Est-ce que quelqu'un aurez un MCD type de site marchand ou de gestion des commandes ou quelques chose qui s'y rapproche.

Je vous remercie par avance .


Cordialement

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 juin 2005, 18:12

La gestion de commandes est un grand classique des modèles.
Gag : Je viens d'ailleurs de l'évoquer sur un autre sujet de ce forum !

Le noyau de ton MCD doit contenir 4 tables :
(c'est pas une obligation, mais c'est souvent fait comme ça)

- CLIENT : numéro, nom, adresse, ...
- PRODUIT : numéro, désignation, description, prix unitaire, quantité dispo en stock,...
- COMMANDE : numéro, date, montant total,...
- LIGNE DE COMMANDE : numéro, numéro du produit commandé, quantité,...

Les tables sont reliées entre elles dans cet ordre :
CLIENT ----- COMMANDE ----- LIGNE DE COMMANDE ----- PRODUIT

Attention : ce modèle est loin d'être exhaustif.
Mais c'est un bon début... ;)

Edit : Je crois me souvenir que c'est un exemple de bases fourni avec Microsoft Access...

guinnessboy2
Invité n'ayant pas de compte PHPfrance

07 juil. 2005, 14:22

Bonjour,
Quelques précisions par rapport à la réponse précédente :
Dans le cas du mcd ligne de commande n'est pas une entité mais une association.
Ligne de commande devient une table lors du passage au modèle physique.

Pour de plus amples infos sur ce problème qui est il est vrai très classique consultez le lien suivant :

http://sqlpro.developpez.com/cours/mode ... ge=passage

C'est assez complet avec les explications sur les cardinalités.

Dans le cas d'un suite marchand il faudra rajouter les attributs necessaires à l'identification des membres.

Les autres éléments (variables d'environnement, caddie etc...) sont gérés dans des sessions (php, java).

Bon Courage,

GuinnessBoy

Eléphant du PHP | 104 Messages

07 juil. 2005, 14:29

Salut,

Tu peux aussi rechercher "modele conceptuel donnees" dans Google - Images.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

07 juil. 2005, 15:06

Dans le cas du mcd, ligne de commande n'est pas une entité mais une association.
Ligne de commande devient une table lors du passage au modèle physique.
Oui et non. C'est une question de choix.
Tu peux très bien définir ligne_de_commande en association ou en entité
selon les traitements que tu souhaiteras faire sur ces données.
Mais là, on rentre dans un niveau de détail d'analyse plus fin... ;)

Petit nouveau ! | 2 Messages

08 juil. 2005, 09:34

Hello, quelques infos encore à cette adresse :

http://www.fabforce.net/dbdesigner4/scr ... emodel.png

C'est un modèle hybride entre mcd et cpd car DB designer contrairement a power designer (amc designer) ne différencie pas les différents modèles.
Sinon c'est un bon produit de modélisation (en libre de surcroit) mais le hic est que je me demande si le projet n'as pas été abandonné...

Si quelqu'un à de l'info la dessus, merci bien

Allez courage.

Mr. Leech
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 16:07

Salut,
Oui et non. C'est une question de choix.
Tu peux très bien définir ligne_de_commande en association ou en entité
selon les traitements que tu souhaiteras faire sur ces données.
Mais là, on rentre dans un niveau de détail d'analyse plus fin... ;)
N'importe quoi.
Un MCD s'occupe des données. Le MCT, des traitements. Si les deux existent, c'est justement parce qu'ils ne font pas la même chose.
A partir d'un même MCD, les traitements peuvent différer d'une entreprise à l'autre.

stkts
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 16:23

Tu peux très bien définir ligne_de_commande en association ou en entité
selon les traitements que tu souhaiteras faire sur ces données.
Tiens alors ca c'est pas mal. Premierement : tu va y mettre quoi dans ton association ligne_de_commande ? Deuxiemement : le D de MCD veut dire Données. Merise inclu une méthode pour s'occuper des traitements, puisque la définition des données n'influe en aucun cas sur les traitements... As-tu déjà vu à quoi ressemble un MCT ? Si oui, j'ai pas envie de voir à quoi il ressemble.

Tu as aussi parlé d'un ordre des tables...
Les tables sont reliées entre elles dans cet ordre :
CLIENT ----- COMMANDE ----- LIGNE DE COMMANDE ----- PRODUIT
Ca aussi c'est comique. Tu numérotes tes tables pour avoir un sens de lecture ? Depuis quand y'a un ordre dans un MCD ? Un des principes d'un MCD est que tout est en relation directe ou indirecte. Par conséquent tu peux lire un MCD en commencant par n'importe quelle table. D'ailleurs dans un MCD le mot "table" n'existe pas : on parle d'entités, qui donneront naissance à des tables dans le MLD.
Mais là, on rentre dans un niveau de détail d'analyse plus fin...

En effet, c'est trop fin, et tu as bien fait de t'arrêter là.

Bonne journée à tous :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 juil. 2005, 16:30

J'admire le courage de ces 2 personnes qui critiquent et qui ont visiblement des limites dans la conceptions

Je voudrais qu'on m'explique comment on peut génerer plusieurs MCT avec un seul et unique MCD ...

L'unique différence c'est que sur un MCD, on définit les entités physique et que les données de traitements sont sur les associations alors qu'un MCT définit les tables telles qu'elles doivent être physiquement.

Maintenant, montre moi comment tu génère plusieurs MCT différents pour un même SGBD avec Merise
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 91 Messages

13 juil. 2005, 22:25

Pauvre Clarence ....

En partant d'une question anodine il a déclenché une vrai polémique ...

PS : Je suis d'accord avec tout le monde, mais si vous voulez mon avis .... :twisted:

stkts
Invité n'ayant pas de compte PHPfrance

14 juil. 2005, 02:01

J'admire le courage de ces 2 personnes qui critiquent et qui ont visiblement des limites dans la conceptions
Y'en a pas mal à dire sur ton post mon garçon.

Alors d'une part, un MCT ne représente pas des tables, va lire tes cours, les miens je les connais.

Ensuite si tu apprend à lire, on a jamais dis qu'on générait des MCT depuis le MCD, mais on a dit que le MCT était TOTALEMENT indépendant du MCD et que ces deux choses avaient une utilité complètement différente.
Maintenant, montre moi comment tu génère plusieurs MCT différents pour un même SGBD avec Merise
Cette phrase là est amusante. Générer plusieurs MCT pour un même SGBD avec Merise... Oui voila.. Tu t'es relu ? Tu génère des MCT pour les SGBD toi ? J'étais pas au courant que les SGBD servaient aux traitements d'une entreprise. Désolé, je vais aller refaire mes deux années d'études, on donne vraiment son diplôme à n'importe qui ces temps-ci. Je retourne à l'école, à dans deux ans.

PS : zeus :
Connaître son ignorance est la meilleur part de la connaissance
Ta meilleure part de connaissance est très restreinte...
Nous ne sommes pas des machines à coder, nous aidons en cas de problèmes, mais on ne fait pas à votre place
Moi je dis heureusement quand on voit ca...

Eléphant du PHP | 102 Messages

14 juil. 2005, 02:12

Beaucoup d'agressivité pour pas grand chose. Si on se calmait ?
Désolé, je vais aller refaire mes deux années d'études, on donne vraiment son diplôme à n'importe qui ces temps-ci.
Bien que je ne doute pas de tes capacités, un diplôme n'a jamais prouvé les compétences de quelqu'un...

stkts
Invité n'ayant pas de compte PHPfrance

14 juil. 2005, 02:13

Certes, m'enfin en attendant si j'ai eu mon diplôme, ca prouve quand même que j'ai appris certaines choses... Et ici il n'est pas question de compétences, mais de connaissances, ce qui n'a strictement rien a voir.

Mr. Leech
Invité n'ayant pas de compte PHPfrance

14 juil. 2005, 02:19

Maintenant, montre moi comment tu génère plusieurs MCT différents pour un même SGBD avec Merise
Ah bin c'est sûr, ça demande de la réflexion, donc j'insisterai pas trop sur le sujet.

Reprenons vite fait.
Le MCD c'est le Modèle Conceptuel de Données. Ca ne concerne donc que les données brutes et les liens entre elles.
Le MCT c'est le Modèle Conceptuel de Traitements. Ca ne concerne donc que les traitement, c'est à dire ce qu'on fait des données.

Les mêmes données, organisées rigoureusement de la même manière, il est possible de les traiter de manières différentes.
Exemple : validation d'une commande.
Deux entreprises qui ont le même système d'information, mais n'ont pas la même taille.
Le fournisseur reçoit une commande. Dans telle entreprise, ce sera la compta qui validera la commande (paiement reçu). Dans telle autre, plus petite, ce sera le gérant (parce que c'est lui qui fait tout).
Dans le premier cas, on a plusieurs procédures à suivre pour la validation (vérification du chèque, vérification du crédit sur le compte, ...). Dans le deuxième cas, c'est quasi-instantanné.

Je sais pas, j'avais même pas besoin de l'exemple pour cerner la différence. Encore faut-il savoir ce qu'est réellement un MCT et à quoi il sert...
Penchez vous sur les certifications ISO, tout est lié...

Allez, amusez-vous bien. Oubliez pas de rentrer vos pelles et vos seaux en rentrant.

Eléphant du PHP | 104 Messages

14 juil. 2005, 04:48

Vous avez de la chance, le ridicule ne tue pas.

Les fils à Papa sortent de l'école et se précipitent dans les forums pour montrer qu'ils ont appris quelque chose. Félicitations les plus sincères.

Vous allez bientôt découvrir le monde de l'entreprise et par la même occasion la réalité, j'espère qu'elle vous fera le plus grand bien mais j'ai des doutes.

A mon avis vous ne ferez pas long feu dans le monde du travail car vous allez apprendre que très peu d'entreprises vont au-delà du modèle conceptuel. Pour le modèle physique, on clique sur un bouton et on a même le fichier pour créer la base de données, y'a plus qu'à remplir.

Vous découvrirez aussi que des ingénieurs avec bien plus que 2 ans d'étude travaillent comme des cochons. Non pas parce qu'ils ne son pas compétents mais par ce qu'il y a des impératifs de productivité, faut être rentable.

J'espère qu'à l'école on vous a enseigné l'intégrité intellectuelle et que vous tiendrez avec le même ton le même discours à vos chefs de projets.

Mais comme disais Brassens "quand on est con, on est con", donc j'ai peu d'espoir pour vous deux.