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 :

Conception d'une BDD


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut Conception d'une BDD
    Salut tout le monde.
    je souhaites réalisé, sur demande d'un ami à moi, une sorte de site servant à prendre des commandes de divers modules.
    je m'explique.
    C'est pour un jeu en ligne qui s'appelle EmpireUnivers II,
    on peu acheter des modules à d'autres joueurs
    chaque module a un prix et une description
    chaque module appartient à une catégorie (il y a 4 catégories différentes)
    un client doit s'être identifié de par son login et un mot de passe pour accéder au catalogue.
    un client peut commander un ou plusieurs modules de une ou plusieurs catégories.

    une fois validé, la commande est récapitulé au client pour confirmation.


    voila, donc la question de l'analyse me tourmente un peu...je sais qu'un mauvaise base de donnée peut mettre en péril un projet...donc je m'en réfère à vous.

    ce que je pense faire :

    - Une table client avec les champs login, mdp, mdp_bis, email, prenom, nom_empire, nb_commande, total_des_commandes
    - Une table modules avec les champs nom_module, categorie_module, description, prix
    - Une table commande avec les champs log_client, nom_module_commande, qte, prix_total
    --> log_client référence login de la table client
    --> nom_module_commande référence nom_module de la table module


    voila, donc je sais pas si cette analyse est la meilleure solution...et surtout, je me pose la question suivante...si un client commande 2 modules différents...dans ma table commande, j'aurais plusieurs lignes pour une même commande, non?


    donc que me conseillez vous?
    je précise que je travaille avec WampServer pour la conception de la BDD, et le dev PhP se fera sous Dreamweaver Cs4

    merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Pourquoi mettre un attribut mdp et un attribut mdp_bis dans la table client?
    Sinon je pense qu'une commande devrait être symboliser par une relation entre un client et plusieurs modules.

    Client--0,n-----Commander-----0,n--Module
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    le mdp et mdp_bis c'est juste pour un contrôle au niveau de l'inscription, pour une vérification du mot de passe.

    donc suivant ton schéma, j'ai besoins que de 2 tables?
    de plus, je ne sais pas comment créer des clès étrangère avec PhPmyAdmin...
    mais pour une commande, il peut y avoir plusieurs modules commander...donc à quoi ressemblerai la requête d'insertion...j'ai du mal à voir comment on peut stocker tout les modules dans une seule ligne de la table...

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 621
    Points : 56 867
    Points
    56 867
    Billets dans le blog
    40
    Par défaut
    bonsoir,

    concernant la partie Client-Commande/Commander-Module, ce ne sont pas les discussions qui manquent sur ce forum. Par exemple, [MCD] gestion des ventes (Tiens! Metafire18 était déjà dans le coup)

    Citation Envoyé par Freddo31
    le mdp et mdp_bis c'est juste pour un contrôle au niveau de l'inscription, pour une vérification du mot de passe.
    oui mais lorsque l'inscription est validée, ta base va stocker deux fois le même mot de passe, non ?

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    oui, stocké 2 fois dans la BD, en cryptée.
    ça sert au client au niveau de l'inscription pour être sur qu'il a rentré 2 fois les bon mdp

    pour le lien que tu m'as donné, c'est gentil, merci, mais j'ai du mal à comprendre tout ce qui a été dit...:s

    si j'ai bien compris...dans mon cas, il ne suffit d'avoir que 2 table, client et module, et lors du passages au MLD, la table commande sera crée vis à vis des cardinalité avec comme attribut le login du client + le nom du module, et ces 2 attributs formeront la clès primaire.
    mais il faut bien un identifiant à cette nouvelle table? donc au départ, il ne faut pas que ça soit une relation si?

  6. #6
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Freddo31 Voir le message
    oui, stocké 2 fois dans la BD, en cryptée.
    ça sert au client au niveau de l'inscription pour être sur qu'il a rentré 2 fois les bon mdp


    Cette vérification doit être effectuée au niveau programmation au moment où l'utilisateur saisit son mot de passe pour la première fois. Si il saisit le mot de passe de façon identique dans le champ du mot de passe et dans le champ de validation du mot de passe, alors tu insère le mot de passe dans ta table

    Citation Envoyé par Freddo31 Voir le message
    pour le lien que tu m'as donné, c'est gentil, merci, mais j'ai du mal à comprendre tout ce qui a été dit...:s

    si j'ai bien compris...dans mon cas, il ne suffit d'avoir que 2 table, client et module, et lors du passages au MLD, la table commande sera crée vis à vis des cardinalité avec comme attribut le login du client + le nom du module, et ces 2 attributs formeront la clès primaire.
    mais il faut bien un identifiant à cette nouvelle table? donc au départ, il ne faut pas que ça soit une relation si?
    En fait, si on adapte le modèle de Cinéphil à ton cas, cela donne le modèle suivant:
    Client -0,n----Passer----1,1- Commande -1,n----Contenir----0,n- Module
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Voila une image de mon MCD,
    mais je pense qu'il n'est pas encore bon...j'ai des soucis avec mes attributs...je sais pas si le nombre de module commandé doit être dans la table module ou dans la table commander?
    je ne vois pas ce que je peux/dois mettre dans la table commande...



  8. #8
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Freddo31 Voir le message
    Voila une image de mon MCD,
    mais je pense qu'il n'est pas encore bon...j'ai des soucis avec mes attributs...je sais pas si le nombre de module commandé doit être dans la table module ou dans la table commander?
    Ni dans l'une ni dans l'autre Le nombre de modules commandés est porté implicitement par la relation Contenir. Par exemple, on peut obtenir les enregistrements suivants avec ce MCD :

    id_commande.....id_module
    1................................1
    1................................2
    2................................5
    3................................4
    3................................7
    3................................2

    On voit que la commande n°1 concerne deux modules, la n°2 concerne 1 module et la n°3 concerne trois modules. Inutile donc de faire figurer cette information dans une table puisqu'elle est déjà portée par la structure de ton MCD
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  9. #9
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    ah oui, je vois!

    ok, donc la mon MCD ressemble à ça



    et si je veux conserver la date de chaque commande, je dois créer une entité date reliée à passer?

  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 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    La date de la commande est un attribut immuable (en principe) de l'entité commande.
    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
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Ok, alors il suffit de rajouter l'attribut date à l'entité commande!!!


    après, si un jour, je veux sortir des stats sur quel client a passer quelle commande, sur le nombre d'argent qu'il a dépensé (total de ses commandes)...etc...il suffirait de faire des calculs avec les requêtes...donc pas la peine de les stocker dans la base de données...

    si je comprends bien?

  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 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Freddo31 Voir le message
    Ok, alors il suffit de rajouter l'attribut date à l'entité commande!!!

    OUI



    après, si un jour, je veux sortir des stats sur quel client a passer quelle commande, sur le nombre d'argent qu'il a dépensé (total de ses commandes)...etc...il suffirait de faire des calculs avec les requêtes...donc pas la peine de les stocker dans la base de données...

    si je comprends bien?
    Il y a un petit piège concernant les prix.
    Ton MCD actuel fait que si le prix du module change, le résultat des calculs que tu envisages changeront aussi !
    Il faut donc stocker dans l'association Contenir toutes les données susceptibles de changer dans le temps, si tu veux garder la trace du passé.
    Le prix unitaire auquel a été vendu le module bien sûr mais aussi peut-être le taux de TVA car il peut changer, voire le prix total si une remise peut être accordée sur une ligne de commande.

    Ce n'est peut-être pas le cas ici mais attention aussi au colisage !
    Tu vends aujourd'hui 5 machins vendus par 10, donc 50 exemplaires. Dans le futur, ton colisage passe de 10 à 50. Si l'unité n'a pas été stockée avec la commande, tes stats seront fausses.
    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
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    je vois ce que tu veux dire!!
    cependant, dans mon cas, le prix peut changer certes, mais pas d'histoire de TVA.

    donc dans ce cas, il suffit de mettre dans contenir un attribut prix_commande, et de laisser le prix du module dans la table module.
    je pense que la c'est bon

  14. #14
    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 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Freddo31 Voir le message
    je vois ce que tu veux dire!!
    cependant, dans mon cas, le prix peut changer certes, mais pas d'histoire de TVA.
    En es-tu bien sûr ?
    La TVA sur la restauration vient de baisser de catégorie (et donc de taux).
    Imagine que demain, pour relancer l'économie, le gouvernement décide de baisser la TVA normale de 19,6% à 15% ? (on peut rêver quand même ! )

    Ou alors tu met un code de TVA et tu historises les taux de TVA.

    Le principe général est qu'il faut se prémunir de ce qui peut changer.
    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 !

  15. #15
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    oui, je suis sur étant donnée que ma base de donnée stocke des modules pour une jeu ONLine

Discussions similaires

  1. [AC-2003] Conception d'une BDD ave code barre pour une petite entreprise
    Par Piccou dans le forum Modélisation
    Réponses: 20
    Dernier message: 19/05/2010, 11h07
  2. [AC-2003] conception d'une bdd
    Par chtimilo dans le forum Modélisation
    Réponses: 3
    Dernier message: 06/06/2009, 22h00
  3. Conception d'une BDD avec "FileMaker Pro"
    Par mariny dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 21/04/2008, 11h37
  4. aide à la conception d'une BDD de documents
    Par Fran34 dans le forum Schéma
    Réponses: 11
    Dernier message: 22/01/2008, 09h33
  5. conception d'une bdd
    Par langar dans le forum Schéma
    Réponses: 4
    Dernier message: 20/01/2008, 16h53

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