Changeset 1019
- Timestamp:
- 04/29/08 09:42:24 (7 months ago)
- Files:
-
- traduc/trunk/postgresql/contrib-spi.xml (modified) (3 diffs)
- traduc/trunk/postgresql/contrib.xml (modified) (1 diff)
- traduc/trunk/postgresql/cube.xml (modified) (30 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
traduc/trunk/postgresql/contrib-spi.xml
r990 r1019 15 15 <para> 16 16 Le module <filename>contrib/spi</filename> fournit plusieurs exemples 17 fonctionnels d'utilisation de SPI et des déclencheurs. Bien que ces fonctions aient un e18 certaine valeur en soi, elles sont encore plus utiles en tant qu'exemples17 fonctionnels d'utilisation de SPI et des déclencheurs. Bien que ces fonctions aient un 18 intérêt certain, elles sont encore plus utiles en tant qu'exemples 19 19 à modifier pour atteindre ses propres buts. Les fonctions sont suffisamment 20 20 généralistes pour être utilisées avec une table quelconque, mais la création d'un 21 21 déclencheur impose que les noms des tables et des champs soient précisés 22 (comme décrit ci-dessous).22 (comme cela est décrit ci-dessous). 23 23 </para> 24 24 … … 70 70 71 71 <sect2> 72 <title>timetravel.c — fonctions pour implémenter levoyage dans le72 <title>timetravel.c — fonctions de codage du voyage dans le 73 73 temps</title> 74 74 … … 113 113 114 114 <para> 115 Pour une ligne modifiable ,en mise à jour, seul stop_date est115 Pour une ligne modifiable en mise à jour, seul stop_date est 116 116 modifié (positionné à l'heure courante) et une nouvelle ligne avec la donnée modifiée 117 117 est insérée. Pour cette nouvelle ligne, start_date est positionné à traduc/trunk/postgresql/contrib.xml
r988 r1019 76 76 <para> 77 77 La première commande du fichier <literal>.sql</literal> peut être modifiée 78 pour déterminer le schéma de la base où s eront créés78 pour déterminer le schéma de la base où sont créés 79 79 les objets. Par défaut, ils sont placés dans <literal>public</literal>. 80 80 </para> traduc/trunk/postgresql/cube.xml
r973 r1019 13 13 14 14 <para> 15 Ce module implémente le type de données <type>cube</type>, représentant des16 cubes à plusieurs dimensions.15 Ce module code le type de données <type>cube</type> pour 16 représenter des cubes à plusieurs dimensions. 17 17 </para> 18 18 … … 23 23 Ce qui suit est un ensemble de représentations externes valides pour le 24 24 type <type>cube</type>. <replaceable>x</replaceable>, 25 <replaceable>y</replaceable> , etcsont des nombres en virgule25 <replaceable>y</replaceable>... sont des nombres en virgule 26 26 flottante : 27 27 </para> … … 33 33 <row> 34 34 <entry><literal><replaceable>x</replaceable></literal></entry> 35 <entry> Une valeur en virgule flottante représentation un point sur36 une dimension ou un élément cube zéro à une dimension35 <entry>point uni-dimensionnel (ou interval unidimensionnel de longueur 36 nulle) 37 37 </entry> 38 38 </row> … … 44 44 <entry><literal><replaceable>x1</replaceable>,<replaceable>x2</replaceable>,...,<replaceable>xn</replaceable></literal></entry> 45 45 <entry>Un point dans un espace à n dimensions, représenté en interne 46 comme un e boîte de volume zéro46 comme un cube de volume nul 47 47 </entry> 48 48 </row> … … 53 53 <row> 54 54 <entry><literal>(<replaceable>x</replaceable>),(<replaceable>y</replaceable>)</literal></entry> 55 <entry> Élément cube à une dimension commençant à56 <replaceable>x</replaceable> et se terminant à55 <entry>Interval uni-dimensionnel débutant à 56 <replaceable>x</replaceable> et finissant à 57 57 <replaceable>y</replaceable> ou vice-versa ; l'ordre n'importe pas 58 58 </entry> … … 64 64 <row> 65 65 <entry><literal>(<replaceable>x1</replaceable>,...,<replaceable>xn</replaceable>),(<replaceable>y1</replaceable>,...,<replaceable>yn</replaceable>)</literal></entry> 66 <entry>Boîte à n dimensions représentée par une paire pour ses coins 67 opposés 66 <entry>Cube à n dimensions représenté par paires de coins diagonalement opposés 68 67 </entry> 69 68 </row> … … 77 76 78 77 <para> 79 Peu importe l'ordre dans lesquels sont saisis les coins opposés d'un cube.78 L'ordre de saisie des coins opposés d'un cube n'a aucune importance. 80 79 Les fonctions <type>cube</type> s'occupent de la bascule 81 pour réaliser une représentation uniforme <quote>en bas à gauche, en haut à 82 droite</quote>. 83 </para> 84 85 <para> 86 Les espaces blancs sont ignorés, donc 87 <literal>[(<replaceable>x</replaceable>),(<replaceable>y</replaceable>)]</literal> est identique à 80 nécessaire à l'obtention d'une représentation uniforme 81 <quote>bas gauche, haut droit</quote>. 82 </para> 83 84 <para> 85 Les espaces sont ignorées, 86 <literal>[(<replaceable>x</replaceable>),(<replaceable>y</replaceable>)]</literal> 87 est donc identique à 88 88 <literal>[ ( <replaceable>x</replaceable> ), ( <replaceable>y</replaceable> ) ]</literal>. 89 89 </para> … … 96 96 Les valeurs sont enregistrées en interne sous la forme de nombres en 97 97 virgule flottante. Cela signifie que les nombres avec plus de 16 chiffres 98 significatifs s eront tronqués.98 significatifs sont tronqués. 99 99 </para> 100 100 </sect2> … … 120 120 <listitem> 121 121 <programlisting> 122 a && b Couvre une partie122 a && b Recouvre 123 123 </programlisting> 124 124 <para> 125 Les cubes a et b se c ouvrent en partie.125 Les cubes a et b se chevauchent. 126 126 </para> 127 127 </listitem> … … 147 147 (Avant PostgreSQL 8.2, les opérateurs de contenance @> et <@ étaient 148 148 appelés respectivement @ et ~. Ces noms sont toujours disponibles mais sont 149 déclarés obsolètes et seront supprimés un jour. Notez que les anciens noms149 déclarés obsolètes et seront supprimés un jour. Les anciens noms 150 150 sont inversés par rapport à la convention suivie par les types de données 151 151 géométriques !) … … 160 160 </programlisting> 161 161 162 Ces opérateurs n'ont pas vraiment de sens sauf en ce qui concernele tri.162 Ces opérateurs n'ont vraiment de sens que pour le tri. 163 163 Ces opérateurs comparent en premier (a) à (c) et, s'ils sont égaux, 164 164 comparent (b) à (d). Cela fait un bon tri dans la plupart des cas, ce qui 165 est utile si vous voulezutiliser ORDER BY avec ce type.165 permet d'utiliser ORDER BY avec ce type. 166 166 </para> 167 167 … … 176 176 <row> 177 177 <entry><literal>cube(float8) returns cube</literal></entry> 178 <entry>Crée un cube à une dimension avec les mêmes coordonnées.178 <entry>Crée un cube uni-dimensionnel de coordonnées identiques. 179 179 <literal>cube(1) == '(1)'</literal> 180 180 </entry> … … 183 183 <row> 184 184 <entry><literal>cube(float8, float8) returns cube</literal></entry> 185 <entry>Crée un cube à une dimension.185 <entry>Crée un cube uni-dimensionnel. 186 186 <literal>cube(1,2) == '(1),(2)'</literal> 187 187 </entry> … … 198 198 <row> 199 199 <entry><literal>cube(float8[], float8[]) returns cube</literal></entry> 200 <entry>Crée un cube avec les coordonnées en haut à droite et en201 bas à gauche définies par deux tableaux de flottants. Tous les202 tableaux doivent être de la même longueur.200 <entry>Crée un cube avec les coordonnées haut droit et 201 bas gauche définies par deux tableaux de flottants, obligatoirement 202 de même taille. 203 203 <literal>cube('{1,2}'::float[], '{3,4}'::float[]) == '(1,2),(3,4)' 204 204 </literal> … … 211 211 cube existant avec les mêmes valeurs pour les deux parties de la 212 212 nouvelle coordonnée. Ceci est utile pour construire des cubes pièce 213 par pièce à partir de svaleurs calculées.213 par pièce à partir de valeurs calculées. 214 214 <literal>cube('(1)',2) == '(1,2),(1,2)'</literal> 215 215 </entry> … … 218 218 <row> 219 219 <entry><literal>cube(cube, float8, float8) returns cube</literal></entry> 220 <entry>Crée un nouveau cube en ajoutant une dimension surun cube221 existant. C 'est utile pour construire des cubes pièce par pièce à partir220 <entry>Crée un nouveau cube en ajoutant une dimension à un cube 221 existant. Ceci est utile pour construire des cubes pièce par pièce à partir 222 222 de valeurs calculées. 223 223 <literal>cube('(1,2)',3,4) == '(1,3),(2,4)'</literal> … … 227 227 <row> 228 228 <entry><literal>cube_dim(cube) returns int</literal></entry> 229 <entry>Renvoie le nombre de dimensions du cube 229 <entry>Renvoie le nombre de dimensions du cube. 230 230 </entry> 231 231 </row> … … 234 234 <entry><literal>cube_ll_coord(cube, int) returns double </literal></entry> 235 235 <entry>Renvoie la n-ième coordonnée pour le coin en bas à 236 gauche d'un cube 236 gauche d'un cube. 237 237 </entry> 238 238 </row> … … 242 242 </literal></entry> 243 243 <entry>Renvoie la n-ième coordonnée pour le coin en haut à droite d'un 244 cube 244 cube. 245 245 </entry> 246 246 </row> … … 263 263 </literal></entry> 264 264 <entry>Crée un nouveau cube à partir d'un cube existant en utilisant une 265 liste d'index de dimension pourun tableau. Peut être utilisé pour266 trouver les coordonnées en bas à gauche et en haut à droited'une265 liste d'index de dimension d'un tableau. Peut être utilisé pour 266 trouver les coordonnées bas gauche et haut droit d'une 267 267 dimension, par exemple : 268 268 <literal>cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[2]) = '(3),(7)'</literal>. 269 Ou peutêtre utilisé pour supprimer des dimensions, ou pour les270 réordonner comme voulu, par exemple :269 Peut aussi être utilisé pour supprimer des dimensions, ou pour les 270 réordonner, par exemple : 271 271 <literal>cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[3,2,1,1]) = '(5, 3, 272 272 1, 1),(8, 7, 6, 6)'</literal>. … … 276 276 <row> 277 277 <entry><literal>cube_union(cube, cube) returns cube</literal></entry> 278 <entry> Produces the union of two cubes278 <entry>Réalise l'union de deux cubes. 279 279 </entry> 280 280 </row> … … 282 282 <row> 283 283 <entry><literal>cube_inter(cube, cube) returns cube</literal></entry> 284 <entry> Produit l'intersection de deux cubes284 <entry>Réalise l'intersection de deux cubes. 285 285 </entry> 286 286 </row> … … 288 288 <row> 289 289 <entry><literal>cube_enlarge(cube c, double r, int n) returns cube</literal></entry> 290 <entry>Augmente la taille d'un cube suivant un ra diusprécisé291 dans au moins n dimensions. Si le ra diusest négatif, la boîte est290 <entry>Augmente la taille d'un cube suivant un rayon précisé 291 dans au moins n dimensions. Si le rayon est négatif, la boîte est 292 292 diminuée. C'est utile pour créer des boîtes limitantes autour d'un 293 293 point dans le but de rechercher les points voisins. Toutes les 294 dimensions définies sont modifiées par le radius. Si n est plus grand 294 dimensions définies sont modifiées de la valeur du rayon r. 295 Les coordonnées bas gauche sont décrémentées de r et les coordonnées 296 haut droit sont incrémentées de r. Si une coordonnée bas gauche est 297 incrémentée au-delà de la valeur correspondante haut droit (ce qui ne 298 peut arriver que lorsque r < 0), les deux coordonnées sont 299 positionnées à leur moyenne. Si n est plus grand 295 300 que le nombre de dimensions définies et que le cube est augmenté 296 301 (r >= 0), alors 0 est utilisé comme base des coordonnées … … 307 312 308 313 <para> 309 Je crois que cetteunion :314 Le développeur pense que l'union : 310 315 </para> 311 316 <programlisting> … … 318 323 319 324 <para> 320 n'est pas en contradiction avec le bon sens et ne fait pasl'intersection325 n'est pas en contradiction avec le bon sens. Pas plus que l'intersection 321 326 </para> 322 327 … … 330 335 331 336 <para> 332 Dans toutes les opérations binaires sur des boîtes de différentes tailles,333 je suppose que la plus petite est une projection cartésienne, c'est-à-dire334 avoirdes zéros à la place des coordonnées omises dans la représentation335 sous forme de chaîne. Les exemples ci-dess ous sont équivalents à :337 Dans toutes les opérations binaires sur des boîtes de tailles différentes, 338 l'auteur suppose que la plus petite est une projection cartésienne, 339 c'est-à-dire qu'il y a des zéros à la place des coordonnées omises dans la représentation 340 sous forme de chaîne. Les exemples ci-dessus sont équivalents à : 336 341 </para> 337 342 … … 342 347 343 348 <para> 344 Le prédicat de contenance suivant utilise la syntaxe pointalors qu'en349 Le prédicat de contenance suivant utilise la syntaxe en points alors qu'en 345 350 fait, le second argument est représenté en interne par une boîte. Cette 346 syntaxe rend inutile la définition du type spécial Point et les fonctions347 pour le prédicat(boîte,point).351 syntaxe rend inutile la définition du type point et des fonctions 352 pour les prédicats (boîte,point). 348 353 </para> 349 354 … … 367 372 <para> 368 373 Pour éviter toute mauvaise utilisation, le nombre de dimensions des cubes 369 est limité à 100. Cela se configure dans <filename>cubedata.h</filename> si 370 vous voulez l'augmenter. 374 est limité à 100. Cela se configure dans <filename>cubedata.h</filename>. 371 375 </para> 372 376 </sect2> … … 376 380 377 381 <para> 378 Auteur original : Gene Selkov, Jr. <email>selkovjr@mcs.anl.gov</email>,382 Auteur d'origine : Gene Selkov, Jr. <email>selkovjr@mcs.anl.gov</email>, 379 383 Mathematics and Computer Science Division, Argonne National Laboratory. 380 384 </para> 381 385 </sect2> 386 387 <sect2> 388 <title>Note de l'auteur</title> 382 389 <para> 383 390 Mes remerciements vont tout particulièrement au professeur Joe Hellerstein 384 (<ulink url="http://db.cs.berkeley.edu/~jmh/"></ulink>) pour avoir élucier391 (<ulink url="http://db.cs.berkeley.edu/~jmh/"></ulink>) qui a su extraire 385 392 l'idée centrale de GiST (<ulink 386 url="http://gist.cs.berkeley.edu/"></ulink>), et à son ancien étudiant,393 url="http://gist.cs.berkeley.edu/"></ulink>), et à son étudiant précédant, 387 394 Andy Dong 388 395 (<ulink url="http://best.me.berkeley.edu/~adong/"></ulink>), pour son 389 exemple . Mes remerciements aussiaux390 développeurs de PostgreSQL pour m'avoirpermis de créer mon propre monde391 et de pouvoir y vivre sans pertubation. Argonne Lab et le département392 américain de l'énergie ont aussi toute ma gratitude pour les années de393 support dans m a recherchesur les bases de données.394 </para> 395 396 <para> 397 Des modifications mineures ont été effectuées sur ce modul par Bruno Wolff398 III <email>bruno@wolff.to</email> en août/septembre 2002. Elles incluent396 exemple rédigé dans Illustra. Mes remerciements vont également aux 397 développeurs de PostgreSQL qui m'ont permis de créer mon propre monde 398 et de pouvoir y vivre sans être dérangé. Toute ma gratitude aussi à 399 Argonne Lab et au département américain de l'énergie pour les années de 400 support dans mes recherches sur les bases de données. 401 </para> 402 403 <para> 404 Des modifications mineures ont été effectuées sur ce module par Bruno Wolff 405 III <email>bruno@wolff.to</email> en août/septembre 2002. Elles incluent 399 406 la modification de la précision (de simple à double) et l'ajout de 400 407 quelques nouvelles fonctions. … … 404 411 Des mises à jour supplémentaires ont été réalisées par Joshua Reich 405 412 <email>josh@root.net</email> en juillet 2006. Elles concernent 406 <literal>cube(float8[], float8[])</literal> et le nettoyage du code pour407 utiliser le protocole d'appel V à la place de la forme V0 maintenant413 l'ajout de <literal>cube(float8[], float8[])</literal> et le nettoyage du code pour 414 utiliser le protocole d'appel V1 à la place de la forme V0 maintenant 408 415 obsolète. 409 416 </para>

