Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011
-
31 août 2010 à 17:50
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
31 août 2010 à 18:57
Bonjour,
J'ai une petite question d'architecture, vous allez sans doute pouvoir m'éclairer...
Je souhaite avoir dans une application web une base Client, une Fournisseur, une Utilisateur... Bref que des personnes. Or une 'personne' a des caractéristiques commune. elle ont toute une adresse par exemple.
Alors, faut il en base de données faire quelque chose du genre :
table : Client [IdClient, Nom, Prenom, AdresseRue, AdresseCP, AdresseVille]
table : Fournisseur [IdFournisseur, Nom, Prenom, AdresseRue, AdresseCP, AdresseVille]
table : Utilisateur [IdUtilisateur, Nom, Prenom, AdresseRue, AdresseCP, AdresseVille]
Et apres, en code C# comment traiter le tout ? Les mises à jour... les inserts... ?
Je travail avec Entity data Framework, du coup, pour moi une table = Un objet apres qui va en référencer d'autre... etc etc... Du coup, je préfére la 2eme solution avec une Table [Adresse]... Mais ce qui ne me va pas trop c'est qu'il va y avoir par client une adresse par fournisseur une adresse et par utilisateur une adresse. Ce que je trouve pas très propre.
Biensur, je ne peux pas faire une table [User] ou je référencerais si c'est un Client, Fournisseur ou Utilisateur car j'ai beaucoup d'autre données autour de ces tables, et il me faut donc des tables bien séparé.
Bref, j'aimerais savoir si il y a des 'best practices' à ce sujet... ou si ca vous inspire de me donner une idée de réflexion...
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 31 août 2010 à 18:57
Salut,
C'est une bonne question.
Toutes les méthodes on des avantages et des inconvenients.
Une methode qui est utilisée dans les exemples microsoft de mémoire est
la solution 1 avec un complexe type pour l'adresse.
ce qui permet de mettre des controles commun pour les n tables.
Le schema de base de données n'est pas obligatoirement
celui de la base
Exemple
Le TPH ou TPT
Entity framework faisant les correspondance si tu maitrises bien le truc.
Il y a des exemples sur les sites techdays france pour comprendre les principes