学计算机的男孩、女孩现在都挺多。特别是80、90后互联网原住民,很多人都特别爱玩游戏。我们通过游戏里面的用户装备信息讲解表的关系。

    银行取钱、转账、发红包也是我们日常中最常用银行卡操作,我们还用银行卡的存取讲解表的关系。

    在游戏里面的某个人物有头盔、衣服、靴子、武器、项链。

    并且,每一个不同的武器会增加上不同的攻防值。那我们就可以这么来模拟游戏的表设计。

    用户表

    用户表中骷髅王带上了装备表中编号为1(死亡面具)和使用了编号为6(魔棒)的武器。

    而用户3(半人马),使用了装备表中编号为3(的速度之靴)和7(幽魂权杖)。

    这样就实现了游戏中某些用户戴上了装备。如果用户的行和列数据里面没有这个选项的话,则没有这个数据。

    通过装备的属性值,与用户等级属性值相加就实现了用户穿上装备好的回血、防御值增加等不同的效果。

    银行开户、取现和转帐

    我们在日常生活中经常进行的一个活动就是使用银行卡付钱,在银行的账单中,忠实的记录着我们每一笔交易。

    上表中设计了用户的银行卡ID、卡号、密码、是否冻结和余额。

    场景模拟:

    • 社会工程学中,人们喜欢用相同的密码。因此,用户的密码必须要进行再次加密,不可逆向解密。因为害怕看到了某个用户的密码后,用这个密码去尝试用户的其他银行卡。
    • 用户若取钱了,或者存钱了将用户的余额增加或者减少。同时将记录,记录至交易流水中。
      交易流水表

    每当用户的余额发生变化的时候,我们都会忠实的记录到交易流水表中。让交易可查、可追述。

    这样就模拟了银行的冻结、取现、存钱等流程。


    注:密码必须使用md5等加密方式帮用户进行加密。用户输入原密码如:123456。我们使用md5将用户输入的123456加密后与数据库的密码进行对比。一致则密码通过。不一致则用户将密码输入错误了。

    原文: http://mysql.phpxy.com/75298