[Trad] [svn:pgfr] r1215 - traduc/trunk/postgresql
admin at listes.postgresql.fr
admin at listes.postgresql.fr
Ven 9 Jan 17:28:53 CET 2009
Author: sas
Date: 2009-01-09 17:28:53 +0100 (Fri, 09 Jan 2009)
New Revision: 1215
Modified:
traduc/trunk/postgresql/intagg.xml
Log:
Un petit pour la route
Modified: traduc/trunk/postgresql/intagg.xml
===================================================================
--- traduc/trunk/postgresql/intagg.xml 2008-12-29 22:15:50 UTC (rev 1214)
+++ traduc/trunk/postgresql/intagg.xml 2009-01-09 16:28:53 UTC (rev 1215)
@@ -12,8 +12,8 @@
</indexterm>
<para>
- Le module <filename>intagg</filename> fournit une
- agrégation pour entier et un énumérateur.
+ Le module <filename>intagg</filename> fournit un
+ agrégateur d'entiers et un énumérateur.
</para>
<sect2>
@@ -22,9 +22,13 @@
<para>
L'agrégateur est une fonction d'agrégat
<function>int_array_aggregate(integer)</function> qui produit un tableau
- d'entiers contenant exactement les entiers en arguments :
+ d'entiers contenant exactement les entiers fournis en argument.
</para>
+ <para>
+ Exemple :
+ </para>
+
<programlisting>
test=# select int_array_aggregate(i) from
test-# generate_series(1,10,2) i;
@@ -38,10 +42,14 @@
L'énumérateur est une fonction
<function>int_array_enum(integer[])</function> qui renvoie
<type>setof integer</type>. C'est essentiellement une opération reverse de
- l'agrégateur : avec un tableau d'entiers, l'étendre en un ensemble de
- lignes. Par exemple,
+ l'agrégateur : elle étend un tableau d'entiers en un ensemble de
+ lignes.
</para>
+ <para>
+ Exemple :
+ </para>
+
<programlisting>
test=# select * from int_array_enum(array[1,3,5,7,9]);
int_array_enum
@@ -60,9 +68,9 @@
<title>Exemples d'utilisation</title>
<para>
- Un grand nombre de bases de données ont la notion de <quote>une vers
- plusieurs tables</quote>. Ce type de table se trouve habituellement entre
- deux tables indexés, par exemple :
+ Un grand nombre de bases de données utilisent la notion de table <quote>une vers
+ plusieurs</quote> (<foreignphrase>one to many</foreignphrase>). Ce type de table
+ se trouve habituellement entre deux tables indexés, par exemple :
</para>
<programlisting>
@@ -81,18 +89,18 @@
</programlisting>
<para>
- Ceci renverra tous les éléments de la table de droite pour un enregistrement
- de la table de gauche. Il s'agit d'une construction assez commune en SQL.
+ Cela renvoie tous les éléments de la table de droite pour un enregistrement
+ de la table de gauche donné. Il s'agit d'une construction assez commune en SQL.
</para>
<para>
- Cette méthode devient complexe avec plusieurs tables. Souvent, une jointure
- de ce type pourrait résulter
- en un parcours d'index et une récupération de chaque enregistrement de
- la table de droite pour chaque entrée particulière de la table de gauche.
- Si vous avez un système dynamique, vous ne pourrez pas faire grand chose pour
- aller contre ça. Néanmoins, si certaines de vos données sont statiques, vous
- pouvez créer une table résumé avec l'agrégation.
+ Cette méthode devient complexe lorsqu'il existe de nombreuses entrées dans la
+ table <structname>one_to_many</structname>. Souvent, une jointure
+ de ce type résulte en un parcours d'index et une récupération de chaque enregistrement de
+ la table de droite pour une entrée particulière de la table de gauche.
+ Sur un système dynamique, il n'y a pas grand chose à faire. Au contraire,
+ lorsqu'une partie des données est statique, une table de résumé peut être
+ créée par agrégation.
</para>
<programlisting>
@@ -104,15 +112,19 @@
<para>
Ceci crée une table avec une ligne par élément gauche et un tableau d'éléments
- droits. Ceci est réellement inutilisable sans un moyen pour utiliser le
- tableau, et c'est là que l'énumérateur entre en service. You can do
+ droits. En l'absence de méthode d'utilisation de tableau, c'est réellement
+ inutilisable, d'où l'énumérateur.
</para>
+
+ <para>
+ Exemple :
+ </para>
<programlisting>
SELECT left, int_array_enum(right) FROM summary WHERE left = <replaceable>item</replaceable>;
</programlisting>
<para>
- La requête ci-dessus utilisant <function>int_array_enum</function> produit les mêmes résultats
+ La requête ci-dessus, qui utilise <function>int_array_enum</function>, produit les mêmes résultats
que celle-ci :
</para>
<programlisting>
@@ -120,15 +132,16 @@
</programlisting>
<para>
- La différence tient dans le fait que la requête utilisant la table résumé
- doit seulement récupérer une ligne de la table alors que l'ancienne requête
- doit faire un parcours d'index et récupérer une ligne par enregistrement.
+ La différence tient dans le fait que la requête qui utilise la table de résumé
+ ne récupère qu'une ligne de la table alors que la requête directe à
+ <structname>one_to_many</structname> doit faire un parcours d'index et
+ récupérer une ligne par enregistrement.
</para>
<para>
- Sur un système, un <command>EXPLAIN</command> a montré qu'une requête avec
+ Sur un système particulier, un <command>EXPLAIN</command> a montré qu'une requête avec
un coût de 8488 a été réduite à une requête d'un coût de 329. La requête
originale était une jointure impliquant la table
- <structname>one_to_many</structname>, which was replaced by:
+ <structname>one_to_many</structname>, remplacée par :
</para>
<programlisting>
SELECT right, count(right) FROM
More information about the Trad
mailing list