Mysql娛樂化解說表關係

上一章我們講到了資料庫的應用範圍非常廣泛。如果沒有了資料庫,可能我們未來寸步難行。

學計算機的男生、女生現在都蠻多。特別是80、90後網路原著民,很多人都特別愛玩遊戲。我們透過遊戲裡面的使用者裝備資訊來講解表的關係。

銀行提款、轉帳、發紅包也是我們日常中最常用銀行卡操作,我們也用銀行卡的存取來講解表的關係。

遊戲裡裝備和使用者的關係

在遊戲裡面的某個角色有頭盔、衣服、靴子、武器、項鍊。

並且,每一個不同的武器都會增加上不同的攻防值。那我們就可以這樣來模擬遊戲的表設計。

註:以下僅為了讓大家更理解遊戲裡、使用者和裝備的關係。

用戶表

##3 7
#使用者編號使用者名稱#」面具靴子武器
#1骷髏王1
6
2#混沌騎士4
2
3半人馬

裝備表

裝備ID裝備名稱恢復血液恢復魔防禦1死亡面具1035#2逃脫匕首#22413速度之靴3454#藝人面具1345法師斗篷5#636魔棒13#32#327幽魂權杖113345

用戶表中骷髏王帶上了裝備表中編號為1(死亡面具)和使用了編號為6(魔棒)的武器。

而使用者3(半人馬),使用了裝備表中編號為3(的速度之靴)和7(幽魂權杖)。

這樣就實現了遊戲中某些使用者戴上了裝備。如果使用者的行和列資料裡面沒有這個選項的話,就沒有這個資料。

透過裝備的屬性值,與使用者等級屬性值相加就實現了使用者穿上裝備好的回血、防禦值增加等不同的效果。

銀行開戶、取現和轉載

我們在日常生活中經常進行的一個活動就是使用銀行卡付錢,在銀行的賬單中,忠實的記錄著我們每一筆交易。

我們來透過表格的方式來模擬:

#是否凍結餘額16222 0202 0002 66014#e10adc3949ba59abbe56e057f##012345.00#25423 4321 4567 8889
銀行卡ID銀行卡號##銀行卡ID銀行卡號碼
##e10adc3949ba59abbe56e057f#20f883e

2

5423 4321 4567 8889
  1. 5bd2026f128662763c532f2
  2. 5bd2026f128662763c532f2
  3. #45.58
上表中設計了使用者的銀行卡ID、卡號、密碼、是否凍結和餘額。

場景模擬:

使用者插入卡片、輸入密碼正確後。則可以取錢社會工程學中,人們喜歡用相同的密碼。因此,使用者的密碼必須要進行再次加密,且不可逆向解密。因為害怕看到了某個使用者的密碼後,就用這個密碼去嘗試使用者的其他銀行卡。 我們自行規定:凍結狀態可以設定為0(未凍結) 和 1 (凍結了)。如果銀行收到法院的通知。則將凍結狀態設為1。有錢也不讓拿錢。 (這塊業務邏輯需要在程式中實作)。 用戶若取錢了,或是存錢了將用戶的餘額增加或減少。同時將記錄,記錄至交易流水中。 交易流水錶#銀行卡ID操作#地點1-1000.00北京市百度大廈ATM 1#+34000.00
###上海外灘xx銀行營業室############2######-12.08#######淘寶網購############

每當用戶的餘額改變的時候,我們都會忠實的記錄到交易流水錶中。讓交易可查、可追述。

這樣就模擬了銀行的凍結、取現、存錢等流程。


附註:
密碼必須使用md5等加密方式幫使用者進行加密。使用者輸入原密碼如:123456。我們使用md5將用戶輸入的123456加密後與資料庫的密碼進行比較。
一致則密碼通過。不一致則使用者將密碼輸入錯誤了。

這樣就實現保證使用者密碼安全,防止內部人員洩漏使用者密碼的可能性。
更多的密碼知識,我們在下冊和進階項目中更多的為大家講解。

#
繼續學習
||
<?php echo "Hello Mysql"; ?>
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!