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 :

Problème de création tables


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Problème de création tables
    Bonjour,

    Je voudrais créer une base de données relationnelle « sondage ». Cette base de données me donne quelques soucis de création. Je suis un peu perdu dans la création des tables. Le résultat doit être stocké sous forme de %. Aucun calcul ne doit être effectué pour la lecture une application enverra les données dans cette base « résultat ». Mon problème est de les différencier dans des tables. Je ne sais pas comment prendre en compte une comparaison entre 2 personnes, 3 personnes, 4 personnes, voir jusqu’à 10 personnes, puisque les résultats seront toujours différents en fonction du nombre de personne sélectionnée.

    Voici un exemple qui me pose problème :
    (le nombre d'actrice s'effectue en fonction des connaissances de l'internaute. Si l'internaute connait 2 actrices, il sélectionne les 2 actrices, si l'internaute en connait 4, il sélectionne les quatre. Aucune photo n'est fournis, il faut qu'il les connaissent déjà.

    Quelle est l’actrice que vous trouver la plus jolie ?

     Keira Knightley
     Eva Green

    Résultat obtenue

     Keira Knightley 55 %
     Eva Green 45 %

    Même question avec 4 actrices.

     Keira Knightley
     Sophie Marceau
     Eva Green
     Elisha Cuthbert

    Résultat :

     Keira Knightley 28 %
     Sophie Marceau 25 %
     Eva Green 24 %
     Elisha Cuthbert 23 %


    Merci de votre aide

  2. #2
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Quelle est l’actrice que vous trouver la plus jolie ?
    Logiquement, je ne mettrais qu'un réponse.

    Est-ce-que les sondés peuvent donner une ou plusieurs réponse(s), ou doivent ils choisir entre des réponses par rapport à leur connaissance ?

    C'est un sondage qui vise à connaître la popularité de gens.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Oui c'est un sondage qui vise à connaitre la popularité des gens.les gens doivent sélectionner qu'un type de réponse, c'est à dire choisir une comparaison entre 2, 3 ou 4 actrices pour l'exemple. A la lecture des résultats un internaute pourra faire une comparaison entre 2 ou plusieurs actrices.

  4. #4
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    On est bien d'accord qu'il n'ont droit qu'à une seule réponse par question.
    EDIT:Est ce qu'ils sont obliger de répondre quand ils ne savent pas, je veux dire cocher aucune réponse pour une question .

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Oui une seule réponse, mais mon problème est surtout à la lecture des résultats. je ne sais pas le nombre de table que je dois créer. Certainement une table actrice et une table résultat. Mais quelle table faut il créer pour les comparaisons multiples ?

  6. #6
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Grosso modo, tu va avoir pour le minimum vital:

    - une table pour les questions
    - une table pour les réponses types
    - une table pour les réponses des sondés à l'image des réponses types.

    Sur le plan mathématique, il faut calculer les moyennes.

    Comme le nombre de questions est variable par rapport aux réponses, je ne sais pas si le questionnaire sera équitable.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Début de code
    Bonjour,

    Pour l'instant, je veux simplement créer une base résultat ou je puisse comparer chaque cas. Le sondage peut être effectuer en manuel donc pour l'instant je ne pose pas le problème sur son fonctionnement. Voici ce que j'ai commencé à écrire. Merci de votre aide (une fois ma base terminé je devrais l'exporter en Xml)



    -- Création de la base

    CREATE DATABASE `RESULTAT` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE RESULTAT;


    -- Création de la table Categorie

    CREATE TABLE `categorie` (
    `ID_Categorie` int(11) NOT NULL auto_increment,
    `Nom_Categorie` varchar(255) NOT NULL default '',
    PRIMARY KEY (`ID_Categorie`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    -- Création de la table Disipline

    CREATE TABLE `disipline` (
    `ID_disipline` int(11) NOT NULL auto_increment,
    `Nom_discipline` varchar(255) NOT NULL default '',
    PRIMARY KEY (`ID_disipline`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    -- Création de la table Individus

    -- Position_ID sert à positionner les individus de 1 à 10 pour les récupérer dans la table comparaison et connaitre le nom des sélections par exemple le noms des actrices comparées


    CREATE TABLE `individus` (
    `ID_ individus` int(11) NOT NULL auto_increment,
    `Nom_ individus` varchar(255) NOT NULL default '',
    `Position_ID` int(2) NOT NULL,
    PRIMARY KEY (`ID_ individus`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    -- Création de la table Comparaison

    CREATE TABLE `comparaison` (
    `ID_comparaison` int(11) NOT NULL auto_increment,
    `selection1` enum('O','N') default 'N',
    `Nom_ selection1` varchar(255) NOT NULL,
    `selection2` enum('O','N') default 'N',
    `Nom_ selection2` varchar(255) NOT NULL,
    `selection3` enum('O','N') default 'N',
    `Nom_ selection3` varchar(255) NOT NULL,
    `selection4` enum('O','N') default 'N',
    `Nom_ selection4` varchar(255) NOT NULL,
    `selection5` enum('O','N') default 'N',
    `Nom_ selection5` varchar(255) NOT NULL,
    `selection6` enum('O','N') default 'N',
    `Nom_ selection6` varchar(255) NOT NULL,
    `selection7` enum('O','N') default 'N',
    `Nom_ selection7` varchar(255) NOT NULL,
    `selection8` enum('O','N') default 'N',
    `Nom_ selection8` varchar(255) NOT NULL,
    `selection9` enum('O','N') default 'N',
    `Nom_ selection9` varchar(255) NOT NULL,
    `selection10` enum('O','N') default 'N',
    `Nom_ selection10` varchar(255) NOT NULL,
    PRIMARY KEY (`ID_comparaison`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    -- Création de la table Resultat

    CREATE TABLE `resultats` (
    `ID_Resultat` int(11) NOT NULL auto_increment,
    `ID_comparaison` int(11) NOT NULL default '0',
    `Resultat1` decimal(10,0) NOT NULL default '0',
    `Resultat2` decimal(10,0) NOT NULL default '0',
    `Resultat3` decimal(10,0) NOT NULL default '0',
    `Resultat4` decimal(10,0) NOT NULL default '0',
    `Resultat5` decimal(10,0) NOT NULL default '0',
    `Resultat6` decimal(10,0) NOT NULL default '0',
    `Resultat7` decimal(10,0) NOT NULL default '0',
    `Resultat8` decimal(10,0) NOT NULL default '0',
    `Resultat9` decimal(10,0) NOT NULL default '0',
    `Resultat10` int(11) decimal(10,0) NOT NULL default '0',
    `Date_resultat` datetime NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`ID_Resultat`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Discussions similaires

  1. Problème à la création d'une table
    Par romstarr dans le forum Administration
    Réponses: 4
    Dernier message: 19/02/2007, 08h45
  2. Problème de création table InnoDb + Foreign key (150)
    Par Bensor dans le forum Requêtes
    Réponses: 1
    Dernier message: 29/09/2006, 00h17
  3. Problème création table
    Par calitom dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/07/2006, 13h50
  4. Réponses: 9
    Dernier message: 05/04/2006, 17h48
  5. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59

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