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

 MySQL Discussion :

[MCD -> PHPMYADMIN] concaténation & choix du type des champs


Sujet :

MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [MCD -> PHPMYADMIN] concaténation & choix du type des champs
    Bien le bonjour et merci d'avance pour la lecture de ce post,

    Je suis actuellement étudiant en DUT SRC à Troyes. Je réalise une application FB. Comme les professeurs en Dev. Web nous ont expliqués qu'il fallait concevoir la BDD avant toute programmation du site web, je respecte donc ce conseil.

    Mais j'aurais besoin d'aide pour le choix des types d'encodage des champs (int, float, char), mais aussi j'aimerais réaliser une concaténation.

    MCD en img (cf. Lien site web)
    j'ai également donné mon fichier (du logiciel AnalyseSI) qui contient mon mcd, dictionnaire (de merise, sans trop le respecté) (cf. Lien site web).

    Mes questions portent sur les quels types d'encodages à utiliser : ?

    - table note : note_les2id est une concaténation des 2 champs user_id & etablissement_id, mais comment faire cette concaténation & comment la gérer ? Mon but est qu'un utilisateur note un établissement. Pour une meilleur rapidité de recherche sur ces champs. Si la la ligne existe, alors ça la modifie (si l'utilisateur modifie sa note) ou alors ça en en insère une autre. (plutôt que de faire un test chacun sur les 2 id (user_id et etablissement_id)


    - table evenement : Les données ajoutées dans cette table viennent des informations de FB (events), FB renvoie pour la date et les horaires de début et de fin par ce type d'encodage :
    string containing an ISO-8601 formatted date/time or a UNIX timestamp


    ce qui donne sur leur open graph :

    "start_time": "2012-02-18T20:00:00",
    "end_time": "2012-02-18T23:00:00",
    Mais moi, j'ai 3 champs dans ma table : les champs evenement_h_deb/fin et date donc comment j'encode ces champs et comment je traite les données de FB pour ensuite les ajouter à ma BDD ?

    Autre question pour les événements qui durent sur plusieurs jours, ne serait-il pas mieux de rajouter un autre champ qui serait date_fin et modifier date par date_deb ?


    - table user : Toutes les données de cette table seront enrichies par la connexion de l'utilisateur via le FB connect (API FB) installé sur l'application.

    Ma question est : quand un utilisateur va se connecter à FB, me donne accès à ses informations personnelles donc sa liste d'amis. Je parcours la liste d'amis ensuite un test est réalisé pour savoir si ses amis sont déjà dans ma BDD (à voir si je peux récupérer leurs FB ID en plus de leurs prénom et nom (les amis), alors qu'ils ne se sont pas connectés à mon site). Et s'ils ne sont pas dans la BDD (les amis), je les ajoute. Et dans user_amis, j'ajoute tous les user_id qui sont en relation. (C'est le même système que celui de l'horaire, sauf que celui-ci est illimité et ne fait pas maximum 4 données) donc comment je fais ?

    Explication :

    Pour la table user en gros quand tu te connectera à mon application, j'aurai accès à ces informations : https://graph.facebook.com/me/friends?...

    Donc a chaque nouvelle connexion je fais un test si l'user est enregistré dans la BDD s'il ne l'est pas j'ajoute toutes ses informations personnelles, que j'ai obtenu, ensuite je regarde sa liste d'amis, si ses amis sont déjà dans la bdd alors dans le champs (user_amis) je références tout les ids de ses amis. Et si certains de ses amis ne sont pas dans la BDD je les ajoutes et à la connexion de un de ses amis au site, je compléterai les informations non obtenu avant, voilà et une boucle se fait. Comme ça je serais qui est avec qui, ...
    Voilà toutes mes questions que je n'arrive pas à résoudre, merci beaucoup pour votre aide.

    Cordialement,

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    - table note : note_les2id est une concaténation des 2 champs user_id & etablissement_id, mais comment faire cette concaténation & comment la gérer ? Mon but est qu'un utilisateur note un établissement. Pour une meilleur rapidité de recherche sur ces champs. Si la la ligne existe, alors ça la modifie (si l'utilisateur modifie sa note) ou alors ça en en insère une autre. (plutôt que de faire un test chacun sur les 2 id (user_id et etablissement_id)
    non !
    Vous devriez reprendre vos cours

    Lorsque vous avez, au niveau du MCD, une modélisation de ce type :
    Etablissement-0,n-------note-------0,n-User

    ceci va se transformer, au niveau du mpd, en :
    t_etablissement_eta (eta_id, ...)
    t_user_usr (usr_id, ....)
    t_note_not (#eta_id, #usr_id, not_note)

    Votre table note aura comme clef primaire les deux clef étrangère de user / etablissement => ceci assure qu'un établissement ne peut être noté qu'une seule fois par un même utilisateur.



    Concernant votre table évenement, est-ce qu'un évenement peut durer sur plusieurs jours ?
    si oui, gérer un évenement avec 2 timestamp est, je penses, mieux.
    si non, votre modélisation actuelle est ok.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    merci de votre réponse

    Mais savez vous comment gère FB pour la date c'est bien du timestamp ?

    Encore merci,

Discussions similaires

  1. [phpMyAdmin] choix du type de champ MySQL 5.1
    Par adetola dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 11/12/2013, 18h20
  2. [MySQL] Choix du type de champ.
    Par fred61 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/03/2009, 12h25
  3. [phpMyAdmin] Types des champs
    Par ph_anrys dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 30/05/2007, 11h34
  4. [MySQL] Choix du type de champs
    Par hbellahc dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/09/2006, 21h40
  5. types des champs
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/11/2005, 10h33

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