Re: Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Meilleur moyen de créer des tuples ?

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

In response to

Responses

Browse pgsql-fr-generale by date

  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 ?