Précédent   Forum des professionnels en informatique > Général Développement > Conception > Méthodes > Merise
Merise Systémique, Cycle projet (V, W), flux, traitements ... Avant de poster -> F.A.Q Merise
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2011, 11h38   #1
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Par défaut Tables et relations

Bonjour,

Jusqu'a il a quelques mois, je placais dans mes tables l'iD relation vers les tables concernées, exemple :

Citation:
TAB_PRODUIT
prd_id
prd_ref
...

TAB_COMMANDES
cmd_id
cmd_ref
prd_id

AUTRES_TABLES...
On m'a expliqué il y a quelques temps qu'il falait utiliser une table séparée pour faire ces relations...

Citation:
TAB_PRODUIT
prd_id
prd_ref
...

TAB_COMMANDES
cmd_id
cmd_ref

AUTRES_TABLES...

TAB_RELATION
prd_id
cmd_id
...

Merci d'avance pour vos réponses.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 13h10   #2
Invité de passage
 
Inscription : mai 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 8
Points : 1
Points : 1
ça doit dépendre des tes relations. Si tu as des relations *.n de chaque côté de ton asso il me semble que dans ce cas là l'asso devient une table avec comme clé primaire les clés primaires des deux tables.

Edit: corrigez moi si je me trompe
Huviel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 13h17   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 028
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 028
Points : 18 321
Points : 18 321
Envoyer un message via MSN à CinePhil
Tout dépend des cardinalités de l'association dans le MCD.

Pour savoir quoi faire selon le cas, regarde cet article de mon blog.

Dans ton cas, on distingue généralement la commande et les lignes de commandes par une réflexion successive.
1) Une commande comprend de un à plusieurs produits et un produit peut être inclu dans plusieurs commandes.
MCD :
commande -1,n----comprendre----0,n- produit

Tables :
commande (cmd_id...)
produit (prd_id...)
comprendre (cmp_id_commande, cmp_id_produit...)

La table "comprendre" représente en fait l'ensemble des lignes de commandes et c'est généralement ainsi qu'on nomme la table :
ligne_commande (lc_id_commande, lc_id_produit...)

2) Mais ensuite la livraison de ma commande peut se faire en plusieurs fois et donc toutes les lignes de commande.
La table peut ne pas changer mais le MCD doit changer si je veux faire référence à la ligne de commande car dans un MCD je ne peux pointer une association qu'entre des entités, par vers une association.

Nouveau MCD :
commande -1,n----comprendre----(1,1)- ligne_commande -(1,1)----concerner----0,n- produit
J'ai transformé l'association "comprendre" en entité associative "ligne_commande" et je peux maintenant faire une association de cette entité avec celle, par exemple, des lignes de livraison.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h59   #4
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
C'est très intérressant.

Merci beaucoup.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 16h44   #5
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Juste une question, faut-il utiliser dans la palette d'outil, l'outil « Relation » dans le cas d'une table associative, ou utiliser les outils « Lien association / Association » ?

(PowerAMC 15)

Merci beaucoup.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 01h54   #6
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 118
Points : 5 118
Par défaut Power AMC, notation : Merise vs E/R

Bonsoir,


D’après le sens de votre question, vous vous situez au niveau conceptuel (MCD).

Avec Power AMC, si vous utilisez la notation Merise (Outils > Options du modèle > paramètres du modèle, Notation : Merise), vous utiliserez « Association » pour dessiner des ronds et « Lien d’association » pour tirer les liens entre les rectangles et les ronds.

Si vous utilisez la notation E/R (Outils > Options du modèle > paramètres du modèle, Notation : E/R), vous utiliserez « Relation » pour tirer les liens entre les rectangles.

Pour reprendre l’exemple de CinePhil, on a d’abord une représentation à la Merise et ensuite une représentation E/R (au sens Power AMC) :


Vous pouvez aussi panacher les deux (Outils > Options du modèle > paramètres du modèle, Notation : E/R + Merise), voyez à ce sujet le message Notes à propos de Power AMC (dérivation MCD -> MLD).
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/09/2011, 14h33   #7
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
À quoi sert cette notation ?
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 15h59   #8
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 118
Points : 5 118
Par défaut Pourquoi les p'tits bateaux ont-ils des jambes ?

Citation:
À quoi sert cette notation ?
Laquelle ? Merise ? E/R ? Voulez-vous plutôt dire « A quoi servent ces deux notations ? »
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 18h54   #9
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
oui
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 21h03   #10
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 118
Points : 5 118
Pas très loquace le dominos...

Ces notations servent à produire des MCD (modèles conceptuels de données), c'est-à-dire représenter sous forme graphique les données et les règles de gestion de ces données.

Exemple de règle :
— Une commande est composée d’au moins un produit et un produit peut servir à composer plusieurs commandes.
— L’EAN13 est unique (deux produits ne peuvent avoir même EAN13).
— Etc.
On se situe ici au stade de la modélisation conceptuelle, où le concepteur ne se préoccupe que de définir le QUOI, en relation avec la Maîtrise d’oeuvre de l’entreprise. Le résultat des travaux est consigné dans un dossier de conception.

Un AGL tel que Power AMC permet de travailler autrement qu’à l’aide du seul crayon, de la gomme et du patatographe qui vont avec. Cet AGL propose plusieurs notations, dont la notation Merise et la notation E/R. Le choix de l’une d’entre elles est une affaire de goût et d’habitude. Au sein de ce forum, les gens utilisent le plus souvent celle de Merise, mais d’autres préfèrent une autre notation, par exemple parce qu’ils n’aiment pas les ronds, peut-être parce qu’on ne peut pas tirer un lien d’association entre deux ronds ou parce ceux-ci surchargent les schémas, ou pour tout autre motif. Quoi qu’il en soit, une fois qu’on a choisi sa notation, on a généralement du mal à accepter d’en utiliser une autre...

Une fois que la Maîtrise d’œuvre a signé comme quoi elle est d’accord sur le dossier de conception, on en vient à dériver le MCD en MLD (modèle logique de données), de préférence à l’aide de l’AGL, ce qui est beaucoup plus sûr et rapide. Ce MLD fait lui aussi l’objet d’une représentation graphique et y sont mis met en œuvre des concepts relevant du modèle ANSI (par exemple les sets du diagramme de Bachman) ou du modèle SQL (clés primaires et étrangères, etc.)

Grâce à l’AGL, à partir du MLD vous pourrez générer automatiquement le code de création de la base de données.

Je ne sais pas si j'ai répondu à votre interrogation...

Conseil de lecture à propos du niveau conceptuel : Parlez-vous Merise ? cadeau de Michel Diviné.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 12h39   #11
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Un peu cocasse aussi...

Merci pour ces renseignements.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 13h51   #12
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 028
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 028
Points : 18 321
Points : 18 321
Envoyer un message via MSN à CinePhil
Citation:
autrement qu’à l’aide du seul crayon, de la gomme et du patatographe qui vont avec.
J'adore !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h38.


 
 
 
 
Partenaires

Hébergement Web