Changeset 28
- Timestamp:
- 10/16/05 19:03:46 (3 years ago)
- Files:
-
- traduc/tags/tv810b2 (copied) (copied from traduc/trunk)
- traduc/tags/tv810b2/sgml/backup.sgml (copied) (copied from traduc/trunk/sgml/backup.sgml)
- traduc/tags/tv810b2/sgml/config.sgml (copied) (copied from traduc/trunk/sgml/config.sgml)
- traduc/tags/tv810b2/sgml/ddl.sgml (copied) (copied from traduc/trunk/sgml/ddl.sgml)
- traduc/tags/tv810b2/sgml/dml.sgml (copied) (copied from traduc/trunk/sgml/dml.sgml)
- traduc/tags/tv810b2/sgml/queries.sgml (copied) (copied from traduc/trunk/sgml/queries.sgml)
- traduc/tags/tv810b2/sgml/ref/savepoint.sgml (copied) (copied from traduc/trunk/sgml/ref/savepoint.sgml)
- traduc/tags/tv810b2/sgml/xindex.sgml (modified) (16 diffs)
- traduc/tags/tv810b2/sgml/xoper.sgml (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
traduc/tags/tv810b2/sgml/xindex.sgml
r15 r28 13 13 pour le nouveau type de données. Plus loin dans cette section, nous 14 14 illustrerons ce concept avec un exemple : une nouvelle classe 15 d'opérateur pour la méthode d'indexa geB-tree qui enregistre et trie des15 d'opérateur pour la méthode d'indexation B-tree qui enregistre et trie des 16 16 nombres complexes dans l'ordre ascendant des valeurs absolues. 17 17 </para> … … 81 81 82 82 <sect2 id="xindex-strategies"> 83 <title>Stratégies des méthode d'indexa ge</title>83 <title>Stratégies des méthode d'indexation</title> 84 84 85 85 <para> … … 94 94 nom d'un opérateur (par exemple, <literal><</> ou <literal>>=</>) et 95 95 rapporter de quelle comparaison il s'agit. Au lieu de cela, la méthode 96 d'indexa gedéfinit un ensemble de <quote>stratégies</>, qui peuvent être96 d'indexation définit un ensemble de <quote>stratégies</>, qui peuvent être 97 97 comprises comme des opérateurs généralisés. Chaque classe d'opérateur 98 98 spécifie l'opérateur effectif correspondant à chaque stratégie pour un type … … 101 101 102 102 <para> 103 La méthode d'indexa geB-tree définit cinq stratégies, exposées dans le <xref103 La méthode d'indexation B-tree définit cinq stratégies, exposées dans le <xref 104 104 linkend="xindex-btree-strat-table">. 105 105 </para> … … 244 244 Notez que tous les opérateurs de stratégie renvoient des valeurs de type 245 245 booléen. Dans la pratique, tous les opérateurs définis comme stratégies de 246 méthode d'indexa gedoivent renvoyer un type <type>boolean</type> puisqu'ils246 méthode d'indexation doivent renvoyer un type <type>boolean</type> puisqu'ils 247 247 doivent apparaître au plus haut niveau d'une clause <literal>WHERE</> pour 248 248 être utilisés avec un index. … … 250 250 251 251 <para> 252 En fait, la colonne <structfield>amorderstrategy</structfield> dans253 <classname>pg_am</> indique si la méthode d'indexa gesupporte les balayages252 A ce propos, la colonne <structfield>amorderstrategy</structfield> dans 253 <classname>pg_am</> indique si la méthode d'indexation supporte les balayages 254 254 ordonnés. Zéro indique qu'elle ne les supporte pas ; si elle les 255 255 supporte, <structfield>amorderstrategy</structfield> est le numéro de … … 261 261 262 262 <sect2 id="xindex-support"> 263 <title>Routines d'appui des méthodes d'indexa ge</title>263 <title>Routines d'appui des méthodes d'indexation</title> 264 264 265 265 <para> 266 266 Généralement, les stratégies n'apportent pas assez d'informations au système 267 267 pour indiquer comment utiliser un index. Dans la pratique, les méthodes 268 d'indexa gedemandent des routines d'appui additionnelles pour fonctionner. Par268 d'indexation demandent des routines d'appui additionnelles pour fonctionner. Par 269 269 exemple, les méthodes d'index B-tree doivent être capables de comparer deux 270 270 clés et de déterminer laquelle est supérieure, égale ou inférieure à l'autre. 271 De la même façon, la méthode d'indexa geR-tree doit être capable de calculer271 De la même façon, la méthode d'indexation R-tree doit être capable de calculer 272 272 les intersections, unions et dimensions des rectangles. Ces opérations ne 273 273 correspondent pas à des opérateurs utilisés dans les commandes SQL ; ce … … 277 277 278 278 <para> 279 Tout comme les stratégies, la classe d'opérateur reconnaîtles fonctions280 spécifiques avec lesquelles elle doit jouer chacun de ces rôlespour un281 type de donnée et une interprétation sémantique. La méthode d'indexage279 Comme pour les stratégies, la classe d'opérateur énumère les fonctions 280 spécifiques et le rôle qu'elles doivent jouer pour un 281 type de donnée donné et une interprétation sémantique donnée. La méthode d'indexation 282 282 définit l'ensemble des fonctions dont elle a besoin et la classe d'opérateur 283 identifie les fonctions correctes à utiliser en les assignant aux283 identifie les fonctions exactes à utiliser en les assignant aux 284 284 <quote>numéros de fonction d'appui</>. 285 285 </para> … … 359 359 </row> 360 360 <row> 361 <entry> size</entry>361 <entry>taille</entry> 362 362 <entry>3</entry> 363 363 </row> … … 382 382 <tbody> 383 383 <row> 384 <entry>co nsistent</entry>384 <entry>cohérence</entry> 385 385 <entry>1</entry> 386 386 </row> … … 390 390 </row> 391 391 <row> 392 <entry>compress </entry>392 <entry>compression</entry> 393 393 <entry>3</entry> 394 394 </row> 395 395 <row> 396 <entry>d ecompress</entry>396 <entry>décompression</entry> 397 397 <entry>4</entry> 398 398 </row> 399 399 <row> 400 <entry> penalty</entry>400 <entry>coût</entry> 401 401 <entry>5</entry> 402 402 </row> 403 403 <row> 404 <entry> picksplit</entry>404 <entry>séparation</entry> 405 405 <entry>6</entry> 406 406 </row> 407 407 <row> 408 <entry> equal</entry>408 <entry>égalité</entry> 409 409 <entry>7</entry> 410 410 </row> … … 415 415 <para> 416 416 Contrairement aux opérateurs de stratégie, les fonctions d'appui renvoient le 417 type de donnée, quelqu'il soit, que la méthode d'indexa geparticulière417 type de donnée, quelqu'il soit, que la méthode d'indexation particulière 418 418 attend, par exemple, dans le cas de la fonction de comparaison des B-trees, 419 419 un entier signé. … … 590 590 d'indexer les opérations qui comparent une colonne indexée à une valeur d'un 591 591 type de données différent. Ceci est actuellement supporté par les méthodes 592 d'indexa geB-tree et GiST.592 d'indexation B-tree et GiST. 593 593 </para> 594 594 … … 654 654 655 655 <indexterm> 656 <primary>Opérateur d'ord ination</primary>656 <primary>Opérateur d'ordonnancement</primary> 657 657 </indexterm> 658 658 … … 720 720 <para> 721 721 Normalement, déclarer un opérateur comme membre d'une classe d'opérateur 722 signifie que la méthode d'indexa gepeut retrouver exactement l'ensemble de722 signifie que la méthode d'indexation peut retrouver exactement l'ensemble de 723 723 lignes qui satisfait la condition <literal>WHERE</> utilisant cet opérateur. 724 724 Par exemple, … … 757 757 </programlisting> 758 758 759 Actuellement, seule la méthode d'indexa geGiST supporte un type759 Actuellement, seule la méthode d'indexation GiST supporte un type 760 760 <literal>STORAGE</> qui soit différent du type de donnée de la colonne. Les 761 routines d'appui de GiST <literal>compress</> et <literal>decompress</>762 doivent s'occuper de la conversion du type de donnée quand763 <literal>STORAGE</> est utilisé.761 routines d'appui de GiST pour la <literal>compression</> et la 762 <literal>décompression</> doivent s'occuper de la conversion du type de 763 donnée quand <literal>STORAGE</> est utilisé. 764 764 </para> 765 765 </sect2> traduc/tags/tv810b2/sgml/xoper.sgml
r15 r28 3 3 <title>Opérateurs définis par l'utilisateur</title> 4 4 5 <Para> 6 Chaque opérateur est un <quote>sucre syntaxique</quote> pour l'appel d'une 7 fonction sous-jacente qui fait le travail ; aussi devez-vous en premier 8 lieu créer cette fonction avant de pouvoir créer l'opérateur. Toutefois, un 9 opérateur n'est pas <emphasis>simplement</emphasis> un <quote>sucre 10 syntaxique</quote> car il apporte une information supplémentaire qui aide le 11 planificateur de requête à optimiser les requêtes utilisées par l'opérateur. 12 La prochaine section est consacrée à l'explication de cette information 13 additionnelle. 14 </Para> 5 <Para> Chaque opérateur est un <quote>sucre syntaxique</quote> pour l'appel 6 d'une fonction sous-jacente qui effectue le véritable travail ; aussi 7 devez-vous en premier lieu créer cette fonction avant de pouvoir créer 8 l'opérateur. Toutefois, un opérateur n'est pas <emphasis>simplement</emphasis> 9 un <quote>sucre syntaxique</quote> car il apporte des informations 10 supplémentaires qui aident le planificateur de requête à optimiser les 11 requêtes utilisées par l'opérateur. La prochaine section est consacrée à 12 l'explication de ces informations additionnelle. </Para> 15 13 16 14 <Para> … … 36 34 LANGUAGE C; 37 35 38 CREATE OPERATOR + ( 39 leftarg = complex, 40 rightarg = complex, 41 procedure = complex_add, 42 commutator = + 43 ); 44 </ProgramListing> 45 </Para> 36 CREATE OPERATOR + ( leftarg = complex, rightarg = complex, procedure = 37 complex_add, commutator = + ); </ProgramListing> </Para> 46 38 47 39 <Para> … … 403 395 <title><literal>MERGES</> (<literal>SORT1</>, <literal>SORT2</>, <literal>LTCMP</>, <literal>GTCMP</>)</title> 404 396 405 <para> 406 La clause <literal>MERGES</literal>, si elle est présente, indique au système qu'il est permis d'utiliser 407 la méthode de jointure-union pour une jointure basée sur cet opérateur. 408 <literal>MERGES</> n'a de sens que pour un opérateur binaire qui renvoie un <literal>boolean</>, 409 et en pratique, cet opérateur doit représenter l'égalité pour des types de données ou des paires de types de données. 410 </para> 411 412 <para> 413 La jointure-union est fondée sur le principe d'ordonner les tables gauche et droite 414 et ensuite de les comparer en parallèle. Ainsi, les deux types de donnée doivent être 415 capable d'être pleinement ordonnées, et l'opérateur de jointure doit pouvoir 416 réussir seulement pour des paires de valeur tombant à la <quote>même place</> 417 dans l'ordre de tri. En pratique, cela signifie que l'opérateur de jointure doit se comporter comme l'opérateur égalité. 418 Mais contrairement à la jointure-hachage, où il vaut mieux que les types de donnée 419 droite et gauche soit les mêmes (ou au moins soient bitwise équivalent), il est possible de faire une jointure-union 420 sur deux types de données distincts, tant qu'ils sont logiquement compatibles. 421 Par exemple, l'opérateur d'égalité <type>smallint</type>-contre-<type>integer</type> 422 est susceptible d'opérer une jointure-union. Nous avons seulement besoin d'opérateurs de tri qui 423 organisent les deux types de données en séquences logiquement comparables. 397 <para> La clause <literal>MERGES</literal>, si elle est présente, indique au 398 système qu'il est permis d'utiliser la méthode de jointure-union pour une 399 jointure basée sur cet opérateur. <literal>MERGES</> n'a de sens que pour un 400 opérateur binaire qui renvoie un <literal>boolean</>, et en pratique, cet 401 opérateur doit représenter l'égalité pour des types de données ou des paires 402 de types de données. </para> 403 404 <para> La jointure-union est fondée sur le principe d'ordonner les tables 405 gauche et droite et ensuite de les comparer en parallèle. Ainsi, les deux 406 types de donnée doivent être capable d'être pleinement ordonnées, et 407 l'opérateur de jointure doit pouvoir réussir seulement pour des paires de 408 valeurs tombant à la <quote>même place</> dans l'ordre de tri. En pratique, 409 cela signifie que l'opérateur de jointure doit se comporter comme 410 l'opérateur égalité. Mais contrairement à la jointure-hachage, où il vaut 411 mieux que les types de donnée droite et gauche soit les mêmes (ou au moins 412 soient bitwise équivalent), il est possible de faire une jointure-union sur 413 deux types de données distincts, tant qu'ils sont logiquement compatibles. 414 Par exemple, l'opérateur d'égalité 415 <type>smallint</type>-contre-<type>integer</type> est susceptible d'opérer 416 une jointure-union. Nous avons seulement besoin d'opérateurs de tri qui 417 organisent les deux types de données en séquences logiquement comparables. 424 418 </para> 425 419 … … 479 473 <listitem> 480 474 <para> 481 Des résultats bizarre apparaîtront lors de l'exécution si les quatre opérateurs de comparaison475 Des résultats bizarres apparaîtront lors de l'exécution si les quatre opérateurs de comparaison 482 476 que vous nommez ne trient pas les valeurs de façon compatible. 483 477 </para> … … 488 482 <note> 489 483 <para> 490 La fonction sous jacente à un opérateur de jointure-union doit être marquée immuable ou stable.484 La fonction sous-jacente à un opérateur de jointure-union doit être marquée immuable ou stable. 491 485 Si elle est volatile, le système n'essaiera jamais d'utiliser l'opérateur pour une jointure union. 492 486 </para> … … 506 500 </sect2> 507 501 </sect1> 502 503 <!-- Keep this comment at the end of the file 504 Local variables: 505 mode:sgml 506 sgml-omittag:nil 507 sgml-shorttag:t 508 sgml-minimize-attributes:nil 509 sgml-always-quote-attributes:t 510 sgml-indent-step:1 511 sgml-indent-data:t 512 sgml-parent-document:nil 513 sgml-default-dtd-file:"./reference.ced" 514 sgml-exposed-tags:nil 515 sgml-local-catalogs:("/usr/lib/sgml/catalog") 516 sgml-local-ecat-files:nil 517 End: 518 -->

