Handboek MediaWiki/Database-opbouw

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Inleidend
Installatie Nog vrijwel niets. Revisiedatum: onbekend
Geschiedenis van MediaWiki Zeer goed ontwikkeld. Revisiedatum: onbekend
MediaWiki toepassen
Wikitekst en HTML Goed ontwikkeld. Revisiedatum: onbekend
Taalcodes Zeer goed ontwikkeld. Revisiedatum: onbekend
Magische woorden Zeer goed ontwikkeld. Revisiedatum: onbekend
Sjablonen Redelijk ontwikkeld. Revisiedatum: onbekend
Extensies Goed ontwikkeld. Revisiedatum: onbekend
MediaWiki intern
Database-opbouw Goed ontwikkeld. Revisiedatum: onbekend
Gebruikersgroepen Zeer goed ontwikkeld. Revisiedatum: onbekend
Speciale pagina's Goed ontwikkeld. Revisiedatum: onbekend
Monobook.js en Common.js Redelijk ontwikkeld. Revisiedatum: onbekend
Monobook.css en Common.css In ontwikkeling. Revisiedatum: onbekend

Elke pagina wordt afzonderlijk in de database opgeslagen. Alle versies van elke pagina zijn afzonderlijk beschikbaar. Dat wil zeggen dat wanneer een gebruiker een verandering maakt op een pagina er een nieuwe database ingang wordt gemaakt. Dus er wordt niet, zoals weleens gedacht wordt, alleen de verandering opgeslagen, waaruit een vorige versie van de pagina wordt gegenereerd wanneer die bekeken wordt.

Naast tekstpagina's worden ook afbeeldingen en multimediabestanden in de database opgeslagen.

Beschrijving van het afhandelen van een edit[bewerken]

Indien een edit wordt gedaan, wordt het artikel als cur opgeslagen. De vorige versie van het artikel wordt opgeslagen in old. Wordt een pagina verwijderd, dan wordt de informatie opgeslagen in archive.

Bij het opslaan van het artikel wordt informatie uit het bewerkingscherm opgedeeld in stukjes informatie die verdeeld wordt over verschillende tabellen, zoals:

  • page met de hoofdinformatie (tekst, inclusief plaatshouders voor informatie die in een separate tabel is opgeslagen)
  • interwiki, voor de interwikilinks
  • interne en externe links
  • zie verder hieronder in #Bestanden in de database.

Indien een pagina uit de geschiedenis actueel wordt gemaakt (een revert), dat wordt de informatie uit de old gekopieerd in de cur. De oude informatie in cur verdwijnt dan in old. Dit betekent dan dat er 2 gelijke versies bestaan in de geschiedenis van het artikel.

Bestanden in de database[bewerken]

Allereerst een schematisch overzicht van een gedeelte van de tabellen in de database.

Layout database MediaWiki v1.4


Tabelnaam Beschrijving (versie 1.8) Velden
archive In deze tabel worden verwijderde pagina's opgeslagen ar_namespace, ar_title, ar_text, ar_comment, ar_user, ar_user_text, ar_timestamp, ar_minor_edit, ar_flags, ar_rev_id, ar_text_id
categorylinks In deze tabel worden de links op een pagina, die het artikel verbindt met een categorie, opgeslagen cl_from, cl_to, cl_sortkey, cl_timestamp
externallinks In deze tabel worden de externe links op een pagina opgeslagen el_from, el_to, el_index
filearchive tabel met de data van de verwijderde files (afbeeldingen, geluidsbestanden en dergelijke), nieuw sinds versie 1.8, daarvoor waren files definitief verwijderd fa_id, fa_name, fa_archive_name, fa_storage_group, fa_storage_key, fa_deleted_user, fa_deleted_timestamp, fa_deleted_reason, fa_size, fa_width, fa_height, fa_metadata, fa_bits, fa_media_type, fa_major_mime, fa_minor_mime, fa_description, fa_user, fa_user_text, fa_timestamp
hitcounter telt het aantal malen dat een artikel bezocht is en wordt regelmatig leeggemaakt hc_id
image In deze tabel wordt de lijst met de afbeeldingen en andere multimediabestanden opgeslagen. De oude versies bevinden zich in old_table; de verwijderde versies (alleen de beschrijving op de pagina, de afbeelding is na verwijdering definitief weg) in archive_table img_name, img_size, img_width, img_height, img_metadata, img_bits, img_media_type, img_major_mime, img_minor_mime, img_description, img_user, img_user_text, img_timestamp
imagelinks Deze tabel slaat de links naar alle afbeeldingen op; dit wordt bijvoorbeeld gebruikt voor de Links naar deze pagina il_from, il_to
interwiki Deze tabel bevat de interwikilinks iw_prefix, iw_url, iw_local, iw_trans
ipblocks Deze tabel bevat de geblokkeerde IP's en gebruikers ipb_id, ipb_address, ipb_user, ipb_by, ipb_reason, ipb_timestamp, ipb_auto, ipb_anon_only, ipb_create_account, ipb_expiry, ipb_range_start, ipb_range_end
job Deze tabel bevat nog uit te voeren taken, namelijk het aanpassen van de referenties van pagina's nadat een sjabloon bewerkt is job_id, job_cmd, job_namespace, job_title, job_params
langlinks tabel met inter-taallinks ll_from, ll_lang, ll_title
logging De tabel voor de logboeken (verwijderde pagina's, nieuwe gebruikers, veranderde pagina's etc. log_type, log_action, log_timestamp, log_user, log_namespace, log_title, log_comment, log_params
math Tabel voor de gebruikte mathematische formules op een wiki. (zoals <math>a^2+b^2=c^2</math>) math_inputhash, math_outputhash, math_html_conservativeness, math_html, math_mathml
objectcache Hierin worden de standaardteksten, het menu en pagina's gecached. keyname, value, exptime
oldimage De tabel met de oude versies van afbeeldingen en multimediabestanden oi_name, oi_archive_name, oi_size, oi_width, oi_height, oi_bits, oi_description, oi_user, oi_user_text, oi_timestamp
page Dit is de kerntabel van de wiki met de pagina's/artikelen/modules page_id, page_namespace, page_title, page_restrictions, page_counter, page_is_redirect, page_is_new, page_random, page_touched, page_latest, page_len
pagelinks De tabel met de interne links van artikel naar artikel (of rode links als ze niet bestaan) pl_from, pl_namespace, pl_title
querycache Hierin worden resultaten van bepaalde speciale pagina's opgeslagen. qc_type, qc_value, qc_namespace, qc_title
querycachetwo Een tweede tabel met resultaten van bepaalde speciale pagina's opgeslagen. qcc_type, qcc_value, qcc_namespace, qcc_title,qcc_namespacetwo, qcc_titletwo
querycache info Tabel met details ten aanzien van de speciale pagina's in de query qci_type, qci_timestamp
recentchanges De tabel met de recente wijzigingen rc_id, rc_timestamp , rc_cur_time, rc_user, rc_user_text, rc_namespace, rc_title, rc_comment, rc_minor, rc_bot, rc_new, rc_cur_id, rc_this_oldid, rc_last_oldid, rc_type, rc_moved_to_ns, rc_moved_to_title, rc_patrolled, rc_ip
redirect De tabel met de verzameling van redirects rd_from, rd_namespace, rd_table
revision De tabel die de veranderingen (revisies) bijhoudt. Elke verandering krijgt een uniek nummer rev_id, rev_page, rev_text_id, rev_comment, rev_user, rev_user_text, rev_timestamp, rev_minor_edit, rev_deleted
searchindex Deze tabel bevat de index van teksten, waarmee de wiki kan worden doorzocht, werkt echter met de actuele dabatabase (current) si_page, si_title, si_text
site_stats De tabel met de algemene statistieken van de wiki (hoeveel maal pagina's bekeken, hoe vaak bewerkt, hoeveel artikelen, etc.) ss_row_id, ss_total_views, ss_total_edits, ss_good_articles, ss_total_pages, ss_users, ss_admins, ss_images
templatelinks Tabel met links naar sjablonen/pagina's die zijn ingevoegd met {{sjabloon}} tl_from, tl_namespace, tl_title
text Tabel met (verwijzingen naar) de werkelijke inhoud van pagina's old_id, old_text, old_flags
trackbacks tb_id, tb_page, tb_title, tb_url, tb_ex, tb_name
transcache tabel met interwiki transclusie tc_url, tc_contents, tc_time
user De tabel met de gebruikers (inclusief voorkeuren) user_id, user_name, user_real_name, user_password, user_newpassword, user_email, user_options, user_touched, user_token, user_email_authenticated, user_email_token, user_email_token_expires, user_registration
user_groups De tabel met welke gebruiker tot welke groep behoort ug_user, ug_group
user_newtalk De tabel met gebruikers met een nieuw bericht op hun overlegpagina (geeft de oranje balk met nieuw bericht) user_id, user_ip
watchlist De tabel met de informatie over de volglijsten van de verschillende gebruikers wl_user, wl_namespace, wl_title, wl_notificationtimestamp

Naamruimte[bewerken]

Elke entry wordt verbonden met een naamruimte. Deze naamruimtes zijn:

nummer naam
-2 Media
-1 Speciale pagina's
0 Artikel
1 Overleg bij artikel
2 Gebruiker
3 Overleg bij gebruiker
4 Projekt
5 Overleg bij projekt
6 Afbeelding
7 Overleg bij afbeelding
8 MediaWiki
9 Overleg bij MediaWiki
10 Sjabloon
11 Overleg bij sjabloon
12 Help
13 Overleg bij help
14 Categorie
15 Overleg bij Categorie
50 XYZ
51 Overleg bij XYZ
100 Transwiki
101 Overleg Transwiki

Er kunnen tot 1000 naamruimtes worden toegevoegd. -2 tot 15 zijn standaard beschikbaar, 50 en 51 zijn hier als voorbeeld aan toegevoegd. Op de Nederlandse wikipedia is de naamruimte portaal toegevoegd.

Media: is een pseudo-naamruimte. Links als [[media:xyz]] geven een directe link naar het bestand Afbeelding:xyz . Dus niet naar de beschrijvingspagina.

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.