PHP開發(fā)基礎(chǔ)教程之表關(guān)係講解及資料庫的安裝
學(xué)計(jì)算機(jī)的男孩、女孩現(xiàn)在都蠻多。特別是80、90後網(wǎng)路原著民,很多人都特別愛玩遊戲。我們透過遊戲裡面的使用者裝備資訊來講解表的關(guān)係。
銀行提款、轉(zhuǎn)帳、發(fā)紅包也是我們?nèi)粘V凶畛S勉y行卡操作,我們也用銀行卡的存取來講解表的關(guān)係。
遊戲裡的裝備與使用者的關(guān)係
在遊戲裡面的某個(gè)人物有頭盔、衣服、靴子、武器、項(xiàng)鍊。
並且,每一個(gè)不同的武器都會(huì)增加上不同的攻防值。那我們就可以這樣來模擬遊戲的表設(shè)計(jì)。
註:以下僅為了讓大家更理解遊戲裡、使用者和裝備的關(guān)係。
用戶表
#裝備表
使用者表中骷髏王帶上了裝備表中編號(hào)為1(死亡面具)和使用了編號(hào)為6(魔棒)的武器。 而使用者3(半人馬),使用了裝備表中編號(hào)為3(的速度之靴)和7(幽魂權(quán)杖)。 這樣就實(shí)現(xiàn)了遊戲中某些使用者戴上了裝備。如果使用者的行和列資料裡面沒有這個(gè)選項(xiàng)的話,就沒有這個(gè)資料。
透過裝備的屬性值,與使用者等級(jí)屬性值相加就實(shí)現(xiàn)了使用者穿上裝備好的回血、防禦值增加等不同的效果。
銀行開戶、取現(xiàn)與轉(zhuǎn)帳
我們來透過表格的方式來模擬:
- 場(chǎng)景模擬:
- 用戶插入卡片、輸入密碼正確後。則可以取錢######社會(huì)工程學(xué)中,人們喜歡用相同的密碼。因此,使用者的密碼必須要進(jìn)行再次加密,且不可逆向解密。因?yàn)楹ε驴吹搅四硞€(gè)使用者的密碼後,就用這個(gè)密碼去嘗試使用者的其他銀行卡。 ###
我們自行規(guī)定:凍結(jié)狀態(tài)可以設(shè)定為0(未凍結(jié)) 和 1 (凍結(jié)了)。如果銀行收到法院的通知。則將凍結(jié)狀態(tài)設(shè)為1。有錢也不讓拿錢。 (這塊業(yè)務(wù)邏輯需要在程式中實(shí)作)。
用戶若取錢了,或是存錢了將用戶的餘額增加或減少。同時(shí)將記錄,記錄至交易流水中。
交易流水錶
#每當(dāng)用戶的餘額改變的時(shí)候,我們都會(huì)忠實(shí)的記錄到交易流水錶。讓交易可查、可追述。
這樣就模擬了銀行的凍結(jié)、取現(xiàn)、存錢等流程。
附註:
密碼必須使用md5等加密方式幫使用者進(jìn)行加密。使用者輸入原密碼如:123456。我們使用md5將用戶輸入的123456加密後與資料庫的密碼進(jìn)行比較。
一致則密碼通過。不一致則使用者將密碼輸入錯(cuò)誤了。
這樣就實(shí)現(xiàn)保證使用者密碼安全,防止內(nèi)部人員洩漏使用者密碼的可能性。
更多的密碼知識(shí),我們?cè)谙聝?cè)和進(jìn)階項(xiàng)目中更多的為大家講解。
資料庫的安裝
#我們的整合安裝套件已經(jīng)包含了MySQL,大家直接使用就可以了