Un MCD "bizarre"

ch_salim Messages postés 32 Statut Membre -  
clo38 Messages postés 5 Statut Membre -
salut tout le monde,
1ere Partie du probleme :

je suis en train de bosser sur un mcd qui, a vrai dire me prend la tete.
il y a un truc qui me derange...
je vous expose mon probleme :
voila, on prend une table A et une table B
Les cardinalites que l'on peut mettre sont : un "A" donne lieu a 1 ou plusieurs "B"
On peut tres bien dire egalement un "A" peut donner lieu à 0 ou 1 "B" selon le sens de la phrase... et on peut dire que les deux cardinalites sont justes ! quelles sont les regles qui regissent cela ?

exemple

2 tables : 1. Depenses 2. Personnel

Dans ce cas on peut dire :
une depense peut concerner un et un seul membre du personnel (1,1) dans ce cas, c'est une occurence et une seule de la cle primaire de depsnes qui est prise en compte....
ou ! une depense est effectuee à un ou plusieurs membres du personnel (1,n) et dans ce cas on parle des depsnes en general.... aidez moi.... ;(

2eme Partie :

on prend deux tables, une association entre les deux et on sait qu'il faut mettre une cle secondaire dans l'une des deux tables. Mais, le probleme qui se pose, c'est quelle table choisir pour mettre la cle etrangere ?
exemple : table A et B
- pourquoi mettre la cle primaire de B dans A qui devient de ce fait une cle secondaire et non l'inverse c a d, cle primaire de A dans B.... Comment savoir ?

merci pour votre aide precieuse.

--->L'informaticien toujours en quete<---

1 réponse

clo38 Messages postés 5 Statut Membre
 
Tu m'as l'air perdu !

Tu parles de relation père/fils du style :

Dépense 1,1 ------occasionner------1,N Personnel
Qui se traduit par :

Une dépense est occasionnée par 1 et 1 seul membre du personnel.
Un membre du personnel peut occasionner 1 à N dépenses
Les 2 affirmations sont vraies, elles dépendent du sens de lecture.

Dans le même ordre d'idées, "un père donne son nom à son fils".
Tu devrais donc retrouver l'identifiant du fichier personnel comme propriété du fichier dépenses.

J'espère avoir été claire !
0