Envoyé par
RZinaoui
Je n'ai fait qu'appliquer une règle de normalisation disant:
- Pour une valeur donnée de l'identifiant de l'association, chaque attribut de cette association doit avoir une et une seule valeur
Vous avez dit :
Donc la règle de la dépendance fonctionnelle n'est pas vérifiée ce qui fait on doit créer une nouvelle entité nommée DATE DE SORTIE. Qu'en pensez vous ?
Bon, on va reprendre calmement ^^.
On savoir qui a utilisé quoi et quand.
Dans mon diagramme, J'ai choisi de modéliser l'utilisation. Au niveau MCD, on a donc l'entité-type UTILISATION (qui devient la table UTI dans mon MLD) ayant pour attribut un identifiant cher à Tabourier et la date de l'utilisation. Voilà pour le quand.
Règle de gestion :
Une UTILISATION utilise plusieurs ARTICLEs et un ARTICLE peut être utiliser par plusieurs UTILISATIONs.
Attention, article n'est pas à prendre au sens "1 litre d'huile" mais dans le sens plus général "de l'huile". Pour savoir combien d'huile, on va placer l'attribut quantité dans l'association. Voilà pour le quoi.
De cette régle, on a donc l'association UTILISER. Le MCD donne ceci :
UTILISATION--1,N--UTILISER--1,N--ARTICLE
Ce qui donnera donc la table JAU dans mon MLD. Attention (je l'ai déjà fait remarquer mais je tape sur le clou) ! J'avais apparemment la tête dans le cul lorsque j'ai réalisé ce MLD et certaines cardinalités sur le diagramme sont fausses et c'est le cas de celles qui nous occupent !!! (de plus, mysqlworkbench met les cardinalités à 1 par défaut, à vous de rectifier celles qui doivent être à 0) La relation entre JAU - ART devrait bien sûr porter la cadinalité N - 1. Et il en va de même pour la relation entre JAU - UTI.
Reste donc à savoir qui !
Cela donne l'entité-type ENGIN ayant pour attribut, de nouveau un identifiant technique, et son identifiant sémantique (que l'utilisateur connait).
Règle de gestion :
Un ENGIN peut effectuer plusieurs UTILISATIONs et une UTILISATION est effectuée par un ENGIN.
Ce qui donne le MCD suivant :
ENGIN--0,N--EFFECTUER--1,1--UTILISATION
Ce qui lors du passage au MLD provoquera la duplication de l'identifiant technique de la table ENG dans la table UTI comme clef étrangère afin de savoir qui a fait l'utilisation.
Et nous avons notre qui !
J'espère avoir été plus clair et je m'excuse encore des erreurs qui se sont glissées dans le MLD... Voici une version "corrigée" (j'espère n'avoir rien oublié).
Je persiste néanmoins à penser que FOR et CON sont incomplètes en l'état. Il faudrait faire une analyse plus détaillée des différentes formes des articles et des conversions à opérer entre elles mais l'idée de base est là.
Partager