Mediawiki 資料表說明
出自六年制學程
目錄
各版本資料表異動
1.17到1.21
- 增加四張表
- wiki_site_identifiers 保留網站相關認證
- wiki_sites 保存wiki網站相關訊息
- wiki_uploadstash 保存檔上傳時(上傳完成前)的資訊
- wiki_user_former_groups 保存使用者曾經所在的族群
- 減去一張表
- wiki_trackbacks 可以加入一個引用到資料中
1.21到1.22
- 減去一張表
- wiki_math 可以加入數學公式語法<math> ... </math>
1.22到1.23
- 減去一張表
- wiki_external_user
1.17 版
共 49 張資料表
名字空間列表
詳見使用說明:名字空間。除虛擬名字空間外,偶數是主體,奇數是其 talk 。
-2 | Media | 媒體 | 虛擬名字空間由頁面自動生成,不在資料表內。 | |||
-1 | Special | 特殊 | ||||
0 | 「條目名字空間」(Article Namespace)沒有任何前綴,屬於「主名字空間」 | 1 | Talk | 討論 | ||
2 | User | 使用者 | 3 | User_talk | 使用者討論 | |
4 | Project | 當前專案,即中華民國振鐸學會 | 5 | $1_talk | $1討論 | |
6 | File | 檔案 | 7 | File_talk | 檔案討論 | |
8 | MediaWiki | MediaWiki | 9 | MediaWiki_talk | MediaWiki討論 | |
10 | Template | 模板 | 11 | Template_talk | 模板討論 | |
12 | Help | 使用說明 | 13 | Help_talk | 使用說明討論 | |
14 | Category | 分類 | 15 | Category_talk | 分類討論 |
參考
頁資料表
共 7 表。
核心三表:
- wiki_page 頁碼、頁名
- wiki_revision 版本,依其頁碼欄(rev_page)對到 wiki_page ,依其內文碼欄(rev_text_id)對到 wiki_text 資料表
- wiki_text 內文
輔助四表
- wiki_searchindex 將各頁的頁名、內文編成 ASCII code ,以利蒐尋。
- wiki_page_restrictions 列出保護頁。
- wiki_recentchanges 以異動為主體,列出每一次異動的重點。
- wiki_page_props 特殊表現
- wiki_page 頁碼、頁名
- page_id:頁碼
- page_namespace:本頁所屬的名字空間
- page_title:頁名,檔案則為檔名。
- page_restrictions:用逗號分隔的Permission Key誰可移動或保護頁面,在1.10版已移至page restrictions table。
- page_counter:訪問次數
- page_is_redirect:是否重導向,其值為0或1,1為redirect頁面。
- page_is_new:是否新建頁,其值為0或1,1為新頁面。
- page_random:0至1的隨機數,用在隨機頁面的功能。
- page_touched:頁最後被重新給予的年月日時分秒
- page_latest:本頁最後的版本 id ,其值為revision裡的rev_id。
- page_len:頁長度,檔案則為註解長度,為原始Wiki語法統計的Bytes數。
- wiki_text 頁內文(整合各段)
- old_id:過程頁編碼
- old_text:過程頁內文,檔案則為註解。
- old_flags:內文的flag列表,包含gzip代表壓縮內容、utf8代表內容為UTF編碼、object代表內容有PHP物件。
- wiki_revision 修訂版
- rev_id:流水號
- rev_page:頁碼
- rev_text_id:內文碼,對到text表中的old_id。可能多個版本共用一個text的old_id;例如版本只有改變metadata。
- rev_comment:修訂註解,如「新頁面: …」「已保護…」「/* 段落名 */」「空白」
- rev_user:編輯者的使用者編號,若為0則是匿名使用者或是匯入。
- rev_user_text:編輯者的帳號或是匿名使用者的IP。
- rev_timestamp:版本修改時間
- rev_minor_edit:是否為小修訂,若為1為小修改,0為正常修改。
- rev_deleted:版本是否被刪除,尚未使用。
- rev_len:該版長度,檔案則為註解長度。
- rev_parent_id:父修訂版id
- wiki_searchindex 頁名及內文編成 ASCII code
- si_page:頁碼
- si_title:頁名,非UTF8字直接顯示,UTF8字在「u8」至空白之間夾入各byte的十六進位ASCII code。
- wiki_searchindex:頁內文,非UTF8字直接顯示,UTF8字在「u8」至空白之間夾入各byte的十六進位ASCII code。
- wiki_page_restrictions 保護頁
- pr_page:頁碼
- pr_type:限制類型,分edit、move
- pr_level:那一種群組以上的人才可以操作,如sysop(管理者)(完全保護),如autoconfirmed(已確認註冊者)(半保護),或註冊者(半保護)。
- pr_cascade:1為連鎖保護,連本頁中的Template及影像都一起保護。
- pr_user:目前為空值暫無用途,未來可用於個別使用者權限管理。
- pr_expiry:保護期,infinity代表無限長,空值則為永久有效。
- pr_id:流水號
- wiki_recentchanges 新近異動
- rc_id:流水號
- rc_timestamp:時間
- rc_cur_time:時間
- rc_user:使用者編碼
- rc_user_text:使用者帳號
- rc_namespace:0,內容頁;2,特殊頁
- rc_title:操作對象,帳號或頁名
- rc_comment:改變註解,如「新頁面: …」「/* 段落名 */」「空白」
- :…
- wiki_page_props 特殊表現
- pp_page:頁碼
- pp_propname:特性名稱,如 notoc 代表不秀出目錄框
- pp_value:特性值,如 notoc 不需要值
建新頁
- wiki_page 新增一筆,得到頁碼。
- wiki_revision 新增一筆,得到內文編碼
- wiki_text 新增一筆,塞入內文,換頁碼時免改。
- wiki_searchindex 增一筆,頁名、內文編成 ASCII code
- wiki_pagelinks 增0-數筆,列出本頁產生的各內部連結
- wiki_externallinks 增0-數筆,列出本頁產生的各外部連結
- wiki_logging 增一筆,記入時間、帳號、版本編碼、父版本編碼
換頁碼
要考慮維護下一段的連結保持正確
換頁名
- 涉及 wiki_page , wiki_searchindex , wiki_recentchanges , wiki_pagelinks
- 先查 wiki_pagelinks ,看有沒有其他頁連向此頁。
- 改 wiki_page , wiki_pagelinks 的頁名欄中,改舊頁名為新頁名。
- wiki_searchindex 會自動重做,毋須手動處理。
- wiki_recentchanges , wiki_logging ,在修改時點後會表現新頁名,毋須手動處理。
連結資料表
- wiki_pagelinks 內部連結,列出頁與頁之間的連結關係。
- wiki_templatelinks 樣板連結
- wiki_externallinks 外部連結,列出各頁的外部連結。
- wiki_categorylinks 分類連結,參見分類段
- wiki_imagelinks 檔案連結,參見檔案段
- wiki_redirect 重新導向連結
- wiki_interwiki及wiki_iwlinks 視為內部連結的跨網站間的連結
- wiki_langlinks 記錄語言連結,例如首頁/tw、首頁/jp。
- wiki_pagelinks 內部連結,可導出「特殊:待撰頁面」
- pl_from:包含連結共筆頁的頁碼
- pl_namespace:連結目的地的名字空間代碼
- pl_title:連結目的地的頁名,因為目的地可能已產生也可能未產生,所以只能用頁名不能用頁碼
- wiki_templatelinks 樣板連結
- tl_from:包含連結共筆頁的頁碼
- tl_namespace:連結目的地的名字空間代碼
- tl_title:連結目的地的頁名,因為目的地可能已產生也可能未產生,所以只能用頁名不能用頁碼
- wiki_externallinks 外部連結
- el_from:包含外部連結的頁碼
- el_to:外部連結的 URL
- el_index:同el_to,但逆排構成 DN 的各個字(以.分隔)。
- wiki_redirect 重導向
- rd_from:重導向頁的頁碼
- rd_namespace:重導向目的地的名字空間
- rd_title:重導向目的地的頁名
- rd_interwiki
- rd_fragment
- wiki_interwiki 93個跨wiki連結網站,丁丁加上中文維基百科。只能用於內部連結,不能用於嵌入
- iw_prefix:其他網站的前置字,視為本網站的名字空間
- iw_url:網站的 URL 加上參數的位置
- iw_api
- iw_wikiid
- iw_local
- iw_trans
- wiki_iwlinks
- iwl_from:連往其他網站的本站共筆頁頁碼
- iwl_prefix:其他網站的前置字,視為本網站的名字空間
- iwl_title:要送到其他網站 URL 中的參數
- wiki_langlinks
- ll_from:使用語言連結的頁碼
- ll_lang:目的連結的國家語言
- ll_title:目的連結的頁名
檔案資料表
檔案實際 images 資料夾中,路徑放在什麼地方目前不明
- wiki_page
- page_title:列出檔名
- page_len:註解長度
- wiki_text
- old_text:註解
- wiki_revision
- rev_len:註解長度。
- wiki_image:上傳檔
- img_name:檔名
- img_size:檔案大小
- img_width:圖寬
- img_height:圖高
- img_metadata:serialize化的描述資料,如frameCount、loopCount、時間…
- img_bits:通常為8,代表8bit
- img_media_type:BITMAP代表點陣圖,
- img_major_mime:mime之大項如image
- img_minor_mime:mime之小項如jpeg、png
- img_description:註解
- img_user:帳號編碼
- img_user_text:帳號
- img_timestamp:年月日時分秒
- img_sha1:檔案的SHA1唯一驗證碼
- wiki_imagelinks
- il_from:含圖連結的頁碼。imageLinkFrom
- il_to:檔名。imageLinkTo
分類
- wiki_page 頁碼、頁名
- wiki_category
- cat_id 分類碼
- cat_title 分類名
- cat_pages 包含了幾頁
- cat_subcats 子分類數目
- cat_files 包含檔案數
- cat_hidden 是否隱藏
- wiki_categorylinks 那些共筆頁屬於那些分類
- cl_from 共筆頁的id
- cl_to 共筆頁隸屬分類的分類名
- cl_sortkey 共筆頁的頁名(title),
- 如為英文則依 cl_collation 欄的指示全部轉大小寫
- 如為中文拆成一byte一byte,轉成ASCII以十六進位表示後串起來
- 有時會將「MediaWiki:頁面分類」轉成「YMFL 維基百科:頁面分類」,再轉成ASCII以十六進位表示後串起來;將「MediaWiki:命名常規」轉成「命名常規 命名常規」,再轉成ASCII以十六進位表示後串起來。
- cl_sortkey_prefix 共筆頁頁名的前置字,即前一欄空白之前的字串,大多數為空值,如上項之例「頁面分類」前置字為「YMFL」、「命名常規」前置字為「命名常規」。
- cl_timestamp 建立時間
- cl_collation 連結的整理方式,如「uppercase」(大寫)
- cl_type 連結的型態,如「page」(條目頁),「subcat」(子分類)
帳號群組
- wiki_user 使用者帳號及編碼
- user_id:使用者表格PrimaryKey。
- user_name:使用者名稱必須是唯一的,且不能是IP形式,不分大小寫。
- user_real_name:使用者實際名稱,為選填。
- user_password:密碼採用md5hash儲存。
- user_newpassword:使用者忘記密碼時系統產生的新密碼,經由email寄送。
- user_email:使用者電子郵件。
- user_options:採用name=value格式並用逗號隔開,描述額外使用者資訊。
- user_touched:使用者最後更新日期,包含頁面異動及使用者喜好設定。
- user_token:儲存使用者資訊。
- user_email_authenticated:儲存使用者的電子郵件是否經過驗證的資訊。
- user_email_token:儲存使用者電子郵件資訊。
- user_email_token_expires:儲存使用者電子郵件是否過期的資訊。
- user_registration:儲存使的註冊相關資訊。
- user_newpass_time:系統產生新密碼時間。
- user_editcount:使用者的編輯次數。
- wiki_user_groups 各帳號隸屬於何種群組
- ug_id:使用者編號
- ug_group:使用者群組名稱,分為sysop、bureaucrat。
- wiki_user_properties 各帳號的額外屬性,如有無要不要時間校正、綽號、要不要記住密碼、性別、 watch list token 等
- wiki_user_newtalk:記錄使用者討論頁面的討論使用者編號或IP以用來提醒有新訊息。
- user_id:使用者編號
- user_ip:使用者IP
- wiki_watchlist:記錄使用者列入觀察的頁面。
- wl_user:使用者編號。
- wl_namespace:觀察頁的名字空間。
- wl_title:觀察頁的頁名。
- wl_notificationtimestamp:通知更新時間。
新增使用者
- wiki_user 加一筆
- wiki_user_groups 可能不加,要管理員以上(bureaucrat,sysop)的人才會加。
- wiki_user_properties 加0筆、一筆至數筆,如要不要記住密碼
- wiki_recentchanges 加1筆,記newusers這個動作,但不重要。
- wiki_logging 加1筆,記newusers這個動作,但不重要。
系統管理
- wiki_logging 登入日誌
- wiki_site_stats 網站統計資訊
- wiki_job 待處理工作
次要資料表
共 6 表。
- wiki_l10n_cache 各種語言中 lc_key 的多值定義
- wiki_module_deps 使用模組、布景、參數
- wiki_msg_resource 19種功能資源(如jquery)的文字編碼及參數陣列
- wiki_msg_resource_links 10種mediawiki自行開發功能資源之訊息
- wiki_objectcache 各種臨時性操作物件的生命週期
- wiki_archive 記錄刪除的頁面資訊。
空值資料表
目前 17 表。
- wiki_change_tag
- wiki_external_user:追蹤外部用戶帳戶,如果使用 ExternalAuth 時。使用版本在 1.16 – 1.21 版期間。隨著 ExternalAuth 功能被廢止,本表在 MediaWiki1.22 後被去除。應該使用 AuthPlugin 。
- wiki_filearchive:記錄刪除的檔案資訊,必須要將$wgFileStore參數啟動才會記錄。
- wiki_hitcounter
- wiki_ipblocks
- wiki_log_search
- wiki_math:記錄數學公式相關資訊,主要為原始的數學公式語法及解析後的數學公式語法。
- wiki_oldimage:記錄舊版的上傳檔案資訊,其中舊版檔案放置於/image/archive目錄。
- wiki_protected_titles
- wiki_querycache
- wiki_querycache_info
- wiki_querycachetwo
- wiki_tag_summary
- wiki_trackbacks
- wiki_transcache
- wiki_updatelog
- wiki_valid_tag