Wikipedia:Technik/Datenbank/Struktur

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Übersicht der Datenbankstruktur für MediaWiki.

Stand Anfang 2015

Labs[Quelltext bearbeiten]

Auf den Labs sind replizierte Datenbanken für jedes Wiki verfügbar, allerdings mit zwei wesentlichen Unterschieden:

  • Die Textinhalte der Seiten sind nicht vorhanden; nur ihre Metadaten.
  • Private Daten (Versionslöschungen, Benutzerprofile usw.) sind natürlich nicht einsehbar; daher kann es vorkommen, dass Datensätze fehlen oder Spalten auf NULL gesetzt wurden.

Für den Zugriff auf die Datenbank-Replikate muss man einen wikitech-Account haben. Wie man dann seinen SSH-Zugriff einrichtet, wird unter wikitech:Help:Putty und wikitech:Help:Access to ToolLabs instances with PuTTY and WinSCP näher beschrieben.

Ein schlichterer Weg wäre Quarry.

Tabellen[Quelltext bearbeiten]

page[Quelltext bearbeiten]

Die Tabelle page enthält grundlegende Informationen zu jeder Seite eines Wikis.

page_id (Zahlenwert)
Seitenkennnummer
page_namespace (Zahlenwert)
Namensraum der Seite
page_title (Zeichenkette)
Kanonischer Titel der Seite (mit Unterstrichen statt Leerzeichen)
page_restrictions (Zeichenkette)
Ehemaliges Feld für Seitensperre, jetzt in Tabelle page_restrictions, kann aber noch sehr alte Sperren enthalten – T35334/T60674
page_counter (Zahlenwert)
Wird seit Version 1.25 nicht mehr gefüllt und muss noch entfernt werdenT86338
page_is_redirect (Zahlenwert)
Kennzeichen, ob es sich um eine Weiterleitung handelt (Wert=1)
page_is_new (Zahlenwert)
Kennzeichen, ob es eine neue Seite mit nur einer Bearbeitung ist
page_random (Zahlenwert)
Zufallszahl, die in Zusammenhang mit Spezial:Zufällige Seite genutzt wird
page_touched (Zeitstempel)
Zeitpunkt, wann diese Seite zum letzten Mal angefragt wurde, dass sie neu erstellt werden soll (Aufgrund von Vorlagenänderungen oder Purge)
page_links_updated (Zeitstempel)
Zeitpunkt, wann diese Seite zum letzten mal neu geparsed wurde.
page_latest (Zahlenwert)
Nummer der aktuellen Version (zeigt auf die revision-Tabelle)
page_len (Zahlenwert)
Länge der aktuellen Version der Seite
page_content_model (Zeichenkette)
Aktuelles Inhaltsmodell der Seite
page_no_title_convert (Zahlenwert)
War wohl mal eine Idee, die es nicht in die Software geschafft hat, warum aber die Spalte da ist, ist schwer zu sagen, sollte entfernt werdenT86342
page_lang (Zeichenkette)
Aktuelle Sprache der Seite (mw:Manual:$wgPageLanguageUseDB ist nicht aktiv)T69223
  • Wegen fehlender referentieller Integrität kann es in seltenen Fällen dazu kommen, dass abhängige Tabellen mit einer Spalte für die Seitenkennnummer einen Datensatz mit nicht mehr gültiger Seitenkennnummer enthalten.

revision[Quelltext bearbeiten]

Die Tabelle revision enthält Metadaten zu allen sichtbaren Versionen des Wikis. Gelöschte Versionen befinden sich in der archive-Tabelle.

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View revision_userindex – sollte aus Performance-Gründen bevorzugt werden.

rev_id (Zahlenwert)
Versionsnummer
rev_page (Zahlenwert)
Seitenkennnummer der Seite, wo die Version aktuell zugehört
rev_text_id (Zahlenwert)
Verweis auf den Text in der text-Tabelle
rev_comment (Zeichenkette)
Bearbeitungskommentar
rev_user (Zahlenwert)
Benutzer-IDs des Bearbeiters, bei IPs, Systembots und Importen ist es 0
rev_user_text (Zeichenkette)
Name des Benutzers
rev_timestamp (Zeitstempel)
Zeitpunkt der Bearbeitung
rev_minor_edit (Zahlenwert)
Kennzeichen, ob es sich um eine „Kleine Bearbeitung“ gehandelt hat (Wert=1)
rev_deleted (Zahlenwert)
Bitoperator, der die Sichtbarkeitsstufen der Hilfe:Versionslöschung beherbergt. Siehe Versionslöschung
rev_len (Zahlenwert)
Länge der Version
rev_parent_id (Zahlenwert)
Versionsnummer der vorherigen Bearbeitung, 0 bei der ersten. Wird in der Versionsgeschichte für Byte-Differenzen genutzt. Steht nach Importen falsch.
rev_sha1 (Zeichenkette)
SHA-1-Hash in base-36 des Inhalts
rev_content_model (Zeichenkette)
Inhaltsmodel der Version
rev_content_format (Zeichenkette)
Inhaltsformat der Version

text[Quelltext bearbeiten]

Die Tabelle text enthält die eigentlichen Texte oder Verweise auf eine externe Speicherung. Texte sind auf ToolLabs nicht verfügbar, höchstens als XML-Dumps oder über die API.

archive[Quelltext bearbeiten]

Die Tabelle archive enthält gelöschte Versionen.

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View archive_userindex – sollte aus Performance-Gründen bevorzugt werden.

ar_id (Zahlenwert)
Technischer Primärkey
ar_namespace (Zahlenwert)
Namensraum der gelöschten Version
ar_title (Zeichenkette)
Name der Seite zur gelöschten Version
ar_text (Zeichenkette)
Für sehr alte Versionen findet sich hier der Text, bei neueren in der text-Tabelle. Kein Inhalt auf ToolLabs.
ar_comment (Zeichenkette)
Bearbeitungskommentar. Kein Inhalt auf ToolLabs.
ar_user (Zahlenwert)
Benuzter-ID des Bearbeiters
ar_user_text (Zeichenkette)
Benutzername des Bearbeiters
ar_timestamp (Zeitstempel)
Zeitpunkt der Bearbeitung
ar_minor_edit (Zahlenwert)
Kennzeichen ob es sich um eine kleine Bearbeitung handelt (Wert=1)
ar_flags (Zeichenkette)
Gefüllt, wenn ar_text gefüllt ist, siehe text.old_flags
ar_rev_id (Zahlenwert)
Versionsnummer der gelöschten Version. Für sehr alte Versionen NULL, siehe ar_text.
ar_text_id (Zahlenwert)
Verweis auf text.old_id, NULL wenn ar_text gefüllt ist
ar_deleted (Zahlenwert)
Bitoperator, der die Sichtbarkeitsstufen der Hilfe:Versionslöschung beherbergt. Siehe Versionslöschung
ar_len (Zahlenwert)
Größe der Version in Bytes
ar_page_id (Zahlenwert)
Seitenkennnummer der gelöschten Seite, wird beim Wiederherstellen nicht genutzt.
ar_parent_id (Zahlenwert)
Versionsnummer der vorherigen Bearbeitung, 0 bei der ersten.
ar_sha1 (Zeichenkette)
SHA-1-Hash in base-36 des Inhalts
ar_content_model (Zeichenkette)
Inhaltsmodel der Version - Spalten sind nicht da - T89741
ar_content_format (Zeichenkette)
Inhaltsformat der Version - Spalten sind nicht da - T89741

pagelinks[Quelltext bearbeiten]

Die Tabelle pagelinks enthält alle Verweise zwischen zwei Wiki-Seiten, die über Wikilinks gesetzt wurden. (Spezial:Linkliste)

pl_from (Zahlenwert)
Seitenkennnummer der Seite, die den Wikilink enthält
pl_from_namespace (Zahlenwert)
Namensraum der Seite unter pl_from. Wurde gedoppelt um Namensraumabfragen zu beschleunigen.
pl_namespace (Zahlenwert)
Namensraum der Zielseite
pl_title (Zeichenkette)
Titel der Zielseite (Unterstriche anstatt Leerzeichen)
  • Ob die Zielseite existiert, kann nur durch ein JOIN mit der page-Tabelle herausgefunden werden
  • Bei Weiterleitungen existiert ein Eintrag zur Seite (werden also nicht aufgelöst)
  • Bei Verwendung von #ifexist werden auch Einträge generiert

templatelinks[Quelltext bearbeiten]

Die Tabelle templatelinks enthält alle Verwendungen von Vorlagen. (Spezial:Linkliste)

tl_from (Zahlenwert)
Seitenkennnummer der Seite, die die Vorlage einbindet
tl_from_namespace (Zahlenwert)
Namensraum der Seite unter tl_from. Wurde gedoppelt um Namensraumabfragen zu beschleunigen.
tl_namespace (Zahlenwert)
Namensraum der Vorlage
tl_title (Zeichenkette)
Titel der Vorlage (Unterstriche anstatt Leerzeichen)
  • Ob die Vorlage existiert, kann nur durch ein JOIN mit der page-Tabelle herausgefunden werden.
  • Bei Vorlagenweiterleitungen existieren zwei Einträge zu einer Seite (werden also aufgelöst)
  • Bei Verwendung von einigen Parserfunktionen werden auch Einträge generiert (REVISION*, PAGESIZE, PAGEID)

imagelinks[Quelltext bearbeiten]

Die Tabelle imagelinks enthält alle Dateieinbindungen. (Spezial:Linkliste)

il_from (Zahlenwert)
Seitenkennnummer der Seite, die die Datei einbindet
il_from_namespace (Zahlenwert)
Namensraum der Seite unter il_from. Wurde gedoppelt um Namensraumabfragen zu beschleunigen.
il_to (Zeichenkette)
Name der Datei (Unterstriche anstatt Leerzeichen; ohne Namensraum, ist ja immer 6)
  • Ob die Datei lokal existiert, kann nur durch ein JOIN mit der page-Tabelle herausgefunden werden, wobei der page_namespace = 6 gesetzt sein muss.
  • Die Tabelle enthält auch Dateiverwendungen von Commons-Dateien, die dann als nicht vorhanden gelistet werden
  • Bei Dateiweiterleitungen existieren zwei Einträge zu einer Seite (werden also aufgelöst)

categorylinks[Quelltext bearbeiten]

Die Tabelle categorylinks enthält alle Kategorieeinträge.

cl_from (Zahlenwert)
Seitenkennnummer der Seite, die die Kategorie enthält
cl_to (Zeichenkette)
Titel der Kategorie
cl_sortkey (Zeichenkette)
Sortierschlüssel, anhand dessen sortiert wird
cl_sortkey_prefix (Zeichenkette)
Manuell angegebender Sortierschlüssel
cl_timestamp (Zeitstempel)
Zeitpunkt, wann die Kategorie zuletzt hinzugefügt wurde
cl_collation (Zeichenkette)
Die für den sortkey verwendete Collation (bei uns lowercase)
cl_type (Enum)
Zuordnung ob cl_from eine Seite ('page'), eine Kategorie ('subcat') oder eine Datei ('file') ist
  • Ob auch eine Kategoriebeschreibungsseite existiert, kann nur durch ein JOIN mit der page-Tabelle herausgefunden werden, wobei der page_namespace = 14 gesetzt sein muss
  • Diese Tabelle enthält immer nur die direkten Zuordnungen. Kategoriebäume können dadurch nur indirekt abgebildet werden
  • Bei Kategorieweiterleitungen existiert nur ein Eintrag zur Seite (werden nicht aufgelöst)

category[Quelltext bearbeiten]

Die Tabelle category enthält kumulierte Daten zu den Kategorieeinträgen

cat_id (Zahlenwert)
Technischer Primärschlüssel
cat_title (Zeichenkette)
Titel der Kategorie wie in page_title
cat_pages (Zahlenwert)
Anzahl Einträge in einer Kategorie
cat_subcats (Zahlenwert)
Anzahl Kategorien in dieser Kategorie (categorylinks.cl_type = 'subcats')
cat_files (Zahlenwert)
Anzahl Dateien in dieser Kategorie (categorylinks.cl_type = 'file')
  • Die Werte können zu den tatsächlichen Anzahl in der categorylinks-Tabelle abweichen
  • Um die reine Anzahl der Seiten zu bekommen, muss gerechnet werden: cat_pages - cat_subcats - cat_files
  • Es können auch Einträge mit cat_pages = 0 enthalten sein

externallinks[Quelltext bearbeiten]

Die Tabelle externallinks enthält alle Verwendungen von Webseiten. (Spezial:Weblink-Suche)

el_id (Zahlenwert)
Technischer Primärschlüssel
el_from (Zahlenwert)
Seitenkennnummer der Seite, wo der Weblink gesetzt ist
el_from_namespace (Zahlenwert)
Namensraum der Seite unter el_from. Wurde gedoppelt um Namensraumabfragen zu beschleunigen. - Kommt neu, noch nicht vollständig implementiert und damit noch nicht nutzbar - T86415
el_to (Zeichenkette)
Die URL
el_index (Zeichenkette)
Für die Suche aufbereitete URL (Domain umgedreht und andere Dinge)
  • Weblinks auf die eigene Domäne sind nicht aufgeführt
  • Für protokoll-relative URLs sind zwei Einträge enthalten (el_index fängt dann einmal mit http und https an, el_to ist immer relativ)

langlinks[Quelltext bearbeiten]

Die Tabelle langlinks enthält alle Sprachverknüpfungen (Welchen Einfluss hat WikiData hier?).

ll_from (Zahlenwert)
Seitenkennnummer der Seite, die diesen Sprachlink enthält
ll_lang (Zeichenkette)
Sprachkürzel
ll_title (Zeichenkette)
Name der Seite im anderssprachigen Wiki

iwlinks[Quelltext bearbeiten]

Die Tabelle iwlinks enthält alle Interwiki-Links. Das schließt auch „Pseudo-Interwikis“ („nicht-lokal“) außerhalb der Farm ein.

iwl_from (Zahlenwert)
Seitenkennnummer der Seite, die diesen Interwiki-Link enthält
iwl_prefix (Zeichenkette)
Der Interwiki-Code
iwl_title (Zeichenkette)
Name der Seite im entsprechenden Wiki

image[Quelltext bearbeiten]

Die Tabelle image enthält Metadaten zu den aktuellen Versionen einer Datei

img_name (Zeichenkette)
Titel der Datei
img_size (Zahlenwert)
Größe der Datei in bytes
img_width (Zahlenwert)
Breite der Datei
img_height (Zahlenwert)
Höhe der Datei
img_metadata (Zeichenkette)
Metadaten wie Exif als serialisiertes PHP-Array
img_bits (Zahlenwert)
Bittiefe
img_media_type (ENUM)
ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE")
img_major_mime (ENUM)
ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical"): "Major part" des MIME-Types
img_minor_mime (Zeichenkette)
"minor part" des MIME-Types
img_description (Zeichenkette)
Beschreibung beim Hochladen
img_user (Zahlenwert)
Benutzer-ID des Hochladers
img_user_text (Zeichenkette)
Benutzername des Hochladers
img_timestamp (Zeitstempel)
Zeitpunkt des Hochladens
img_sha1 (Zeichenkette)
SHA-1-Hash in base-36 der Datei

oldimage[Quelltext bearbeiten]

Die Tabelle oldimage enthält Metadaten zu den älteren (überschriebenen) Versionen einer Datei.

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View oldimage_userindex – sollte aus Performance-Gründen bevorzugt werden.

oi_name (Zeichenkette)
Name der Datei
oi_archive_name (Zeichenkette)
Archivname der Datei, normalerweise ein Zeitstempel + '!' + Name
oi_size (Zahlenwert)
Größe der Datei in bytes
oi_width (Zahlenwert)
Breite der Datei
oi_height (Zahlenwert)
Höhe der Datei
oi_bits (Zahlenwert)
Bittiefe
oi_description (Zeichenkette)
Kommentar beim Hochladen
oi_user (Zahlenwert)
Benutzer-ID des Hochladers
oi_user_text (Zeichenkette)
Name des Hochladers
oi_timestamp (Zeitstempel)
Zeitpunkt des Hochladens
oi_metadata (Zeichenkette)
Metadaten wie Exif als serialisertes php-array
oi_media_type (ENUM)
ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE")
oi_major_mime (ENUM)
ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical"): "major part" des MIME-Types
oi_minor_mime (Zeichenkette)
"minor part" des MIME-Types
oi_deleted (Zahlenwert)
Bitoperator für Versionslöschung. Siehe Versionslöschung
oi_sha1 (Zeichenkette)
SHA-1-Hash in base36 der Datei

filearchive[Quelltext bearbeiten]

Die Tabelle filearchive enthält Metadaten zu den gelöschten Dateien.

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View filearchive_userindex – sollte aus Performance-Gründen bevorzugt werden.

fa_id (Zahlenwert)
Technischer Primärschlüssel
fa_name (Zeichenkette)
Name der Datei
fa_archive_name (Zeichenkette)
Archivname der Datei, normalerweise ein Zeitstempel + '!' + Name, siehe auch oldimage.oi_archive_name, NULL wenn es zum Zeitpunkt des Löschens die aktuelle Dateiversion war
fa_storage_group (Zeichenkette)
Ordnergruppe wo die Datei abgelegt wurde (Auf WMF-Wikis nur 'deleted' oder NULL, siehe fa_storage_group)
fa_storage_key (Zeichenkette)
Dateiname auf Platte, normalerweise sha1 + Datei-Endung. Wenn NULL dann ist die Dateiversion physisch gelöscht worden (kann bei sehr alten Versionen passiert sein) (Dieser Wert ist auf ToolLabs nicht verfügbar)
fa_deleted_user (Zahlenwert)
Benutzer-ID des löschenden Admins
fa_deleted_timestamp (Zeitstempel)
Zeitpunkt der Löschung
fa_deleted_reason (Zeichenkette)
Löschbegründung (auch im Logbuch auffindbar)
fa_size (Zahlenwert)
Größe der Datei in bytes
fa_width (Zahlenwert)
Breite der Datei
fa_height (Zahlenwert)
Höhe der Datei
fa_metadata (Zeichenkette)
Metadaten wie Exif als serialisertes php-array
fa_bits (Zahlenwert)
Bittiefe
fa_media_type (ENUM)
ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE")
fa_major_mime (ENUM)
ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical"): "major part" des MIME-Types
fa_minor_mime (Zeichenkette)
"minor part" des MIME-Types
fa_description (Zeichenkette)
Kommentar beim Hochladen
fa_user (Zahlenwert)
Benutzer-ID des Hochladers
fa_user_text (Zeichenkette)
Name des Hochladers
fa_timestamp (Zeitstempel)
Zeitpunkt des Hochladens
fa_deleted (Zahlenwert)
Bitoperator, der die Sichtbarkeitsstufen der Hilfe:Versionslöschung beherbergt. Siehe Versionslöschung
fa_sha1 (Zeichenkette)
SHA-1-Hash in base36 der Datei

recentchanges[Quelltext bearbeiten]

Die Tabelle recentchanges sammelt die letzten Änderungen der letzten 30 Tage und bereitet sie für einen schnellen Zugriff auf Spezial:Letzte Änderungen oder Spezial:Beobachtungsliste vor. Der Inhalt ist immer gedoppelt zu der eigentlichen Speicherung in #revision oder #logging.

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View recentchanges_userindex – sollte aus Performance-Gründen bevorzugt werden.

rc_id (Zahlenwert)
Technischer Primiärschlüssel
rc_timestamp (Zeitstempel)
Zeitpunkt der Bearbeitung
rc_cur_time (Zeitstempel)
Muss noch entfernt werden - phab:T67448
rc_user (Zahlenwert)
Benutzer-ID, siehe rev_user
rc_user_text (Zeichenkette)
Benutzername, siehe rev_user_text
rc_namespace (Zahlenwert)
Namensraum zum Zeitpunkt der Bearbeitung
rc_title (Zeichenkette)
Seitennamen zum Zeitpunkt der Bearbeitung
rc_comment (Zeichenkette)
Bearbeitungskommentar, siehe rev_comment
rc_minor (Zahlenwert)
Kennzeichen, ob es sich um eine kleine Bearbeitung handelt, siehe rev_minor_edit
rc_bot (Zahlenwert)
Kennzeichen, ob es sich um eine Bot-Bearbeitung handelt (Wert = 1)
rc_new (Zahlenwert)
Kennzeichen, ob es eine Neuanlage ist (Wert = 1), auch rc_type = 1 oder rc_source = 'mw.new'
rc_cur_id (Zahlenwert)
Seitenkennnummer der Seite
rc_this_oldid (Zahlenwert)
Versionsnummer dieser Bearbeitung
rc_last_oldid (Zahlenwert)
Versionsnummer der vorherigen Bearbeitung
rc_type (Zahlenwert)
0 für Bearbeitung, 1 für Neuanlage, 3 für Logeintrag, 5 für externe Bearbeitung (WikiData)
rc_source (Zeichenkette)
Quelle der Bearbeitung: mw.edit, mw.new, mw.log, mw.external oder wikidata? (ersetzt rc_type)
rc_patrolled (Zahlenwert)
Kennzeichen, ob diese Seite als kontrolliert markiert wurde (Nicht gesichtet!; Wert = 1)
rc_ip (Zeichenkette)
IP der Bearbeitung - Inhalt steht nicht zur Verfügung
rc_old_len (Zahlenwert)
Länge vor Bearbeitung
rc_new_len (Zahlenwert)
Länge nach Bearbeitung
rc_deleted (Zahlenwert)
Bitoperator, Siehe Versionslöschung
rc_logid (Zahlenwert)
Nummer des Logbucheintrags
rc_log_type (Zeichenkette)
Logtyp, sihe log_type
rc_log_action (Zeichenkette)
Logaktion, siehe log_action
rc_params (Zeichenkette)
Logparameter, siehe log_params

logging[Quelltext bearbeiten]

Die Tabelle logging enthält alle Logbucheinträge. (Spezial:Logbuch)

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View logging_userindex! Für seitenbezogene Abfragen gibt es logging_logindex – sollte aus Performance-Gründen bevorzugt werden.

log_id (Zahlenwert)
Technischer Primärschlüssel
log_type (Zeichenkette)
Art des Logs (Entspricht der Auswahl auf Spezial:Logbuch
log_action (Zeichenkette)
Logaktion, dient als Unterart zur weiteren Differenzierung der Einträge
log_timestamp (Zeitstempel)
Zeitpunkt des Logbucheintrags
log_user (Zahlenwert)
Benutzer-ID des Ausführers
log_user_text (Zeichenkette)
Name des Benutzers
log_namespace (Zahlenwert)
Namensraum der betroffenden Seite (Benutzernamensraum, wenn Log-Aktion benutzerspezifisch ist)
log_title (Zeichenkette)
Titel der betroffenden Seite, Benutzername wenn Log-Aktion benutzerspezifisch ist (Sperre, …)
log_page (Zahlenwert)
Seitenkennnummer zum Zeitpunkt des Logbucheintrags oder 0
log_comment (Zeichenkette)
Begründung
log_params (Zeichenkette)
Zusätzliche Parameter für die Darstellung, entweder mit Zeilenumbruch getrennt oder php-serialisiertes Array
log_deleted (Zahlenwert)
Bitoperator für die Loglöschung, siehe Versionslöschung

log_search[Quelltext bearbeiten]

Die Tabelle log_search enthält erweiterete Daten, die für eine Logbuch-Suche herangezogen werden können

Diese Tabelle steht aktuell auf ToolLabs nicht zur Verfügung (T85756)

ls_field (Zeichenkette)
Art des Eintrags
ls_value (Zeichenkette)
Wert für die Suche
ls_log_id (Zahlenwert)
Nummer des Logeintrags
  • Enthält beispielsweise die Verknüpfung zwischen Logbucheintrag und versionsgelöschter Versionen

redirect[Quelltext bearbeiten]

Die Tabelle redirect enthält weitere Informationen zu Seiten mit page.page_is_redirect = 1.

rd_from (Zahlenwert)
Seitenkennnummer
rd_namespace (Zahlenwert)
Namensraum, auf den weitergeleitet wird
rd_title (Zeichenkette)
Titel der Seite, auf die weitergeleitet wird
rd_interwiki (Zeichenkette)
Interwiki-Kürzel, auf das die Weiterleitung zeigt
rd_fragment (Zeichenkette)
Fragment, auf das weitergeleitet werden soll (Wird in der Zielseite mit JavaScript angesprungen)
  • Das Weiterleitungsziel muss nicht existieren (Siehe Spezial:Defekte Weiterleitungen)
  • rd_from kann auch auf eine Weiterleitung zeigen (Siehe Spezial:Doppelte Weiterleitungen)
  • Bei Interwiki-Weiterleitungen wird nicht automatisch weitergeleitet
  • Möchte man Nicht-Interwiki-Weiterleitungen, dann muss man auf NULL und die leere Zeichenkette abfragen (rd_interwiki IS NULL OR rd_interwiki = '')

page_restrictions[Quelltext bearbeiten]

Die Tabelle page_restrictions enthält alle aktiven Seitensperren des Wikis. (Spezial:Geschützte Titel)

pr_id (Zahlenwert)
Technischer Primärschlüssel
pr_page (Zahlenwert)
Seitenkennnummer der Seite, auf die sich die Sperre bezieht
pr_type (Zeichenkette)
Typ der Sperre (edit, move, upload, nicht create)
pr_level (Zeichenkette)
Level der Sperre (sysop, autoconfirmed oder editprotected/semieditprotected)
pr_cascade (Zahlenwert)
Kennzeichen, ob es sich um eine kaskadierende Sperre handelt (Wert=1)
pr_user (Zahlenwert)
Nicht genutztes Feld
pr_expiry (Zeitstempel)
Zeitpunkt, bis wann die Sperre gültig ist, oder NULL oder infinity
  • Pro Typ kann es nur eine Sperre pro Seite geben.

protected_titles[Quelltext bearbeiten]

Die Tabelle protected_titles enthält alle aktiven Sperren vor Neuanlage des Wikis. (Spezial:Gesperrte Titel)

pt_namespace (Zahlenwert)
Namensraum der gesperrten Seite
pt_title (Zeichenkette)
Titel der gesperrten Seite
pt_user (Zahlenwert)
Benutzer-ID des ausführenden Benutzers
pt_reason (Zeichenkette)
Begründung
pt_timestamp (Zeitstempel)
Zeitpunkt der Sperre
pt_expiry (Zeitstempel)
Zeitpunkt, bis wann die Sperre gültig ist oder NULL oder infinity
pt_create_perm (Zeichenkette)
Level der Sperre, autoconfirmed oder sysop

page_props[Quelltext bearbeiten]

Die Tabelle page_props enthält Eigenschaften des Wikitextes, wie die Werte von DISPLAYTITLE oder DEFAULTSORT. (Spezial:Seiten mit Eigenschaften)

pp_page (Zahlenwert)
Seitenkennnummer der Seite zu dem die Eigenschaft gehört
pp_propname (Zeichenkette)
Name der Eigenschaft
pp_value (Zeichenkette)
Wert der Eigenschaft
pp_sortkey (Fließkommawert)
Wert der Eigenschaft, wenn diese numerisch ist

change_tag[Quelltext bearbeiten]

Die Tabelle change_tag enthält zu jeder Markierung einen Eintrag; dient der Suche.

ct_rc_id (Zahlenwert)
Verweis auf RecentChanges-Eintrag
ct_log_id (Zahlenwert)
Verweis auf Logbucheintrag
ct_rev_id (Zahlenwert)
Verweis auf Version
ct_tag (Zeichenkette)
Name des Tags
ct_params (Zeichenkette)
Wert des Tags, wird nicht benutzt

tag_summary[Quelltext bearbeiten]

Die Tabelle tag_summary enthält alle Markierungen zu einer Version, Logbucheintrag oder RecentChanges-Eintrag. Dient der Anzeige.

ts_rc_id (Zahlenwert)
Verweis auf RecentChanges-Eintrag
ts_log_id (Zahlenwert)
Verweis auf Logbucheintrag
ts_rev_id (Zahlenwert)
Verweis auf Version
ts_tags (Zeichenkette)
Gesetzte Markierung

valid_tag[Quelltext bearbeiten]

Die Tabelle valid_tag enthält alle gültigen Markierungen (Spezial:Markierungen)

vt_tag (Zeichenkette)
Name des Tags

site_stats[Quelltext bearbeiten]

Die Tabelle site_stats enthält Statistikdaten (Spezial:Statistik).

ss_row_id (Zahlenwert)
Technischer Primiärschlüssel, sollte immer 1 sein
ss_total_views (Zahlenwert)
Wird seit Version 1.25 nicht mehr gefüllt und muss noch entfernt werden - T86339
ss_total_edits (Zahlenwert)
Anzahl an Bearbeitungen (Nicht-sichtbare + sichtbare Versionen)
ss_good_articles (Zahlenwert)
Anazhl an Artikeln (Namensraum 0, keine Weiterleitung und mindestens ein Wikilink)
ss_total_pages (Zahlenwert)
Anzahl an Seiten in allen Namensräumen
ss_users (Zahlenwert)
Anzahl vorhandener Benutzerkonten
ss_active_users (Zahlenwert)
Anzahl an aktiven Benutzern, -1 wenn Wert noch nicht bestimmt wurde
ss_images (Zahlenwert)
Anzahl an Dateien
  • Auch wenn die Datenbank mehr Zeilen zulässt, sollte sich hier nur eine Zeile befinden.
  • Die Zähler müssen nicht exakt mit einem COUNT auf der Datenbank übereinstimmen, da sie aus Performance-Gründen mal deaktiviert wurden oder es aufgrund von Fehlern nicht zu einem Update gekommen ist.

user[Quelltext bearbeiten]

Die Tabelle user enthält alle Benutzernamen (Spezial:Benutzer)

user_id (Zahlenwert)
Benutzer-ID
user_name (Zeichenkette)
Benutzername
user_real_name (Zeichenkette)
Echter Name, auf WMF-Wikis nicht aktiv (mw:Manual:$wgHiddenPrefs[] = 'realname';)
user_password (Zeichenkette)
Das Passwort des Benutzers (gehashed und salted) (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_newpassword (Zeichenkette)
Temporäres Passwort, wenn eines per E-Mail zugeschickt wurde (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_newpass_time (Zeitstempel)
Zeitpunkt, wenn user_newpassword nicht mehr gültig ist (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_email (Zeichenkette)
Die E-Mail-Adresse des Benutzers (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_options (Zeichenkette)
Ehemals lagerten hier die Einstellungen, jetzt #user_propertiesT85757
user_touched (Zeitstempel)
Wird benutzt, um Cache zu umgehen, wenn man sich neu anmeldet (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_token (Zeichenkette)
Token für die Funktion „Angemeldet bleiben“ (wird im Cookie gespeichert) (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_email_authenticated (Zeitstempel)
Wann die E-Mail-Adresse bestätigt wurde (Spezial:E-Mail bestätigen) (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_email_token (Zeichenkette)
Token der mit der Bestätigungs-E-Mail verschickt wird (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_email_token_expires (Zeitstempel)
Zeitpunkt wann user_email_token nicht mehr gültig ist (Dieser Wert ist auf ToolLabs nicht verfügbar)
user_registration (Zeitstempel)
Wann das Benutzerkonto erstellt wurde, bei sehr alten Konten (Mitte 2006) nicht gefüllt
user_editcount (Zahlenwert)
Anzahl an Bearbeitungen, nicht exakt, nur als Annährungswert.
user_password_expires (Zeitstempel)
Zeitpunkt, wann das Passwort abläuft (Dieser Wert ist auf ToolLabs nicht verfügbar)

user_groups[Quelltext bearbeiten]

Die Tabelle user_groups enthält die zu den Benutzern gehörenden Benutzergruppen (Spezial:Gruppenrechte).

ug_user (Zahlenwert)
Benutzer-ID zu dem die Gruppe gehört
ug_group (Zeichenkette)
Technischer Name der Gruppe

user_properties[Quelltext bearbeiten]

Die Tabelle user_properties enthält die Benutzereinstellungen (Spezial:Einstellungen)

up_user (Zahlenwert)
Benutzer-ID zu dem die Einstellung gehört
up_property (Zeichenkette)
Name der Einstellung
up_value (Zeichenkette)
Wert der Einstellung
  • Es steht nur eine Auswahl von Benutzer-Einstellungen unter der Benutzer-ID zur Verfügung (disablemail, fancysig, gender, language, nickname, timecorrection, skin, variant).
  • Es werden nur Benutzereinstellungen gespeichert, wenn sie vom Standard abweichen.
  • Für Boolean-Optionen kann 1, 0 oder eine leere Zeichenkette gespeichert sein.

user_former_groups[Quelltext bearbeiten]

Die Tabelle user_former_groups enthält automatisch vergebene Benutzergruppen, damit diese nach einem Entzug nicht nochmals automatisch vergeben werden.

ufg_user (Zahlenwert)
Benutzer-ID zu dem die Gruppe gehört
ufg_group (Zeichenkette)
Technischer Name der Gruppe

ipblocks[Quelltext bearbeiten]

Die Tabelle ipblocks enthält alle aktiven Sperren (Spezial:Liste der Sperren).

Für Abfragen auf Benutzername oder Benutzer-ID gibt es die View ipblocks_ipindex – sollte aus Performance-Gründen bevorzugt werden.

ipb_id (Zahlenwert)
Block-ID, technischer Primiärschlüssel
ipb_address (Zeichenkette)
IP-Adresse, IP-Range oder Benutzername
ipb_user (Zahlenwert)
Benutzer-ID oder 0 für IP-Adressen/IP-Range
ipb_by (Zahlenwert)
Benutzer-ID des Sperrenden
ipb_by_text (Zeichenkette)
Benutzername des Sperrenden
ipb_reason (Zeichenkette)
Sperrgrund
ipb_timestamp (Zeitstempel)
Zeitpunkt der Sperre
ipb_auto (Boolean)
Kennzeichen, ob es sich um ein WP:Autoblock handelt
ipb_anon_only (Boolean)
Kennzeichen, ob diese Sperre nur unangemeldete Benutzer betrifft
ipb_create_account (Boolean)
Kennzeichen, ob diese Sperre das Anlegen von Benutzerkonten verhindert
ipb_enable_autoblock (Boolean)
Kennzeichen, ob WP:Autoblocks ausgelöst werden sollen
ipb_expiry (Zeitstempel)
Zeitpunkt, zu dem die Sperre abläuft, oder infinity
ipb_range_start (Zeichenkette)
IP-Range-Start als Hexadezimal für größer/kleiner-Vergleiche
ipb_range_end (Zeichenkette)
IP-Range-Ende als Hexadezimal für größer/kleiner-Vergleiche
ipb_deleted (Zahlenwert)
Kennzeichen, das die Sichtbarkeit der Sperre und des Benutzerkontos steuert (hideuser, Wert=1, dann ipb_address und ipb_user auf NULL)
ipb_block_email (Boolean)
Kennzeichen, ob das Versenden von E-Mails unterbunden werden soll
ipb_allow_usertalk (Boolean)
Kennzeichen, ob die eigene Benutzerdiskussionsseite bearbeitet werden darf
ipb_parent_block_id (Zahlenwert)
Block-ID der auslösenden Sperre bei Autoblocks. Wird genutzt, um Autoblocks aufzuhehen, wenn der Benutzer entsperrt wird.

Sonstiges[Quelltext bearbeiten]

  • Es gibt noch weitere Tabellen, vor allem für MediaWiki-Erweiterungen (wie Gesichtete Versionen, Bearbeitungsfilter)
  • Die Datenbanktabellen in MediaWiki unter Benutzung von MySQL oder MariaDB haben keine datenbankseitigen Fremdkeybeziehungen zur Wahrung der referentiellen Integrität oder für natural joins.
  • Spalten mit privaten Informationen sind auf ToolLabs vorhanden, haben aber eine Ausprägung von binary(0) und somit nie Inhalt.
  • Wie in einer relationalen Datenbank möglich, kann die Spaltenreihenfolge abweichen, je nach dem ob die Spalte nachträglich dazugekommen ist oder ob es ein neueres Wiki ist, wo die Spalte schon direkt vorhanden war.
  • Falls es Abweichungen zwischen WMF und dem Standard gibt, mal unter T51188 schauen, ob eventuell ein Task (als Blocking-Task) dazu erfasst wurde, der nur noch nicht umgesetzt wurde.

Versionslöschung [Quelltext bearbeiten]

Die Tabellen revision, logging, recentchanges, oldimage enthalten ein Feld, das auf _deleted endet. Es handelt sich hierbei um einen Bitoperator, der im Zusammenhang mit der Versionslöschung genutzt wird. Auf Basis dieses Feldes werden andere Felder in der normalen Oberfläche ausgeblendet. Auf ToolLabs werden diese anderen Felder auf NULL gesetzt und sind somit auch für Benutzer nicht einsehbar, die die Berechtigungen auf dem eigentlichen Wiki hätten.

Bedeutungen der Bits:

  • 0 – alles sichtbar
  • 1 – Text nicht sichtbar
  • 2 – Kommentar nicht sichtbar
  • 4 – Benutzer nicht sichtbar
  • 8 – Oversight-Aktion

Mögliche Kombinationen der Zahlenwerte des Bitoperators:

  • 0 – alles sichtbar
  • 1 – Text nicht sichtbar
  • 2 – Kommentar nicht sichtbar
  • 3 – Text und Kommentar nicht sichtbar
  • 4 – Benutzer nicht sichtbar
  • 7 – Text, Kommentar und Benutzer nicht sichtbar
  • 9 – Text durch Oversight-Aktion nicht sichtbar
  • 10 – Kommentar durch Oversight-Aktion nicht sichtbar
  • 11 – Text und Kommentar durch Oversight-Aktion nicht sichtbar
  • 12 – Benutzer durch Oversight-Aktion nicht sichtbar
  • 15 – Text, Kommentar und Benutzer durch Oversight-Aktion nicht sichtbar

Weitere Informationen[Quelltext bearbeiten]

(alles englisch)