(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Mes excuses, voici les schémas de la partie concernée.
Je deviens un peu fainéant sur la fin :-/ (et quelques soucis personnels qui n'aident pas...)
Kropernic
Si on part du MCD suivant :
(Avec la V11 de PowerAMC) on produit le MLD suivant :
L’AGL a oublié de permuter « | » et « o » dans un des deux liens entre REPARTITION et GIFT_COMMANDE, mais ça n'est pas grave, fidèle à son principe de symétrie il a doté la table GIFT_COMMANDE d’une clé étrangère fk2 = {RepartId}, qu’il faut évidemment supprimer manuellement. Au vu de votre propre MLD, je suppose que vous l’avez fait, mais un peu violemment...
Quoi qu’il en soit, pour reprendre le MLD que j'ai obtenu, en faisant un double clic sur chacun des liens, on affiche la fenêtre « Propriétés de la référence » et au vu du contenu de l’onglet « Jointures », on identifie le lien à supprimer, en l’occurrence celui de droite (RepartId) :
Après suppression du lien perturbateur :
Si cela ne marche pas chez vous, c’est que PowerAMC ne sait plus où il habite...
Remarques
— REPARTITION est plutôt une entité-type faible car elle n’est pas autonome : elle devrait être identifiée relativement à STORE.
— A propos des phénomènes de bilocation (à un instant T, un gift ne peut pas être dans deux endroits distincts), une question :
La répartition des gifts commandés est-elle faite avant la prise en compte des gifts dans le stock du magasin ? Si c’est après, le MCD est à revoir.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Il n'est pas impossible que je sois à l'origine de ce comportement bizarre (une mauvaise manipulation quelconque à un moment ou l'autre) mais dans l'onglet jointure, je n'ai rien(cfr. pièce jointe)... Je me doutais bien que cela se jouait là mais pas moyen d'y ajouter la jointure qui va bien ...
Je vais recréer les entités et les associations... Si cela ne corrige pas le problème, je viendrai crier à l'aide ^^
P.S. : Je me demande pourquoi il m'affiche les entités en jaune dans les propriété de la relation...
Kropernic
L’onglet jointures n’est pas fait pour ajouter la partie « parent ». Le mieux est de supprimer le lien entre les deux tables et de le recréer proprement, en espérant que ça marche...
Pour la couleur jaune dans l'onglet, je n'ai pas le temps de chercher (surtout que je n'ai pas la V16 de l'AGL), mais ce phénomène est tout à fait secondaire, c'est épiphénoménal...
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Pauvre CinePhil Cela dit, MySQL Workbench a le grand avantage d’être gratuit et permet de produire du code (CREATE TABLE) où il n’y a pas beaucoup à retoucher dans le contexte SQL Server. Certes il faut virer les « ` », mais avec un « Change All » avec SQL Server c’est l’affaire de 2 secondes, même chose pour les clés alternatives et autres, c’est rapide.
@Kropernic
J’ai effectué un reverse vers MySQL Workbench du code SQL créé par PowerAMC : aucun problème. Le mieux est alors de retenir MySQL comme SGBD courant pour la génération du code SQL par AMC.
Voici par exemple une vue (Workbench permet de faire ça) où sont représentés les stocks :
Et une vue pour les commandes :
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Suis en congé aujourd'hui. Je regarderai à tout ça lundi
Merci d'avance en tout cas ! Je ne doute pas que ce sera instructif
Kropernic
WorkBench semble prometteur en effet.
Cependant, si je dois quand même tout réintroduire dans workbench, autant tout réintroduire directement dans sql server non ?
Y a quand même des gens qui attendent derrière moi :-/
Kropernic
Tant que PowerAMC est opérationnel, servez-vous en bien sûr pour produire les CREATE TABLE et faire en sorte que ceux qui attendent puissent travailler, mais cela ne doit pas vous empêcher de jouer à la rétro-conception avec MySQL Workbench quand vous avez un peu de temps libre : vous serez bien content de pouvoir vous en servir quand AMC ne sera plus disponible. Si vous avez besoin d'explications, pas de problème.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Justement, ma licence d'essai de power amc est expirée.
J'ai "triché" en la réinstallant sur une autre machine histoire de pouvoir consulter mes schémas cette machine n'est pas reliée au réseau de travail (et j'avoue ne pas avoir envie de commencer à jouer avec des clefs usb^^).
Enfin soit, ça me fera un bon exercice de création de DB ^^.
Sinon j'ai une question par rapport à l'identification relative et les performances.
J'ai déjà posé la question sur le forum approprié de sql server mais un avis supplémentaire ne ferait pas de mal je pense.
Voici le lien vers la réponse donnée par sqlpro.
Du coup, je m'interroge. Ne serait-il pas finalement préférable (pour sql server) de laisser tomber l'identification relative ?
Par exemple, pour la règle de gestion suivante :
Ensemble (enfin plutôt fsmrel tout seul ), nous avions fait le MCD suivant :Un gift peut subir plusieurs activations et une activation est subie par un gift
Est-il si dramatique de modifier le MCD comme suit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GIFT-0,1----SUBIR----(1,1)-ACTIVATION
Ce que je vois comme implication :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GIFT-0,1----SUBIR----1,1-ACTIVATION
- Les données ne seront pas regroupées lors de la sélection des activations d'un gift (mais les indexes sont là pour ça non?)
- Un trigger pour gérer l'identifiant relatif qui ne sera pas à créer
Ai-je oublié quelque chose d'important qui ferait que l'identification relative soit un réel plus ?
Merci d'avance,
Kropernic
Je vais vérifier ça, mais a priori ça ne me paraît pas bon, donc pour le moment on ne touche à rien.Est-il si dramatique de modifier le MCD comme suit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part GIFT-0,1----SUBIR----1,1-ACTIVATION
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Cette règle de gestion, si elle est juste, se traduit par l'association suivante :Un gift peut subir plusieurs activations et une activation est subie par un gift
gift -0,n----subir----1,1- activation.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 la suite Linux Mageïa !
Exact ! C'est ce qui est sur le mcd... Erreur de recopiage... My bad
Kropernic
Bonsoir/Bonjour,
J’ai fait quelques commentaires à propos de la réponse de SQLpro...
Je risque des revers décroisés, mais j’ai l’habitude.
Euh... L’identification y est relative et c’est à privilégier...
Extrait de votre MCD du 20 septembre :
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Je n'ai pas dit le contraire.Envoyé par fsmrel
En écrivant cette association :
Je ne faisais que traduire, stricto sensu, la règle de gestion émise par Kropernic.Envoyé par CinéPhil
D'ailleurs, il me semble que le choix de faire une identification relative est une décision du concepteur mais n'est pas prescrite par les règles de gestion des données, non ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 la suite Linux Mageïa !
Je sais pas ce que j'ai ces jours-ci mais j'ai du mal à me faire comprendre. C'est ennuyeux.
Ma question est, au niveau du MCD, peut-on retirer les parenthèses de la cardinalité qui se trouve du côté activation.
J'ai voulu recopier le même mcd sans ces dernières et je me suis planté de l'autre côté où j'ai mis "0,1" au lieu de "0,N".
"That's all folks !"
@fsmrel : Concernant votre réponse à sqlpro, je dois bien avouer que toutes ces choses sont encore d'un trop haut niveau pour moi actuellement. Et quant à votre question au sujet du fillfactor de la table des gifts, l'idée ne m'a même pas effleurée. Je crois (aucune certitude) que les indexes sont créés par défaut avec 80% pour ce paramètre. Ne sachant pas ce qui est bien ou mal, j'ai toujours laissé tel quel.
Kropernic
Les parenthèses symbolisent l'identification relative. Si tu les enlèves, il n'y a plus d'identification relative et l'identifiant des activations ira de 1 à N, tous gifts confondus. Si tu les laisses, l'identification des activations repart de 1 pour chaque gift.
Sans identification relative :
activation (act_id, act_id_gift...)
=> clé étrangère référençant le gift et seul l'identifiant de l'activation constitue la clé primaire de la table.
act_id / act_id_gift
1 / 1
2 / 2
3 / 1
4 / 3
5 / 2
...
Avec identification relative :
activation (act_id_gift, act_numero,...)
=> clé étrangère référençant le gift et la clé primaire de la table est constituée du couple {act_id_gift, act_numero}.
act_id_gift / act_numero
1 / 1
1 / 2
2 / 1
2 / 2
3 / 1
...
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 la suite Linux Mageïa !
Bonjour,
Rassurez-vous, on en est tous là ! surtout en ce qui concerne les coquilles... Il n’y a que ceux qui n’écrivent rien qui ne risquent pas de se planter.
A nouveau soyez rassuré, tant que le MCD n’est pas bétonné, inutile de se préoccuper trop tôt de cela. Si j’ai écrit ce que j’ai écrit, c’était plus pour justifier mon point de vue par rapport à ce qu’à écrit le pro du SQL. J’espère que ma remarque ne vous empêchera pas de dormir.
Si pour ma part j’ai mis 80%, c’est par hasard, sans connaître les valeurs par défaut de SQL Server (on ne va quand même pas s’encombrer la tête)... Vous avez bien fait de laisser tel quel et n’y pensez plus.
Et maintenant, concentrons-nous sur la finalisation du MCD.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Exactement. Cf. ma réponse à Waldar.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, 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
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Et hop, un nouveau problème lié à l'identification relative.
Je relaie la discussion ici car je pense que cela peut vous intéresser et que, de toute façon, il y a plus dans deux têtes que dans une (et à priori, plus dans y que dans x où x>y).
Bref, la saga continue ^^
Kropernic
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager