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 :

Site d'annonce : beaucoup de catégories


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut Site d'annonce : beaucoup de catégories
    Bonjour,

    Je voulais creer un site d'annonces, et lors de la conception de ma base de données je me suis bloqué sur le faite qu'il y a beaucoup des catégories dans le site et si je vais faire une table pour chaque catégories (c'est absurde)!!

    est ce que quelqu'un peut m'aider SVP?

    Merci.

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Vous avez une ébauche de votre modele de données ?
    Vous avez des notions de modelisation de données ?
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Yanika_bzh Voir le message
    Vous avez une ébauche de votre modele de données ?
    Vous avez des notions de modelisation de données ?
    oui moi je sais faire la conception mais c'est la première fois que je dois un site d'annonces.

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Quel est donc l'ebauche du modele que vous avez realisé, car je ne comprends pas tres bien votre probleme.
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Yanika_bzh Voir le message
    Quel est donc l'ebauche du modele que vous avez realisé, car je ne comprends pas très bien votre problème.
    le problème dans la conception des table ou seront stocké les annonces selon la catégorie.

    ci joint une image qui peut mieux expliquer le problème!
    Images attachées Images attachées  

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 96
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    Je ne comprend pas très bien la différence qu'il y a entre la table "catégorie" et les tables "immobilier", ... ?

    Quelles informations sont stockées dans la table "catégorie" ?
    Quelles informations sont stockées dans la table "immobilier" ?

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par stephane.combes Voir le message
    Bonjour,

    Je ne comprend pas très bien la différence qu'il y a entre la table "catégorie" et les tables "immobilier", ... ?

    Quelles informations sont stockées dans la table "catégorie" ?
    Quelles informations sont stockées dans la table "immobilier" ?
    ah dans l'images je propose 2 solutions :

    1.soit je creer une table categories qui contient tout les categorie
    2.soit pour chaque categories je creer une table ce qui est absirdes!

    donc moi je cherche comment faire cette conception ???

    Merci.

  8. #8
    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
    Ça n'a rien d'absurde ! C'est même plutôt la meilleure solution à mon avis !
    Chaque catégorie d'annonce a ses propres propriétés :
    - emploi => type de contrat (CDD, CDI...), salaire proposé, date de début souhaitée...
    - immobilier => nombre de pièces, surface, appartement ou maison...
    - auto_moto => marque et modèle de véhicule, année du modèle, puissance...

    Chaque catégorie peut de plus avoir ses propres associations. Par exemple, avec une table des constructeurs auto/moto pour les annonces de cette catégorie.

    Il ne faut pas être effrayé par le nombre de tables. Tu utiliseras des vues pour rassembler les propriétés générales des annonces et les propriétés particulières du type de l'annonce.

    Par contre, un petit conseil en passant : nomme tes tables au singulier. Tu vois bien que immobilier au pluriel, ça fait bizarre !

    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 !

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Bonjour,
    i contient tou
    Alors moi je pense de point de vue que un autre jour si je veux creer une nouvelle categorie alors je touche à la base de donnée pour créer la table associée a cette dernière.

    donc je veux éviter ça.

    comment faire donc ??

    Merci )

  10. #10
    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
    Alors l'autre solution consiste à faire ceci :
    1) Une catégorie peut être caractérisée par des propriétés et une propriété caractérise de une à plusieurs catégorie.
    MCD 1 :
    categorie -0,n----caracteriser----1,n- propriete

    Tables :
    categorie (cat_id, cat_libelle)
    propriete (prp_id, prp_libelle)
    cat_caracteriser_prp (ccp_id_categorie, ccp_id_propriete)

    2) une annonce peut avoir des propriétés liées à sa catégorie et une propriété liée à une catégorie peut caractériser plusieurs annonces.

    Là il faut transformer l'association "caracteriser" du premier MCD en entité associative :
    MCD 1bis :
    categorie -0,n----preciser----(1,1)- caracteristique -(1,1)----constituer----1,n- propriete

    Tables :
    Je change seulement la table cat_caracteriser_prp en caracteristique :
    caracteristique (car_id_categorie, car_id_propriete)

    Maintenant, je peut associer cette entité aux annonces :
    MCD 2 :
    categorie -0,n----preciser----(1,1)- caracteristique -(1,1)----constituer----1,n- propriete
    annonce
    -0,n-----valoriser----0,n--------------|

    Tables supplémentaires :
    annonce (ann_id, [+ propriétés communes à toutes les annonces] )
    ann_valoriser_car (avc_id_annonce, avc_id_categorie, avc_id_propriete, avc_valeur)

    Mais pour une catégorie qui a 5 propriétés spécifiques et qui concerne 1000 annonces, tu auras 5000 lignes dans la table ann_valoriser_car alors qu'avec la modélisation par héritage que j'ai conseillée dans mon précédent message, tu n'auras que 1000 lignes dans la table de la catégorie. De plus, tu pourras mieux typer les valeurs des caractéristiques (entier, décimal, caractères, booléen...), lors de la modification de propriétés spécifiques d'une annonce, ce nouveau modèle va mettre à jour l'index de toutes annonces au lieu d'indexer une table plus petite.
    Bref, je pense toujours que le modèle par héritage est meilleur.
    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 !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 96
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    @CinePhil
    Si j'ai bien compris tu préconises :
    - une table "catégorie" avec les propriétés communes à toutes les catégories (exemple le libellé de la catégorie).
    - une table pour chaque catégorie avec ses propriétés spécifiques (exemple constructeur pour la catégorie "auto/moto").

    Et donc, quand tu rajoutes une nouvelle catégorie tu modifies ton modèle pour ajouter la nouvelle catégorie.

    Si ce que je viens de dire correspond à ton idée je voudrais bien connaître les avantages/inconvénients de cette modélisation car ce n'est pas ma façon de faire actuelle et je suis toujours intéressé par le point de vue des autres.

    Dans mes modélisations actuelles j'essai de faire un modèle auquel j'aurais le moins de modification à apporter par la suite. Ce qui ne me semble pas être le cas dans la modélisation que tu préconises.



    @echef
    Si la tournure de la discussion te semble trop éloigné de ton sujet initial n'hésites pas à me le signaler et j'ouvrirais un nouveau sujet.

  12. #12
    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 stephane.combes Voir le message
    Bonjour,

    @CinePhil
    Si j'ai bien compris tu préconises :
    - une table "catégorie" avec les propriétés communes à toutes les catégories (exemple le libellé de la catégorie).
    - une table pour chaque catégorie avec ses propriétés spécifiques (exemple constructeur pour la catégorie "auto/moto").

    Et donc, quand tu rajoutes une nouvelle catégorie tu modifies ton modèle pour ajouter la nouvelle catégorie.

    Si ce que je viens de dire correspond à ton idée je voudrais bien connaître les avantages/inconvénients de cette modélisation car ce n'est pas ma façon de faire actuelle et je suis toujours intéressé par le point de vue des autres.
    C'est effectivement ce que je préconise : une modélisation par héritage.
    J'ai donné quelques raisons dans mon message précédent en présentant l'autre solution que j'aime moins et j'ajoute un autre avantage : celui de pouvoir faire des associations spécifiques par catégorie. Par exemple, une annonce pour une voiture est associée à un modèle de voiture, une annonce immobilière est associée à un type d'annonce immobilière (achat, vente, location, villégiature, échange, co-location...) à un type de bien immobilier (maison, appartement, magasin, garage, parking, loft, château...), une annonce de la catégorie "animaux" est associée au type d'animal (chat, chien, poisson, hamster...) voire à sa race...
    Cela solidifie le modèle de données et permet d'éviter une annonce de vente de voiture Berger Allemand de 3 pièces !

    Dans mes modélisations actuelles j'essai de faire un modèle auquel j'aurais le moins de modification à apporter par la suite. Ce qui ne me semble pas être le cas dans la modélisation que tu préconises.
    Effectivement, quand tu ajoutes une catégorie d'annonces, il faut créer une table qui hérite de la table des catégories d'annonces et éventuellement les tables de référence associées à la nouvelle catégorie. Mais de toute façon, il faut aussi que tu modifies ton programme pour la nouvelle catégorie d'annonces qui n'a pas les mêmes attributs que les autres non ?
    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 !

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 96
    Points : 98
    Points
    98
    Par défaut
    Merci pour les explications.

    Je vais me garder ça sous le coude au cas où

  14. #14
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Merci pour les conseilles

    @stephane : Pourrez vous nous préciser un exemple de modèle comme ceux que vous les crées ,comme ça le sujet sera englobant plus riche et la valeur ajouter sera pour tout le monde

    Merci.

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 96
    Points : 98
    Points
    98
    Par défaut
    Intuitivement je penche plus vers une solution avec des catégories (exemple : immobilier, véhicules,...), des sous-catégories (exemple pour la catégorie immobilier : appartements, maison,...). Chaque annonce appartient à une catégorie et à les champs (titre, texte, prix,...).
    Voila grosso modo mon idée. Je la trouve plus simple mais moins souple que celle de CinePhil car dans cette approche toutes les annonces sont faites sur le même modèle.

    Après, à mon avis, il faut voir qu'elles sont les contraintes du projet afin de faire le choix entre simplicité et souplesse.

  16. #16
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Merci pour les solutions proposées )

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Alors l'autre solution consiste à faire ceci :
    1) Une catégorie peut être caractérisée par des propriétés et une propriété caractérise de une à plusieurs catégorie.
    MCD 1 :
    categorie -0,n----caracteriser----1,n- propriete

    Tables :
    categorie (cat_id, cat_libelle)
    propriete (prp_id, prp_libelle)
    cat_caracteriser_prp (ccp_id_categorie, ccp_id_propriete)

    2) une annonce peut avoir des propriétés liées à sa catégorie et une propriété liée à une catégorie peut caractériser plusieurs annonces.

    Là il faut transformer l'association "caracteriser" du premier MCD en entité associative :
    MCD 1bis :
    categorie -0,n----preciser----(1,1)- caracteristique -(1,1)----constituer----1,n- propriete

    Tables :
    Je change seulement la table cat_caracteriser_prp en caracteristique :
    caracteristique (car_id_categorie, car_id_propriete)

    Maintenant, je peut associer cette entité aux annonces :
    MCD 2 :
    categorie -0,n----preciser----(1,1)- caracteristique -(1,1)----constituer----1,n- propriete
    annonce
    -0,n-----valoriser----0,n--------------|

    Tables supplémentaires :
    annonce (ann_id, [+ propriétés communes à toutes les annonces] )
    ann_valoriser_car (avc_id_annonce, avc_id_categorie, avc_id_propriete, avc_valeur)

    Mais pour une catégorie qui a 5 propriétés spécifiques et qui concerne 1000 annonces, tu auras 5000 lignes dans la table ann_valoriser_car alors qu'avec la modélisation par héritage que j'ai conseillée dans mon précédent message, tu n'auras que 1000 lignes dans la table de la catégorie. De plus, tu pourras mieux typer les valeurs des caractéristiques (entier, décimal, caractères, booléen...), lors de la modification de propriétés spécifiques d'une annonce, ce nouveau modèle va mettre à jour l'index de toutes annonces au lieu d'indexer une table plus petite.
    Bref, je pense toujours que le modèle par héritage est meilleur.
    et si on a une table sous_categorie comment se passe les choses ??

Discussions similaires

  1. comment créer un site d'annonces
    Par jojo_ol76 dans le forum Débuter
    Réponses: 1
    Dernier message: 02/01/2008, 09h44
  2. Devis pour projet site petites annonces
    Par idamarco dans le forum Devis
    Réponses: 3
    Dernier message: 24/09/2007, 15h13
  3. Devis site d'annonces
    Par djalilk dans le forum Devis
    Réponses: 4
    Dernier message: 23/01/2007, 14h55
  4. Réponses: 4
    Dernier message: 16/05/2006, 01h55

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