Manual:Category table/en

The category table tracks all existing categories. Something is a category if it has an entry somewhere in table

Categories might not have corresponding pages, so they need to be tracked separately. ,, and   are signed to make underflow more obvious.

cat_id
Primary key

cat_title
Name of the category, in the same form as. (with underscores). If there is a category page corresponding to this category, by definition, it has this name (in the Category namespace).

cat_pages
Number of pages in the category. This number includes the number of subcategories and the number of files.

cat_subcats
Number of sub-categories in the category.

cat_files
Number of files (i.e. Image: namespace members) in the category.

cat_hidden
Was reserved for future use; apparently no one found a use for it because it was removed in v1.20. Instead, the status of hidden categories is stored in the table as the property "hiddencat" in.

Schema summary
+-+--+--+-+-++ +-+--+--+-+-++ +-+--+--+-+-++
 * Field      | Type             | Null | Key | Default | Extra          |
 * cat_id     | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
 * cat_title  | varbinary(255)   | NO   | UNI | NULL    |                |
 * cat_pages  | int(11)          | NO   | MUL | 0       |                |
 * cat_subcats | int(11)         | NO   |     | 0       |                |
 * cat_files  | int(11)          | NO   |     | 0       |                |

+-+-+--+-+-++ +-+-+--+-+-++ +-+-+--+-+-++
 * Field      | Type                | Null | Key | Default | Extra          |
 * cat_id     | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
 * cat_title  | varbinary(255)      | NO   | UNI | NULL    |                |
 * cat_pages  | int(11)             | NO   | MUL | 0       |                |
 * cat_subcats | int(11)            | NO   |     | 0       |                |
 * cat_files  | int(11)             | NO   |     | 0       |                |
 * cat_hidden | tinyint(3) unsigned | NO   |     | 0       |                |