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

Langage SQL Discussion :

Site à plusieurs profils combien de tables ?


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Points : 106
    Points
    106
    Par défaut Site à plusieurs profils combien de tables ?
    Bonjour,

    Les sites type de rencontres, de services etc où il y a deux type de profils possibles (1 feminin, 1 masculin / 1 porteur d'offre, 1 prestataire ...) est-ce qu'il y a une seule table membre avec un tupple type de profil (homme, femme / prestataie, porteur d'offre)... ou y a t-il deux tables distinctes 1 poiur chaque type de profil ?

    Merci d'avance pour vos réponses....

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Le mieux est à mon avis de créer une table pour les personnes (morales ou physiques) et celle-ci serait liée à une table type_personne (code_type, libelle_type) par exemple ce qui te permet de faire une table avec toutes leurs informations, (Nom, Prénom, Age, ... code_type ) .
    Beaucoup plus léger que une table HommeFemme et Prestataire je pense

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Points : 106
    Points
    106
    Par défaut
    Citation Envoyé par Kreepz Voir le message
    Le mieux est à mon avis de créer une table pour les personnes (morales ou physiques) et celle-ci serait liée à une table type_personne (code_type, libelle_type) par exemple ce qui te permet de faire une table avec toutes leurs informations, (Nom, Prénom, Age, ... code_type ) .
    Beaucoup plus léger que une table HommeFemme et Prestataire je pense
    Donc selon vous l'idéal serait de créer 3 tables un peu comme ceci...

    membre(id_membre, type [morales, physiques], login, password, ...)
    morale(id_morale, ...)
    physique(id_physique...)

    Il y aurait donc dans chaque requête une variable $type afin de sélectionner la bonne table ? Comme ceci (SELECT * FROM $type) ... ?

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Le mieux c'est de grouper les informations le plus possible afin qu'il n'y ait pas de redondance.
    Par exemple : pour insérer les utilisateurs selon leur sexe, tu ne vas pas créer deux tables : hommes et femmes mais tu vas créer une table utilisateurs avec un champs sexe que tu pourras mettre en int(11). Si c'est un homme, tu insèreras avec la valeur "1" alors que si c'est une femme, tu insèreras avec la valeur "2" ou le contraire ce qui te permettra dans des futures requêtes SQL de faire des conditions sur le sexe des utilisateurs.

  5. #5
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Plutôt comme l'a dit : vinceom92

    Tu as une table "Utilisateurs" avec comme champs:

    • ID
    • NOM
    • PRENOM
    • SEXE
    • TYPE_UTILISATEURS


    TYPE_UTILISATEURS serait lié à une table TYPE ou TYPE_UTILISATEURS avec les champs:

    • ID
    • LIBELLE



    Comme ça dès lors que tu veux faire unes requête seulement pour les prestataires tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT NOM, PRENOM 
    FROM UTILISATEURS, TYPE_UTILISATEURS 
    WHERE UTILISATEURS.TYPE_UTILISATEUR = TYPE_UTILISATEUR.ID 
    AND TYPE_UTILISATEUR.ID = 2
    Le code 2 correspondant aux prestataires .

Discussions similaires

  1. fusion de plusieurs champs d'une table à une autre
    Par reolik dans le forum Requêtes
    Réponses: 1
    Dernier message: 16/02/2006, 08h39
  2. Mettre a jour plusieurs lignes d'une table
    Par Tartenpion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/12/2005, 18h50
  3. Procédure stockée - Retourner plusieurs ligne d'une table
    Par ronando dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 02/11/2005, 13h19
  4. [XP Pro]Problème avec plusieurs profils utilisateurs sur PC
    Par marsup54 dans le forum Windows XP
    Réponses: 8
    Dernier message: 27/04/2005, 09h32

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