IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Petites annonces [MCD]


Sujet :

Schéma

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 92
    Points : 129
    Points
    129
    Par défaut Petites annonces
    Bonjour à tous,

    je suis en train de créer un petit site d'annonces en tout genre.
    Et il me faut donc maintenant passer à la modélisation de mes données qui seront plus tard en base.

    Voilà, j'avoue avoir beaucoup de mal avec la gestion de la ville/region etc...

    Ce que j'entends par là c'est que sur mon site l'utilisateur a la possibilité de choisir des annonces en fonction de la ville.

    Il peut donc par exemple choisir la ville de Marseille, ou de Toulon etc...

    Le problème c'est que je n'arrive pas à savoir comment avoir une liste de toutes ces villes dans ma bdd.
    N'est-ce pas un peu lourd à la gestion ?

    Si vous avez des exemples de MCD où c'est géré j'aimerais bien voir.
    Je vous remercie par avance

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 66
    Points : 44
    Points
    44
    Par défaut exemple entitee: ville,annonce et une relation pour liesan
    il faut une entitee pour ville et une autre entitee annonce avec une relation a pour (exemple)
    ville____0.n____a pour__0.n____annonce
    1/ville{n°ville,nom-ville,tel..}
    2/annonce{n°annonce,nom-annonce, nature,prix unitaire...}
    3/apour{n°ville,n°annonce,date}

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Si une annonce peut être en rapport avec plusieurs villes, c'est bon. Mais si une annonce ne référence qu'une seule ville, les cardinalités sont les suivantes :
    ville -0.n----a pour----1,1- annonce
    Et là plus besoin de table associative.

    Apparemment, tu ne travailles que sur la France, il y a donc un peu plus de 36 000 villes, ce n'est pas énorme pour un SGBD.

    Tu peux télécharger des tables de villes sur le site de l'INSEE ou ailleurs.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 92
    Points : 129
    Points
    129
    Par défaut Super !
    Merci beaucoup pour vos réponses vraiment !

    J'aurais donc les liens suivant :

    user___0.n____habiter____1.1___ville
    user___1.1____rediger____0.n___annonce
    annonce___0.n____est_lié____1.1___ville

    C'est bien ça ?

    La traduction de ceci :

    Un utilisateur ne peut habiter que dans une seule ville.
    Une ville peut contenir plusieurs utilisateurs

    Un utilisateur peut rédiger 0 ou plusieurs annonces
    Une annonce ne peut être rédigé que par un seul utilisateur

    Une annonce n'est lié qu'à une seule ville
    Pour une ville il peut y avoir plusieurs annonces.

    Normalement avec ça je peux faire le tour et récupérer toutes mes données facilement n'est-ce pas ?

    Pour l'INSEE j'ai bien trouvé le site ainsi qu'une page sur les bases de données mais je ne trouve pas celle qu'il me faut (à savoir les villes uniquement et lié à des régions).

    Merci beaucoup !

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par same66 Voir le message
    J'aurais donc les liens suivant :

    user___0.n____habiter____1.1___ville
    user___1.1____rediger____0.n___annonce
    annonce___0.n____est_lié____1.1___ville

    C'est bien ça ?

    La traduction de ceci :

    Un utilisateur ne peut habiter que dans une seule ville.
    Une ville peut contenir plusieurs utilisateurs

    Un utilisateur peut rédiger 0 ou plusieurs annonces
    Une annonce ne peut être rédigé que par un seul utilisateur

    Une annonce n'est lié qu'à une seule ville
    Pour une ville il peut y avoir plusieurs annonces.
    Dans un MCD merisien, tes cardinalités sont inversées.
    Un utilisateur ne peut habiter que dans une seule ville.
    Une ville peut contenir plusieurs utilisateurs
    Utilisateur -1,1----Habiter----0,n- Ville
    Un utilisateur peut rédiger 0 ou plusieurs annonces
    Une annonce ne peut être rédigé que par un seul utilisateur
    Utilisateur -0,n----Rédiger----1,1- Annonce
    Une annonce n'est lié qu'à une seule ville
    Pour une ville il peut y avoir plusieurs annonces.
    Si l'annonce ne peut être liée qu'à la ville ou habite le rédacteur de l'annonce, cette association est inutile. Si par contre, habitant Toulouse, je peux rédiger une annonce concernant Le Havre, alors OK :
    Annonce -1,1----Lier----0,n- Ville

    Pour l'INSEE j'ai bien trouvé le site ainsi qu'une page sur les bases de données mais je ne trouve pas celle qu'il me faut (à savoir les villes uniquement et lié à des régions).
    Si tu me donnes par message privé ton adrel, je peux t'envoyer le fichier Excel que j'ai récupéré ainsi que l'utilisation que j'en ai faite dans le cadre du projet sur lequel je travaille actuellement. Il y a toutes les villes françaises, les départements et les régions, y compris les DOM.
    Ville -1,1----Situer----1,n- Département -1,1----Situer----1,n- Région
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 92
    Points : 129
    Points
    129
    Par défaut
    Effectivement, j'ai inversé les cardinalités -_- !

    Sinon, un utilisateur habitant Paris, peut poster une annonce pour Lyon par exemple, donc je suppose que mon lien fonctionne.

    Ensuite, il me faudra traduire tout ça en SQL en espérant que ce soit une bonne structure de données.

    Aussi,
    une annonce peut être de 3 types different donc je ferais le lien ainsi :

    Annonce____1.1____concerner____0.n____typeAnnonce

    Ensuite en table, une idTypeAnnonce en clé étrangère dans ma table annonce et voilà comment je rattacherais tout ça.

    Ca vous semble correct ?

    Merci par avance

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Oui c'est correct. Bon courage pour la suite.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre habitué
    Inscrit en
    Décembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 92
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Oui c'est correct. Bon courage pour la suite.
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP pour petites annonces
    Par killaz1 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2007, 10h35
  2. Programme pour petites annonces
    Par killaz1 dans le forum Langage
    Réponses: 1
    Dernier message: 23/04/2007, 15h48
  3. probleme avec un formulaire de petites annonces
    Par sitalgerie dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2007, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo