Besoin d'aide pour modélisation base de données.
Le
Guy
Bonjour ou Bonsoir,
J'ai à modifier une base de données qui permet de gérer des immeubles et je
n'arrive pas à faire une modélisation qui se tienne.
Dans la base actuelle, j'ai une table "Immeubles" qui permet de savoir
quelles sont les entreprises qui interviennent dans un immeuble par
"métier".
Table Immeubles
- No (numéro auto)
- No comptable
- Adresse immeuble
- Affectation immeuble
- Sanitaires-Nom entreprise
- Sanitaires-Adresse entreprise
- Sanitaires-Tél entreprise
- Electricité-Nom entreprise
- Electricité-Adresse entreprise
- Electricité-Tél entreprise
et ainsi de suite.
J'ai 15 métiers différents (sanitaires, électricité, chauffage,) qui
comprennent chacun les mêmes rubriques (nom, adresse, tél, fax,).
Dans l'état actuel ça fonctionne malgré les redondances.
Le problème est que je dois ajouter 12 métiers supplémentaires avec pour
chacun plus d'une dizaine de rubriques. Les 255 champs d'une table n'y
suffiront pas et, d'autre part, il faut prévoir qu'un métier (sanitaires par
exemple) peut être géré par plus d'une entreprise.
Dans le cas d'une seule entreprise par métier le cas se résoud facilement
avec une table Entreprises dont la clé primaire pointe sur des nouveaux
champs Sanitaires, Electricité, etc. créés dans la table "Immeubles.
Mais pour une relation "plusieurs à plusieurs" je ne sais pas comment faire
pour avoir une clé primaire (ou une valeur unique créée automatiquement)
pour chaque champ métier dans la table "Immeubles".
J'envisageais les tables suivantes :
Table Immeubles
- No (numéro auto)
- No comptable
- Adresse immeuble
- Affectation immeuble
- Sanitaires (clé unique pointant sur "Sanit-Ptr" de la table "Pivot
Sanitaires")
- Electricité (clé unique pointant sur "Elect-Ptr" de la table "Pivot
Electricité")
Table Pivot Sanitaires
- Sanit-Ptr
- Entr-Ptr
Table Pivot Electricité
- Elect-Ptr
- Entr-Ptr
Table Entreprises
- No (Clé primaire) pointant sur "Entr-Ptr" des différentes tables Pivot (27
soit une par métier).
- Nom
- Adresse
- Tél
Voilà, n'étant pas spécialiste en modélisation je sèche depuis 3 jours.
Merci par avance pour toute ébauche de solution.
Cordialement.
Guy
J'ai à modifier une base de données qui permet de gérer des immeubles et je
n'arrive pas à faire une modélisation qui se tienne.
Dans la base actuelle, j'ai une table "Immeubles" qui permet de savoir
quelles sont les entreprises qui interviennent dans un immeuble par
"métier".
Table Immeubles
- No (numéro auto)
- No comptable
- Adresse immeuble
- Affectation immeuble
- Sanitaires-Nom entreprise
- Sanitaires-Adresse entreprise
- Sanitaires-Tél entreprise
- Electricité-Nom entreprise
- Electricité-Adresse entreprise
- Electricité-Tél entreprise
et ainsi de suite.
J'ai 15 métiers différents (sanitaires, électricité, chauffage,) qui
comprennent chacun les mêmes rubriques (nom, adresse, tél, fax,).
Dans l'état actuel ça fonctionne malgré les redondances.
Le problème est que je dois ajouter 12 métiers supplémentaires avec pour
chacun plus d'une dizaine de rubriques. Les 255 champs d'une table n'y
suffiront pas et, d'autre part, il faut prévoir qu'un métier (sanitaires par
exemple) peut être géré par plus d'une entreprise.
Dans le cas d'une seule entreprise par métier le cas se résoud facilement
avec une table Entreprises dont la clé primaire pointe sur des nouveaux
champs Sanitaires, Electricité, etc. créés dans la table "Immeubles.
Mais pour une relation "plusieurs à plusieurs" je ne sais pas comment faire
pour avoir une clé primaire (ou une valeur unique créée automatiquement)
pour chaque champ métier dans la table "Immeubles".
J'envisageais les tables suivantes :
Table Immeubles
- No (numéro auto)
- No comptable
- Adresse immeuble
- Affectation immeuble
- Sanitaires (clé unique pointant sur "Sanit-Ptr" de la table "Pivot
Sanitaires")
- Electricité (clé unique pointant sur "Elect-Ptr" de la table "Pivot
Electricité")
Table Pivot Sanitaires
- Sanit-Ptr
- Entr-Ptr
Table Pivot Electricité
- Elect-Ptr
- Entr-Ptr
Table Entreprises
- No (Clé primaire) pointant sur "Entr-Ptr" des différentes tables Pivot (27
soit une par métier).
- Nom
- Adresse
- Tél
Voilà, n'étant pas spécialiste en modélisation je sèche depuis 3 jours.
Merci par avance pour toute ébauche de solution.
Cordialement.
Guy

Poser une question


Faut raisonner globalement, tu ne peux pas créer autant de tables que de métiers. Sinon bonjour le
bordel.
Je procéderai comme suit :
tbl_Immeubles(#Id, Nom, Adresse, CP, Ville....)
tbl_Metiers(#Id, Metier)
tbl_Fournisseurs(#Id, Nom, Adresse, CP, Ville....)
tbl_Prestations(#Id, tbl_FournisseursId, tbl_MetiersId, Divers....)
tbl_Interventions(#Id, tbl_ImmeublesId, DateInt, Commentaires.....)
tbl_DetailsInterventions(#Id, tbl_InterventionsId, tbl_PrestationsId, Commentaires.....)
De cette manière, plus aucune redondance et plus aucune limite dans les métiers, fournisseurs ou
interventions.
Tiens moi au courant
Ouala
Bye
Buddy
"Guy"
il y a un utilitaire mis au point par Wooba, qui peut t'aider à construire
une base compete avec fonctions et code.
Mais Wooba est avare de l'aide fournie avec son utilitaire.
Si celà peut t'aider vas voir à www.nakedata.com
la même adresse est communiquée sur le site du facteur.
Bon code
Barabas
"Guy" news:
Super la solution ! Ca fonctionne à merveille.
Merci et bonne soirée ou bon dimanche.
Cordialement.
Guy
"Buddy" news:
Merci pour le lien. Buddy m'a fourni une solution mais j'ai téléchargé Wooba
et je m'y intéresse dès que j'ai le temps.
Cordialement.
Guy
"Barabas" news:40afb80f$0$257$