HUSTOJ數(shù)據(jù)庫分析(16/11/16)

一共有18張表。

sim表:應(yīng)該是用于判重的表,s_id應(yīng)該是唯一的判重結(jié)果編號,剩下兩個(gè)鍵暫時(shí)還不知道。
topic表:應(yīng)該存放的是討論版里的信息,只存了標(biāo)題和一些優(yōu)先級的信息,相應(yīng)地reply表里存放包括一樓在內(nèi)的所有回復(fù)。相應(yīng)地,topic由tid唯一標(biāo)識。
reply表:內(nèi)容上述,由rid來唯一標(biāo)識。同時(shí)存放tid為topic_id。
news表:公告信息。
mail表:郵件信息,所有用戶from和to,標(biāo)記是否是回復(fù)的郵件,應(yīng)該是要自動(dòng)加RE之類的。
online表:不太清楚是做什么的,大概是顯示當(dāng)前登錄的用戶信息?
loginlog表:記錄用戶登錄信息,看樣子是只要嘗試登錄,都會(huì)被記錄。
privilege表:記錄權(quán)限內(nèi)容的,包括管理員、題目編輯等。
users表:存放用戶信息的表,password是經(jīng)過加密的。
compileinfo表:可能是記錄已經(jīng)提交需要編譯的solutions的信息,只有一個(gè)id以及記錄錯(cuò)誤信息的鍵。
runtimeinfo表:認(rèn)為同上,編譯結(jié)束后執(zhí)行同樣需要。
custominput表:提交前自己測試運(yùn)行輸入的測試值,測試運(yùn)行后在輸出中返回自己的代碼的返回值。
problem表:存放題目的,數(shù)據(jù)存放在/home/judge/data中,以題號命名的目錄下。
contest表:記錄比賽信息的。
contest_problem表:鍵有問題的id和比賽的id,比賽時(shí)問題題目可以修改。突然想到problem中可以隱藏題目,估計(jì)是考慮做比賽的時(shí)候不希望透題,但是題目實(shí)際還是應(yīng)該在這個(gè)表里,這樣做就方便多了。
source眾表:很多以solution_id為主鍵的表,就會(huì)發(fā)現(xiàn)里面的層次是很清晰的。一般展示出來的只是用戶的提交信息,并沒有代碼。所以這些信息單獨(dú)放出來在查詢的時(shí)候會(huì)提高效率,如果和代碼放在一起,那么查詢的時(shí)候可能耗時(shí)耗空間更多。

想到自己在實(shí)習(xí)的時(shí)候都是一邊擼代碼一邊建表,搞出來的東西簡直不能看。應(yīng)該先有大局觀,建好表再去完成剩下的工作,磨刀不誤砍柴工,學(xué)習(xí)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容