Denis Bitouzé a écrit :
Donc, finalement, j'ai persisté avec une table du genre (en fait, au
lieu de tuples, je parle plutôt de polynômes -- généralisation de
binôme, trinôme, etc. --, mes « utilisateurs » sont des étudiants et il
y a, en colonne supplémentaire, l'épreuve qu'ils subissent ;) :
select * from polynomes;
id_epreuve | id_etudiants_polynomes | id_poly
------------+------------------------+---------
1 | {5,15} | 1
1 | {6,23} | 2
1 | {10,11} | 3
1 | {13,21} | 4
1 | {26,24} | 5
1 | {17,18} | 6
1 | {52,53,54} | 7
où id_poly est la clé primaire, de type serial pour ne pas avoir à me
préoccuper de sa génération.
Bonjour, et bonne année à tous,Cette clé primaire ne sert à rien, puisqu'on ne sait pas si un étudiant est plusieurs fois dans le même groupe, ni si deux groupes identiques existent.
Le principe de base d'une relation est d'avoir deux dimension : un paire nom-domaine, et des tuples, ce qui fait que chaque intersection n'a qu'une seule valeur. En utilisant un tableau, ce n'est plus une relation. Est-ce que c'est du multivalué ?
et éventuellement un aggrégat pour rassembler les utilisateurs ...Peux-tu me donner un exemple de la chose ? J'ai un peu de mal àcomprendre le concept d'agrégat
Stéphane Bortzmeyer a écrit un très bon article sur le sujet : http://www.bortzmeyer.org/agregats-postgresql.html
(par exemple, j'ai été très surpris de voir qu'on disposait de sum, avg, etc. mais pas de min ou de max !).
Ou avez-vous vu cela ? -> http://docs.postgresqlfr.org/8.2/functions-aggregate.html
-- Sébastien Lardière