Manuel:table Categorylinks

This page is a translated version of the page Manual:Categorylinks table and the translation is 95% complete.
Other languages:
English • ‎français • ‎polski • ‎čeština • ‎中文 • ‎日本語
Manuel:Contenu Schéma de base de données MédiaWiki table categorylinks
Version de MediaWiki :
1.3

La table categorylinks enregistre les entrées correspondant aux liens de la forme [[Category:Title]] ou [[Category:Title|sortkey]] 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 [[:Category:Title]], ne sont pas rangés dans la table categorylinks 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

Champs

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 cl_sortkey lisible par un humain. Nécessite la plupart du temps que cl_sortkey soit facilement mise à jour dans certaines situations sans réanalyser la page entière.

cl_collation

Version de MediaWiki :
1.17

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 : (file, subcat (sous-catégorie) ou page (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

Version de MediaWiki :
1.17

DESCRIBE categorylinks;

+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| 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              |                             |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
  Avertissement : A partir de la version 1.17, l'index sur (cl_to, cl_sortkey) n'existe plus, et il est remplacé par son équivalent sur (cl_to, cl_type, cl_sortkey, cl_from). Les extensions qui interrogent directement la table categorylinks pour obtenir une liste de pages dans un ordre trié doivent s'assurer qu'ellent utilisent bien le nouvel index, sinon la requête pourrait devenir passablement inefficace.


Versions de MediaWiki :
1.10 – 1.16

DESCRIBE categorylinks;

+--------------+------------------+------+-----+-------------------+-----------------------------+
| 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 |
+--------------+------------------+------+-----+-------------------+-----------------------------+
Versions de MediaWiki :
1.5 – 1.9

DESCRIBE categorylinks;

+--------------+-----------------+------+-----+-------------------+-----------------------------+
| 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 |
+--------------+-----------------+------+-----+-------------------+-----------------------------+
Versions de MediaWiki :
1.3 – 1.4

DESCRIBE categorylinks;

+--------------+-----------------+------+-----+-------------------+-----------------------------+
| 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 |
+--------------+-----------------+------+-----+-------------------+-----------------------------+

Indexes

Version de MediaWiki :
1.30

SHOW INDEX IN categorylinks;

+---------------+------------+------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table         | Non_unique | Key_name         | Seq_in_index | Column_name  | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------------+------------+------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| categorylinks |          0 | PRIMARY          |            1 | cl_from      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          0 | PRIMARY          |            2 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey       |            1 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey       |            2 | cl_type      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey       |            3 | cl_sortkey   | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey       |            4 | cl_from      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_timestamp     |            1 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_timestamp     |            2 | cl_timestamp | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_collation_ext |            1 | cl_collation | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_collation_ext |            2 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_collation_ext |            3 | cl_type      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_collation_ext |            4 | cl_from      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+---------------+------------+------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+