Besoin d'aide pour BD avec muti-choix
fleurvar83
-
CaPiT Messages postés 622 Statut Membre -
CaPiT Messages postés 622 Statut Membre -
Bonjour,
Voilà plusieurs semaines que je reffléchi sur l'achitecture de ma BD (Mysql) mais je coince. Je compte sur votre aide. (:-)))
Je souhaite faire un site ou les internautes rechercheront un service par région, puis par département.
Jusque là ça va. Le problème c'est qu'un service peut faire parti de plusieurs départements. (exemple: Monsieur Dupont peut intervenir dans 10 département)
Donc:
Table Region
Idregion|region
1 | Paca
2 | Loire atlantique
3 | etc ...
Table département ( cela imprique 83 champs, à mon avis il y a une autre solution mais laquelle ?)
Idservice |Vendee| Rhone alpes | tous les autres département .....
1 | 1 | 1 |
2 | 0 | 1 |
3 | 1 | 1 |
Table Service:
Idservice | societe | Contact | etc ...
1 | SARL Dupont | Mr Dupont | etc ...
Ne me proposez pas un champs enum, car en recherchant sur des forums, cela est très déconsillé.
Merci pour votre aide qui sera vraiment précieuse
Voilà plusieurs semaines que je reffléchi sur l'achitecture de ma BD (Mysql) mais je coince. Je compte sur votre aide. (:-)))
Je souhaite faire un site ou les internautes rechercheront un service par région, puis par département.
Jusque là ça va. Le problème c'est qu'un service peut faire parti de plusieurs départements. (exemple: Monsieur Dupont peut intervenir dans 10 département)
Donc:
Table Region
Idregion|region
1 | Paca
2 | Loire atlantique
3 | etc ...
Table département ( cela imprique 83 champs, à mon avis il y a une autre solution mais laquelle ?)
Idservice |Vendee| Rhone alpes | tous les autres département .....
1 | 1 | 1 |
2 | 0 | 1 |
3 | 1 | 1 |
Table Service:
Idservice | societe | Contact | etc ...
1 | SARL Dupont | Mr Dupont | etc ...
Ne me proposez pas un champs enum, car en recherchant sur des forums, cela est très déconsillé.
Merci pour votre aide qui sera vraiment précieuse
A voir également:
- Besoin d'aide pour BD avec muti-choix
- Liste déroulante de choix excel - Guide
- Télécharger bd pdf gratuit sans inscription - Forum Loisirs / Divertissements
- Lecteur bd rom - Forum Matériel & Système
- W.i.t.c.h. bd intégrale pdf - Forum Liseuse eBook
- Telechargement d'une BD en PDF - Forum PDF
7 réponses
Bonjour,
Pourquoi ne pas créer une autre table pour faire une relation de plusieurs à plusieurs (services vers départements)
Table département
IdDep |Nom Dep
1 | Ain
2 |Aine
Table Service_Dep
IdDep |idService
1 | 1
1 | 2
.......
2 | 5
2 | 12
Table Service:
Idservice | societe | Contact | etc ...
1 | SARL Dupont | Mr Dupont | etc ...
Pourquoi ne pas créer une autre table pour faire une relation de plusieurs à plusieurs (services vers départements)
Table département
IdDep |Nom Dep
1 | Ain
2 |Aine
Table Service_Dep
IdDep |idService
1 | 1
1 | 2
.......
2 | 5
2 | 12
Table Service:
Idservice | societe | Contact | etc ...
1 | SARL Dupont | Mr Dupont | etc ...
Merci pour ta réponse, mais je pense que ma table ne sera pas optimisée du tout, car de nombreux services seront présents dans de nombreux départements.
Ma table sera beaucoup plus optimisée la tienne.
(Si tu rajoute des départements Belges, tu te dois de refaire ta table).
Donc les enregistremenst de la table Table Service_Dep seront énormes.
Oui et alors? Ce sera largement plus rapide et efficace que de traiter 83 champs...
Et puis quand une société s'enregistrera, elle cochera tous les département la concernant. Donc avec ce principe, je ne pense pas que cela aille.
Ouaip, parfait. Petite reqûete SQL sur la table Service_Dep .
Revois tes bases Sql très cher ;) comme les relations 1-N, ou N-N.
Tout site internet utilise cette solution.
Bonne continuation.
Ma table sera beaucoup plus optimisée la tienne.
(Si tu rajoute des départements Belges, tu te dois de refaire ta table).
Donc les enregistremenst de la table Table Service_Dep seront énormes.
Oui et alors? Ce sera largement plus rapide et efficace que de traiter 83 champs...
Et puis quand une société s'enregistrera, elle cochera tous les département la concernant. Donc avec ce principe, je ne pense pas que cela aille.
Ouaip, parfait. Petite reqûete SQL sur la table Service_Dep .
Revois tes bases Sql très cher ;) comme les relations 1-N, ou N-N.
Tout site internet utilise cette solution.
Bonne continuation.
Une dernière petite question si tu n'es pas partie, (Et oui je déjeune devant mon PC)
Pour développer la requete que je vais faire en faisant la table que tu me conseilles, cela veut qu'il y aura autant d'enregistrement dans la Table Service_Dep qu'il y aura de département choisi par le client.
La requete se ferai sous quelle forme ?
Puisque je vais insérer dans la table Table Service en même temps que dans la table Table Service_Dep. S'il y n'y a qu'un seule enregistrement j'y arrive, mais autant d'enregistrement qu'il y aura de département choisi, je n'y arrive pas.
Désolée, je suis débutante
Pour développer la requete que je vais faire en faisant la table que tu me conseilles, cela veut qu'il y aura autant d'enregistrement dans la Table Service_Dep qu'il y aura de département choisi par le client.
La requete se ferai sous quelle forme ?
Puisque je vais insérer dans la table Table Service en même temps que dans la table Table Service_Dep. S'il y n'y a qu'un seule enregistrement j'y arrive, mais autant d'enregistrement qu'il y aura de département choisi, je n'y arrive pas.
Désolée, je suis débutante
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour développer la requete que je vais faire en faisant la table que tu me conseilles, cela veut qu'il y aura autant d'enregistrement dans la Table Service_Dep qu'il y aura de département choisi par le client.
A vrai dire, le total pourra aller du (nombre de département)*1 au(nombre de département)*(le nombre de service).
Puisque je vais insérer dans la table Table Service en même temps que dans la table Table Service_Dep. S'il y n'y a qu'un seule enregistrement j'y arrive, mais autant d'enregistrement qu'il y aura de département choisi, je n'y arrive pas.
Revenons à ton tout 1er exemple soit "Monsieur Dupont peut intervenir dans 10 départements".
En les précisant ça donnerait : "Monsieur Dupont peut intervenir dans les départements n°1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
Il faudrait donc faire faire :
A vrai dire, le total pourra aller du (nombre de département)*1 au(nombre de département)*(le nombre de service).
Puisque je vais insérer dans la table Table Service en même temps que dans la table Table Service_Dep. S'il y n'y a qu'un seule enregistrement j'y arrive, mais autant d'enregistrement qu'il y aura de département choisi, je n'y arrive pas.
Revenons à ton tout 1er exemple soit "Monsieur Dupont peut intervenir dans 10 départements".
En les précisant ça donnerait : "Monsieur Dupont peut intervenir dans les départements n°1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
Il faudrait donc faire faire :
INSERT INTO Service ("Idservice", "societe", "Contact")
VALUES (1, "SARL Dupont", "Mr Dupont")
INSERT INTO Service_Dep ("IdDep", "idService")
VALUES (1, 1),(2, 1),(3, 1),(4, 1),(5, 1),(6, 1),(7, 1),(8, 1),(9, 1),(10, 1)
Donc les enregistremenst de la table Table Service_Dep seront énormes.
Et puis quand une société s'enregistrera, elle cochera tous les département la concernant. Donc avec ce principe, je ne pense pas que cela aille.
Qu'en penses tu ?