设计游戏用户信息表

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 设计游戏用户信息表

回顾下Rose要实现的用户登陆模块,具体需求如下:


游戏玩家访问游戏客户端,通过客户端界面输入用户名和密码

在游戏玩家点击”确认”后,客户端连接至数据库服务器对用户名和密码进行确认,

如果验证成功,则 玩家可以进入大厅,如果失败,则不允许进入!


俗话说得好,要开车,先修路!


请帮Rose设计好相应的数据库表,并插入少量样例数据!


mysql> create database game_db;   #创建游戏数据库game_db


mysql> use game_db;   #选择数据库game_db


mysql> create table users (


id int(11) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',


username   varchar(64)  NOT NULL UNIQUE COMMENT '用户名',


password   varchar(32)  NOT NULL COMMENT '密码',


nickname   varchar(64)  DEFAULT NULL COMMENT '昵称',


mobile      char(11)     DEFAULT NULL COMMENT '手机号码',


age         tinyint(3)    unsigned DEFAULT 18 COMMENT '年龄',


idno        char(18)     DEFAULT NULL COMMENT '身份证号码'


);


作用1:  验证用户的身份


作用2:  用来保存用户的基本信息


更高逼格的设计: 分成两个表,用户信息表和用户验证表


基于以下三方面的原因:


面向对象方面考虑  - 用户信息和用户验证是两种”对象”


性能方面考虑      - 登陆验证的时候列较少,查询速度快。


安全方面考虑      - 防止在查询用户信息时,把密码也直接查询出来,会容易被攻击和进行恶                                   意操作。

mysql> create database game_db;   #创建游戏数据库game_db


mysql> use game_db;   #选择数据库game_db


mysql> create table users (


id int(11) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',


username   varchar(64)  NOT NULL UNIQUE COMMENT '用户名',


nickname   varchar(64) DEFAULT NULL COMMENT '昵称',


mobile      char(11)  DEFAULT NULL COMMENT '手机号码',


age         tinyint(3) unsigned DEFAULT 18 COMMENT '年龄',


idno        char(18) DEFAULT NULL COMMENT '身份证号码'


);


create  table user_auths(


userid int(11) unsigned NOT NULL COMMENT '外键,对应users表中的id',


username   varchar(64)  NOT NULL UNIQUE COMMENT '用户名',


password varchar(32) NOT NULL COMMENT '密码',


FOREIGN KEY(userid) REFERENCES users(id)


);


mysql> insert into users (username, nickname, mobile, age, idno) values('martin', '程咬金', '18684518289', 39, '430623871234567898');


mysql> insert into user_auths values(1, 'martin', '123456qweQWE');  #密码明文,不安全


mysql> insert into user_auths values(1, 'martin', md5('123456qweQWE')); #使用内部函数md5 加密,一亿年马老师都无法破解


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
JavaWeb用户信息管理系统-修改用户操作的实现
JavaWeb用户信息管理系统-修改用户操作的实现
93 0
|
移动开发 前端开发 JavaScript
一些框架获取当前登录用户以及用户信息整理
无论是哪一个框架,获取当前登录用户信息是必不可少的,做一些功能的时候我们肯定得用到当前登陆者信息,所以我就查找了一下几个框架是如何获取当前用户信息,例如在若依框架中,用 this.$store.state.user就可以获取到。当获得的信息是极少时,不足够我们做其他功能时,当然你也可以自己在这个获取的基础上面增加所需信息即可。
一些框架获取当前登录用户以及用户信息整理
|
3月前
|
Java 数据安全/隐私保护 uml
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
该博客文章通过Java代码示例介绍了备忘录模式(Memento Pattern)的应用,通过创建备忘录对象保存用户信息的状态,允许用户在进行错误操作后能够恢复到之前的状态。
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
|
4月前
|
开发框架 前端开发 JavaScript
电商商品数据库的设计和功能界面的处理
电商商品数据库的设计和功能界面的处理
JavaWeb用户信息管理系统-用户只能在一处登录
JavaWeb用户信息管理系统-用户只能在一处登录
47 0
JavaWeb用户信息管理系统-用户查询的实现
JavaWeb用户信息管理系统-用户查询的实现
79 0
|
前端开发 JavaScript Java
JavaWeb之用户信息综合案例
JavaWeb之用户信息综合案例
JavaWeb之用户信息综合案例
|
JSON 前端开发 测试技术
案例03_验证手机唯一性| 学习笔记
快速学习案例03_验证手机唯一性。
案例03_验证手机唯一性| 学习笔记
|
开发者 Python
显示用户功能实现 | 学习笔记
快速学习 显示用户功能实现
|
存储 JSON NoSQL