Bonsoir,
Envoyé par
idris
J'ai éclaté ma relation en trois relations:
SUJET-----0,n----retenu-----0,n---------PROJET
PROJET------1,n----concerne-------1,n-------METIER
SUJET---------0,n------affecter----0,n------------METIER
Cela signifie que :
— Un sujet est retenu pour un projet (ou l’inverse, mais peu importe) indépendamment des métiers.
— Un projet concerne un métier indépendamment des sujets.
— Un sujet est affecté à un métier, indépendamment des projets.
A titre d'exemple, au niveau tabulaire, on pourrait donc avoir les valeurs suivantes :
1 2 3 4 5 6 7
|
Sujet Projet Projet Metier Sujet Metier
s1 p1 p1 m1 s1 m1
s1 p2 p1 m2 s1 m2
s1 p3 p1 m4 s1 m3
s2 p2 p2 m1 s2 m3
p2 m3 |
Traduisant le fait que les relations se font en toute indépendance.
Si au contraire il y a des dépendances, il faut mettre en oeuvre la relation ternaire initiale (Affecter) ou la proposition de Soutou, selon laquelle les relations Sujet - Projet préexistent, tandis que les relations avec Metier sont contraintes par les précédentes (la classe-association C2 permettant de retrouver la ternaire Affecter).
Toutefois, s’il n’y a pas indépendance, mais s’il existe par exemple une règle selon laquelle si un sujet affecte implicitement tous les métiers concernant les projets pour lesquels ce sujet est retenu, alors l’éclatement en trois relations binaires est correct, dans la mesure où l'on est à même de vérifier que leur jointure naturelle est égale à la ternaire. (Pour la petite histoire, au niveau relationnel, on dit qu’il existe une dépendance de jointure et que la projection de la ternaire en trois binaires revient à normaliser en cinquième forme normale.)
N.B. Dans ce qui précède, je n’ai pas tenu compte des éventuelles propriétés portées par les relations.
Envoyé par
idris
je dois gérer une règle de gestion qui dit aussi qu'un projet peut proposer un sujet pour un autre projet.
Abstraction faite de tout ce qui précède, il y a de la réflexivité dans cette histoire. Si pour un sujet, un projet joue le rôle de déterminant vis-à-vis d’un autre projet jouant le rôle de dépendant, la représentation graphique (Power AMC) ci-dessous pourrait convenir. Si c’est pour plusieurs sujets, la cardinalité 1,1 (côté R3) est à remplacer par 1,N.
J’ai supposé qu’un projet pouvait jouer plus d’une fois le rôle de déterminant et qu’un projet pouvait jouer plus d’une fois le rôle de dépendant.
MLD correspondant :
Partager