Table Clients ou tables Particuliers/Sociétés ?

Bdev79 -  
 Bdev79 -
Bonsoir,

Question à la con que je me pose depuis un long moment.
Je travaille dans une entreprise qui a autant de clients particuliers que sociétés. Dans la base de données ils ont donc une table "Particuliers" et une table "Societes". Cependant cela me trouble.

Auriez vous créé comme eux une table "Particuliers" et une table "Societes" ou seriez vous partis du principe qu'un client doit être dans la table unique "Clients" et que la distinction se fait via un champ "typeClient" ?


Pour info ils utilisent une application en Symfony2. Les phases d'enregistrement client sont donc dédoublées, lors de l'ajout d'une vente, dans la table vente il y a des clés étrangères "fkSociete" et "fkParticulier" qui se remplissent selon le cas... je ne trouve pas cela pratique.
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

un client doit être dans la table unique "Clients" et que la distinction se fait via un champ "typeClient" ?

Oui c'est comme cela que je l'aurais sûrement envisagé au départ.
Mais après réflexion.. tu ne stockes pas les mêmes informations lorsqu'il s'agit d'une société ou d'une personne physique....

C'est plus la table vente où j'aurais procédé autrement.. un seul champ "fkID" et un champ précisant si c'est une personne ou une société.

0
Bdev79
 
Bonjour,

J'ai fait quelques expérimentations.
Le mieux que j'ai trouvé du côté Symfony est de faire une classe Client dont héritent les entités Particulier et Société.
Côté BDD l'application me laisse 2 choix: tout mettre dans une seule table ou créer une table Client, une table Particulier et une table Société, sachant que la table principale est Client et que si il y a besoin d'infos plus spécifiques cela fait appel à la table concernée (Particulier ou Société).
0