Problème génération de base de donnée [P-AMC]

Résolu/Fermé
Signaler
Messages postés
7
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
22 juin 2007
-
Messages postés
7
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
22 juin 2007
-
Bonjour à tous,

J'ai un petit soucis sur la génération d'un modèle conceptuel de données. Je suis sur le logiciel Power AMC 11.
Mon MCD ressemble à ça :

Une entité "participant" : avec comme clé primaire "code_participant" ainsi que d'autre champs.
Une entité "PC" : avec comme clé primaire "code_pc" ainsi que d'autre champs.
Une association entre les deux "choisir". Comme cardinalité j'ai mis 1,1 pour qu'un participant ne puisse choisir qu'un seul pc.
Ainsi un pc peut être choisit que par un seul participant (il y a plusieurs PC, biensur) donc cardinalité 1,1 de l'autre côté aussi.

Lorsque je génère mon MCD cela fonctionne. Cependant, lorsque vient l'étape de la génération de base de donnée afin que ma conception puisse être utilisable sur phpmyadmin par exemple, cela m'affiche les erreurs suivantes :

- Abandon de la génération dû à la detection d'erreurs durant la vérification du modèle. Il s'agit là du message Box (fenêtre windows qui s'ouvre)
- cela m'ouvre aussi une fenetre power AMC avec trois erreurs :
-> Package (référence circulaire), référence choisir
-> Table (existence d'index) 'PC'
-> Table (existence d'index) 'participant'

Voila le problème. Ma question est donc où se situe l'erreur ?
Pourtant mon mcd à l'air juste. Quel est le problème ?
Merci d'avance

2 réponses

Messages postés
33678
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 janvier 2022
8 332
bonjour,

En plus du schéma d'un mcd, il faut commencer par la logique.

Tu ne peux avoir 1,1 du coté du pc car quand tu vas saisir les données de cette table, les utilisateurs eux ne vont pas exister, donc à un pc tu ne vas pas avoir un ulisateur ==> 0,1

Et dans l'autre sens, le 1,1 signifie que quand tu crees un nouvel utilisateur, en meme temps il faut que tu fasses l'association. Donc tu ne peux creer les données de la table utilisateur, puis après chosirir un pc en 2 temps. Un autre impact c'est que si tu supprimes un pc de base, par cascade cela supprime l'utilisateur !!

Donc moi je mettrai un utilisateur peut choisir 0,1 pc et un pc peut être choisi par 0,1 utilisateur. Et dans ta formulation, dans les autres champs de la table utilisateur, il faut qu'il y ai le champ num_pc et que la relation soit sur ce champ.
cdt
1
Messages postés
7
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
22 juin 2007
4
ok merci de ta réponse. en fait j'organise une lotterie pour que certains participant gagne soit un pc portable soit un pc fixe. C'est eux qui choisiront leur type de pc.

Donc ce serait mieux de creer une entité type-pc avec un code en identifiant et un libellé. Puis avec l'entité PC il y aura un num-pc. Et là j'utiliserai les cardinalité 0,1.

Pour info le mcd me sert pour qu'après sur la base de donnée je puisse mettre les infos des différents PC.

Qu'en penses-tu ? et biensur qu'en pensez vous ? ;-)
1