Modérateur PHPfrance |
2575 Messages
06 avr. 2006, 17:06
lol, j'ai enfin compris le fonctionnement, je peux proposer alors une solution :
Les tables :
1. Compte d'une personne enregistrée (A)
2. Carnet d'adresse contenant les contacts d'une personne (B)
3. Contact définissant les infos utiles (Agents compris mais pas les seuls contacts possibles) (C)
4. Agents pouvant être aussi des contacts (D)
Relations entre tables :
(A) <--- 1/1 --- (B) : une personne a un carnet d'adresses (B dépond de A)
(B) --- 1/N ---> (C) : le carnet d'une personne contient N contacts (Agents compris mais pas les seuls)
(C) <--- 1 --- (D) : 1 Agent est un contact potentiel
Remarque : le sens de la flêche est une dépondence, qui sera représentée par la migration de la clé primaire en tant que clé étrangère dans le sens inverse de la flêche
Donc :
(A): Table Personne (id, ....) Clé primaire = id
(B): Table Carnet_adresse (id_personne, id_contact) Clé étrangères = id_personne et id_contact
Le carnet d'adresse est alors une association entre la personne et ses contacts
(C): Table Contact (id, nom, prenom, adresse, ville, cp, email, tel,....) Clé primaire = id
(D): Agent (id, id_contact, ....) Clé primaire = id, Clé étrangère = id_contact
Un Agent est aussi un contact
Comment utiliser le modèle :
1. une personne peut être créée sans conditions relationnelles
2. un contact peut être créé sans conditions relationnelles
3. un carnet est créé pour une personne existante et un contact existant
4. En créant un Agent, un contact est forcement créé ou existant
Une proposition de remplissage d'un carnet d'adresses d'une personne existante
Organigramme du Formulaire:
1. Saisie id Personne (choix d'une valeur existante ou nouveau)
2. Saisie Infos Contact (nouveau ou existant)
3. Enregistrer l'id personne et l'id_contact dans la table "Carnet_adresse"
4. Répéter les actions 2 et 3 pour ajouter d'autres contacts dans le carnet de la même personne
Modifié en dernier par
sadeq le 10 avr. 2006, 13:05, modifié 1 fois.
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène