Bonjour,

Je voudrais créer un base de donner résultat. Cette base contiendra des comparaisons entres plusieurs personnes. Les résultats sont toujours sur 100%.
La comparaison peut s'effectuer entre 2 personnes minimum et 10 personnes maximum.

Je vais prendre comme exemple une actrice A qui peut être comparé à 2,3,4,8,10 autres actrices, toutes les comparaisons sont possibles. L'ordre de comparaison n'a aucune importance. Ce qui représente pour une seule actrice une centaine de comparaisons donc une centaine de résultats.

Exemple concret:

Comparaison entre l'actrice 2 et 6

actrice 2 = 60 %
actrice 6 = 40 %

Comparaison entre l'actrice 2, 6 et 8

actrice 2 = 32 %
actrice 6 = 28 %
actrice 8 = 40 %


On peut constater sur l'exemple que le résultat à changé puisque nous avons ajouté une nouvelle personne et que le résultat est sur 100%.

Important : Pour extraire les données il ne doit pas y avoir de calcul juste un système de champs pour stocker toutes ces informations. Je ne veux pas de programme pour faire un sondage je veux juste de l'aide pour créer ma base. Dans l'extrême les données pourraient même être collectées de façon manuelle et ensuite saisies pour être incorporé dans les tables.

Voila ce que j'ai commencé à écrire mais c'est loin d'être terminé. Je n'ai pas mis les contraintes. La base doit être logique car ensuite je devrait l'exporter en XML.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
-- 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 ;
Je me demandais si dans la table comparaison je pouvais ajouter un champs du type association. Ce champs serait composer de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
`nbr_association` int(11) NOT NULL.
le calcul ce ferait comme en binaire 0 pour non et 1 pour oui et cette suite consulterais le résultat dans la table résultat

exemple 1 :

actrice 1, actrice 6, actrice 9

nbr_association = 1000010010
Table résultat

actrice 1 = 40
actrice 2 = null
actrice 3 = null
actrice 4 = null
actrice 5 = null
actrice 6 = 35
actrice 7 = null
actrice 8 = null
actrice 9 = 25
actrice 10 = null

exemple 2 :

actrice 4, actrice 6, actrice 8

nbr_association = 0001010100
Table résultat

actrice 1 = null
actrice 2 = null
actrice 3 = null
actrice 4 = 28
actrice 5 = null
actrice 6 = 35
actrice 7 = null
actrice 8 = 37
actrice 9 = null
actrice 10 = null

Merci de votre aide et de vos lanternes