Manual:Categorylinks table/fr

La table categorylinks enregistre les entrées correspondant aux liens de la forme  ou   qui, dès qu'ils sont placés n'importe où sur une page, placent cette page dans la catégorie nommée Title (pour laquelle une page associée peu exister ou pas). Les liens qui commencent par un deux points tels que, ne sont pas rangés dans la table   mais sont gérés comme des liens internes classiques (conduisant dans ce cas à la page Category:Title). Les parties modifiables des pages de catégorie sont enregistrées comme les autres pages.

Il existe quatre index qui nous aident à l'amélioration des performances :
 * La concaténation de cl_from et cl_to (pour savoir quand un article a été modifié)
 * La concaténation de cl_to, cl_type, cl_sortkey, et cl_from (pour afficher les articles dans l'ordre)
 * La concaténation de cl_to et cl_timestamp
 * cl_collation

cl_from
Enregistre le page.page_id de l'article sur lequel le lien a été placé.

cl_to
Enregistre le nom (en enlevant le préfixe de l'espace de noms) de la catégorie désirée. Les espaces sont remplacés par des caractères soulignés (_)

cl_sortkey
Enregistre le titre par lequel la page sera triée dans une liste de catégorie. Ceci est la clé de tri binaire qui, en fonction de $wgCategoryCollation peut (ou ne peut pas) être lue par un humain (mais qui doit classer dans le bon ordre lorsqu'elle est comparée avec une chaîne d'octets)

cl_timestamp
Enregistre la date à laquelle ce lien a été dernièrement mis à jour dans la table.

cl_sortkey_prefix
Il s'agit soit de la chaîne vide si une page utilise la clé de tri par défaut (c'est à dire que la clé de tri n'est pas spécifiée). Sinon, il s'agit de la version de  lisible par un humain. Nécessite la plupart du temps que  soit facilement mise à jour dans certaines situations sans réanalyser la page entière.

cl_collation
Indique la collation en cours. Si la collation est modifiée, le script updateCollation.php connaît ainsi les lignes à corriger dans la base de données.

cl_type
De quel type de page s'agit-il : (,  (sous-catégorie) ou   (page normale)). Utilisé de sorte à ce que les différentes sections d'une page de catégorie puissent être regroupées indépendamment et de manière efficace.

Résumé du schéma
+---+--+--+-+---+-+ +---+--+--+-+---+-+ +---+--+--+-+---+-+
 * Field            | Type                         | Null | Key | Default           | Extra                       |
 * cl_from          | int(10) unsigned             | NO   | PRI | 0                 |                             |
 * cl_to            | varbinary(255)               | NO   | PRI |                   |                             |
 * cl_sortkey       | varbinary(230)               | NO   |     |                   |                             |
 * cl_sortkey_prefix | varbinary(255)              | NO   |     |                   |                             |
 * cl_timestamp     | timestamp                    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
 * cl_collation     | varbinary(32)                | NO   | MUL |                   |                             |
 * cl_type          | enum('page','subcat','file') | NO   |     | page              |                             |

+--+--+--+-+---+-+ +--+--+--+-+---+-+ +--+--+--+-+---+-+
 * Field       | Type             | Null | Key | Default           | Extra                       |
 * cl_from     | int(10) unsigned | NO   | PRI | 0                 |                             |
 * cl_to       | varbinary(255)   | NO   | PRI |                   |                             |
 * cl_sortkey  | varbinary(70)    | NO   |     |                   |                             |
 * cl_timestamp | timestamp       | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

+--+-+--+-+---+-+ +--+-+--+-+---+-+ +--+-+--+-+---+-+
 * Field       | Type            | Null | Key | Default           | Extra                       |
 * cl_from     | int(8) unsigned | NO   | PRI | 0                 |                             |
 * cl_to       | varchar(255)    | NO   | PRI |                   |                             |
 * cl_sortkey  | varchar(86)     | NO   |     |                   |                             |
 * cl_timestamp | timestamp      | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

+--+-+--+-+---+-+ +--+-+--+-+---+-+ +--+-+--+-+---+-+
 * Field       | Type            | Null | Key | Default           | Extra                       |
 * cl_from     | int(8) unsigned | NO   | PRI | 0                 |                             |
 * cl_to       | varchar(255)    | NO   | PRI |                   |                             |
 * cl_sortkey  | varchar(255)    | NO   |     |                   |                             |
 * cl_timestamp | timestamp      | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |