From: | Denis Bitouzé <dbitouze(at)wanadoo(dot)fr> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Meilleur moyen de créer des tuples ? |
Date: | 2008-01-04 21:45:45 |
Message-ID: | 20080104224545.26f4deac@drums |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Le Wed, 02 Jan 2008 09:09:54 +0100
Sébastien Lardière <sebastien(at)lardiere(dot)net> a écrit :
> 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,
Bonne année également, et désolé pour le retard avec lequel je
réponds, déplacement oblige...
> 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.
En fait, il n'est pas interdit qu'un étudiant appartienne à plusieurs
groupes (il peut y avoir des binômes différents selon les
épreuves, selon les matières, etc.) De même, deux groupes identiques
peuvent coexister s'ils n'appartiennent pas à la même épreuve.
> 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.
J'en ai conscience.
> Est-ce que c'est du multivalué ?
Eh bien, à la lecture des différentes formes normales dans une base de
données relationnelle, j'ai été convaincu du danger que représentent
les modèles multivalués et je dois dire que j'ai été très surpris de
constater que PostGreSQL proposait des tableaux, ce qui me semblait
aller à l'encontre de ce qui était préconisé.
> >
> >> 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
Merci, je vais étudier cela.
> > (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
Ça, je l'avais vu, mais si j'ai bien compris, ça s'applique à toutes
les lignes d'une requête (par exemple pour rechercher le minimum d'une
colonne). Ce que je souhaitais, quant à moi, c'était pour une
colonne de notes, faire une requête m'affichant pour chaque ligne le
minimum entre (disons) 20 et la note de la ligne. Par exemple, j'aurais
espéré que convienne quelque chose comme :
select min(20,*) from notes;
En tous cas, merci !
--
Denis
From | Date | Subject | |
---|---|---|---|
Next Message | Sébastien Lardière | 2008-01-05 15:53:01 | Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Meilleur moyen de créer des tuples ? |
Previous Message | Sébastien Lardière | 2008-01-02 08:09:54 | Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Meilleur moyen de créer des tuples ? |