使用者表格
接下來我們看到使用者相關的表格,在User table中記錄使者的相關資訊,User table與User groups
table為一對多的關係,在User
gruops中記錄使用者的群組,例如何者為管理員,也就是一位使用者會有很多角色;讀者會用到的可能就是這兩個表格。
此表格用來記錄每位使用者資訊。
名稱
| 型態
| 用途
|
user_id
| int(5) unsigned
| 使用者表格PrimaryKey。
|
user_name
| varchar(255)
| 使用者名稱必須是唯一的,且不能是IP形式,不分大小寫。
|
user_real_name
| varchar(255)
| 使用者實際名稱,為選填。
|
user_password
| tinyblob
| 密碼採用md5 hash儲存。
|
user_newpassword
| tinyblob
| 使用者忘記密碼時系統產生的新密碼,經由email寄送。
|
user_email
| tinytext
| 使用者電子郵件。
|
user_options
| blob
| 採用name=value格式並用逗號隔開,描述額外使用者資訊。
|
user_touched
| char(14)
| 使用者最後更新日期,包含頁面異動及使用者喜好設定。
|
user_token
| char(32)
| 儲存使用者資訊。
|
user_email_authenticated
| char(14)
| 儲存使用者的電子郵件是否經過驗證的資訊。
|
user_email_token
| char(32)
| 儲存使用者電子郵件資訊。
|
user_email_token_expires
| char(14)
| 儲存使用者電子郵件是否過期的資訊。
|
user_registration
| char(14)
| 儲存使的註冊相關資訊。
|
user_newpass_time
| timestamp
| 系統產生新密碼時間。
|
user_editcount
| int(11)
| 使用者的編輯次數。
|
此表格用來記錄使用者所屬群組,主要為管理員及行政管理員。
名稱
| 型態
| 用途
|
ug_id
| int(5) unsigned
| 使用者編號
|
ug_group
| char(16)
| 使用者群組名稱,分為sysop、bureaucrat。
|
此表格用來記錄使用者討論頁面的討論使用者編號或IP以用來提醒有新訊息。
名稱
| 型態
| 用途
|
user_id
| int(5)
| 使用者編號
|
user_ip
| varchar(40)
| 使用者IP
|
此表格用來記錄使用者列入觀察的頁面。
名稱
| 型態
| 用途
|
wl_user
| int(5) unsigned
| 使用者編號
|
wl_namespace
| int(11)
| 觀察頁面Namespace。
|
wl_title
| varchar(255)
| 觀察頁面名稱。
|
wl_notificationtimestamp
| varchar(14)
| 通知更新時間。
|
連結表格
Pagelinks table
名稱
| 型態
| 用途
|
pl_from
| int(8) unsigned
| 頁面編號page_id。
|
pl_namespace
| int(11)
| 內部頁面連結的Namespace。
|
pl_title
| varchar(255)
| 內部頁面連結名稱,連結頁面可能不存在或被刪除。
|
Templatelinks table
名稱
| 型態
| 用途
|
pl_from
| int(8) unsigned
| 頁面編號page_id。
|
pl_namespace
| int(11)
| 頁面連結樣版的Namespace。
|
pl_title
| varchar(255)
| 頁面連結樣版名稱,連結頁面可能不存在或被刪除。
|
Categorylinks table
名稱
| 型態
| 用途
|
cl_from
| int(8) unsigned
| 類別頁面編號。
|
cl_to
| varchar(255)
| 類別頁面名稱。
|
cl_sortkey
| varchar(86)
| 類別頁面排序名稱。
|
cl_timestamp
| timestamp
| 類別頁面更新時間。
|
Imagelinks table
名稱
| 型態
| 用途
|
il_from
| int(8) unsigned
| 檔案頁面編號。
|
il_to
| varchar(255)
| 檔案頁面名稱。
|
Semantic MediaWiki
Page table與attributes、relations為一對多的關係,但是在attributes、relations並未記錄Page table的頁面編號,只記錄完整頁面名稱。
attributes
名稱
| 型態
| 用途
|
subject_id
| int(8)
| 屬性所在頁面編號。
|
subject_namespace
| int(11)
| 屬性所在頁面之命名空間。
|
subject_title
| varchar(255)
| 屬性所在頁面名稱。
|
attribute_title
| varchar(255)
| 屬性名稱。
|
value_datatype
| varchar(31)
| 屬性資料型態。
|
value_xsd
| varchar(255)
| 屬性值。
|
value_num
| double
| 當屬性型態為列舉型態,此值為列舉值之編號。
|
relations
名稱
| 型態
| 用途
|
subject_id
| int(8)
| 關係所在頁面編號。
|
subject_namespace
| int(11)
| 關係所在頁面之命名空間。
|
subject_title
| varchar(255)
| 屬性所在頁面名稱。
|
relation_title
| varchar(255)
| 關係名稱。
|
object_namespace
| int(11)
| 關係目標頁面命名空間。
|
object_title
| varchar(255)
| 關係目標頁面名稱。
|
specialprops
名稱
| 型態
| 用途
|
subject_id
| int(8)
| 資料屬性頁面編號。
|
subject_namespace
| int(11)
| 資料屬性頁面命名空間。
|
subject_title
| varchar(255)
| 資料屬性頁面名稱。
|
property_id
| smallint(6)
| 資料屬性分類,用於列舉型態。
|
value_string
| varchar(255)
| 資料屬性型態。
|
系統管理
結語
在本文以及上文當中介紹了MediaWiki的資料庫綱要,對於想要更進階瞭解的高手可能還嫌不足,會想自行下SQL指令來取得資料,然而對於初入門的使用者卻可借由此文更加瞭解MediaWiki的架構。
|