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

Résolu/Fermé
mimoprod Messages postés 7 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 22 juin 2007 - 24 mai 2007 à 11:00
mimoprod Messages postés 7 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 22 juin 2007 - 24 mai 2007 à 11:48
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

jee pee Messages postés 39577 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 220
24 mai 2007 à 11:10
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
mimoprod Messages postés 7 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 22 juin 2007 4
24 mai 2007 à 11:48
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