Help:Database layout

From Meta, a Wikimedia project coordination wiki
This is an archived version of this page, as edited by Lamassa (talk | contribs) at 15:23, 7 November 2005 (→‎ERD Diagram). It may differ significantly from the current version.

Template:H-langs:Database layout


Other languages: 日本語 (ja) ...Translate this page!

<- MediaWiki architecture

Most data for the wiki is stored in a database. See MySQL config for setup info.

(Some data lives only in the filesystem, other data is just cached there. Data may also be cached in memcached, but lives permanently in the database.)

NB: the current schema for any version - with copious comments - can be found in the maintenance/tables.sql file. The latest version can be obtained from CVS.

Version 1.4 uses the following tables:

Explanation of the link tables

There are presently three link tables: links, brokenlinks and imagelinks. There are a couple of uses for these tables:

  • enables "What links here" and "Related changes" to work, looking at incoming or outgoing links
  • provides the list of pages that use an image shown on an image's description page
  • allows making reports of pages that aren't linked (Orphans, Unused images) or are linked to but don't exist (Most wanted pages)
  • slightly speed up page rendering by avoiding individual checks for the existence of each linked page to determine how to render its link

The latest software also adds a 'linkscc' table which caches data from the other three tables. This is used only for speeding rendering.

Maintenance of link tables

If you import data to the cur table and don't rebuild the links, you won't be able to use "What links here", "Related changes", "Orphans", etc. If you don't want to, well I suppose that's okay... (Brion Vibber)

ERD Diagram

This is the diagram from the mediawiki database 1.4.X version.

It shows the main tables and relations from the database.

See also

Next page: Installation >