ms fsmrel
j'ai pas bien compris comment j'exprime les contraintes (inclusion,exlusion,totalité...) sous PowerAMC 12 et sous MySql 5.0.
est ce que tu peut me donné quel que exemples ou des cours.
merci d'avance
ms fsmrel
j'ai pas bien compris comment j'exprime les contraintes (inclusion,exlusion,totalité...) sous PowerAMC 12 et sous MySql 5.0.
est ce que tu peut me donné quel que exemples ou des cours.
merci d'avance
Bonsoir,
Avec Power AMC, concernant la spécialisation des entités-types.
1) Pour définir un héritage entre Personne et Individu et entre Personne et Entreprise, utiliser l’icône qui va bien.
![]()
2) Pour une contrainte d’exclusion, cocher « Enfants mutuellement exclusifs » et/ou pour une contrainte de totalité, cocher « Complet ».
![]()
Avec MySQL :
Voyez l’instruction CREATE TRIGGER. Comme je n’utilise pas MySQL, le mieux est que vous exploriez le forum ad-hoc.
(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.
merci bcp
ça va m aidé
il me reste l'unicité entre trois entités et l'inclusion entre deux relation mai concerne un entité prici.
et est ce que tu peut me donné quelque' explication des trigger et leur intérêts.
Bonjour,
Propos ambigu. Veuillez préciser votre problème, à l’aide d’un exemple concret pour illustrer.il me reste l'unicité entre trois entités[...]
Le mieux est que vous fournissiez là aussi un exemple.[...]inclusion entre deux relation mai concerne un entité prici.
Pour faire court, disons qu’un trigger est un programme composé de requêtes SQL et dont la rédaction est à votre charge. Ce programme est attaché à une table en particulier et automatiquement activé dès qu’une opération de mise à jour de la table a lieu (INSERT. UPDATE, DELETE). Vous n’avez pas à exécuter vous-même ce programme, car c’est bien le SGBD qui s’en charge tout seul.[...]explication des trigger et leur intérêts
On peut se servir d’un trigger pour s’assurer que chaque mise à jour d’une table respecte les contraintes que l’on a définies, et en conséquence autoriser ou interdire la mise à jour. Le SGBD présente l’état de la table avant mise à jour (old) et après (new) vous permettant d’analyser la situation et de décider de la suite des opérations.
Voyez la FAQ MySQL Les nouveautés de MySQL 5.0, paragraphe B « Les triggers ».
(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.
c'est l'inclusion
c'est pour l'unicité
merci
Ajout d’une contrainte d’unicité:
Il est possible (facultatif) de donner un nom à la contrainte.
Cette contrainte peut s’appliquer à plusieurs attributs.
Si les valeurs déjà présentes dans la relation sont en contradiction avec cette
nouvelle contrainte, alors cette dernière ne sera pas appliquée et une erreur
sera générée.
Syntaxe :
ALTER TABLE relation ADD UNIQUE [contrainte] (attributs)
Exemple pour interdire tout doublon sur l’attribut fax de la relation Personnes :
ALTER TABLE Personnes ADD UNIQUE u_fax (fax)
Autre exemple fictif :
ALTER TABLE Moto ADD UNIQUE u_coul_vitre (couleur,vitre)
Bonsoir,
Concernant votre message du 26/03/2009, 15h18.
Cas de l’inclusion
Votre diagramme exprime en fait une double inclusion, car les associations-types Association_1 et Association_2 jouent manifestement un rôle symétrique : tout élément de l’entité-type Entite_3 qui participe à l’association-type Association_1 doit aussi participer à l’association-type Association_2, et tout élément de l’entité-type Entite_3 qui participe à l’association-type Association_2 doit aussi participer à l’association-type Association_1. Les ensembles d’éléments qui participent à chacune des deux relations doivent être inclus l’un dans l’autre, c'est-à-dire être égaux. On appelle cela une contrainte d’égalité (=, ou « simultanéité », S).
En passant au niveau SQL, vous serez obligé de définir un trigger pour garantir le respect de la contrainte.
Cas de l’unicité
Vous utilisez la notation Merise. Considérons que les attributs qui sont les identifiants des entités-types Entite_1, Entite_2 et Entite_3 ont respectivement pour nom : Id_1, Id_2, Id_3. Au niveau du MLD, pour Power AMC, la clé primaire de la table Association_2 est
{Id_1, Id_2, Id_3}.En effet, Power AMC ne sait pas ce qu’est une contrainte d’unicité (CIF en Merise).
Pour éviter un trigger, au niveau du MLD vous modifierez manuellement la composition de cette clé primaire en la réduisant à
{Id_1, Id_3}.Vous pouvez aussi remplacer la notation Merise par la notation Entité/Relation et régler directement le problème au niveau 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.
merci beaucoup
c'était gentil de ta part.
Pour l'unicité j'avais 1 autre idée mais c'était presque la même.
J'ai fait une contrainte unique pour les deux identifiants de l'unicité.
Partager