Bonsoir Rifton,
Citation:
Envoyé par Rifton007
Pourquoi avoir présenté une entité MOMENTBUT pour BUT et pas pour REMPLACEMENT ?
Je pense que la difficulté vient du fait que l’entité-type JOUEUR participe deux fois à l’association REMPLACEMENT. Ce cas de figure est pris en compte dans la « norme » Merise, à savoir dans le document résumant les travaux des merisiens en 1990 (Afcet – Le formalisme de données Merise - Extensions du pouvoir d’expression - Journée d’étude organisée par le Groupe de Travail 135 « Conception des systèmes d’information » (Collège AFCET-GID) - Jeudi 15 novembre 1990, Paris), voyez la remarque 2 :
L’entité-type JOUEUR joue deux rôles par rapport à l’association JOUER : Remplaçant et Remplacé, elle est donc à la fois cible et source. Maintenant de deux choses l’une, soit WinDesign permet en l’occurrence de modéliser une CIF faisant intervenir MOMENT_REMPLACEMENT , soit le concepteur n’a pas su comment faire.
Il faudra rattraper le coup au niveau du MLD, en ajoutant les clés alternatives :
K2 = {FKMatch, MOMENT, FK_REMPLAÇANT},
K3 = {FKMatch, MOMENT, FK_REMPLACÉ}.
La clé actuelle K1 = {FKMatch, FK_REMPLAÇANT, FK_REMPLACÉ} permet seulement de s’assurer qu’au cours d’un match donné M1, un joueur J1 ne remplace pas deux fois le joueur J2.
:!: En passant, des noms tels que FKMatch sont affreux, mais bon. Par ailleurs, il est plus que vivement déconseillé d’utiliser des cédilles et des accents dans les noms.
Citation:
Envoyé par Rifton007
La cardinalités entre BUT et MOMENTBUT, n'est-elle pas de 1,1 ?
Supposons que la réponse soit affirmative : on est alors conduit à décomposer la ternaire BUT en deux binaires :
[MOMENTBUT]--1,1--------(B1)--------1,N--[MATCH]
[MOMENTBUT]--1,1--------(B2)--------0,N--[JOUEUR]
Autrement dit, si un but a été marqué au moment T1 au cours du match M1, il est alors interdit d'enregistrer le fait qu’un but a été marqué à T1 au cours du match M2. Si T1 est exprimé en minutes (Rifton a marqué à la 10e minute), selon la base de données personne n’aura pu marquer à la 10e minute dans les autres matchs, quels que soient l’heure et le jour. Si T1 est du type TIMESTAMP, et si Rifton a marqué son but le 25/01/2016 à 15:30:10 au cours du match M1, alors au cours du match M2, personne n’aura pu marquer à ce moment-là...
De la même façon , si à T1 un but a été marqué par Rifton, aucun autre joueur ne pourra marquer à ce moment-là...
Maintenant, c’est vous qui voyez...