同福

PHP做个用户管理系统(10)重新设计数据表和字段【20201126】

介绍

介绍

上一阶段福哥带着大家完成了TFUMS的视图模板的制作,根据这些模板上面的功能回头看看我们的数据表的字段,会发现很多功能用到的字段我们并没有设计进来。这是因为福哥在计划开这门《做个用户管理系统》课程之初没有想过要做这么复杂的一套系统,或者说第一版不打算做这么多功能,所以导致最初设计的数据表的字段过于简陋,不够支持项目的功能。

当然,这种情况在实际项目开发当中也会遇到,而且是很普遍的现象。很多产品经理在分析客户的需求后都会给客户出一版设计方案,而客户的需求也描述不清楚,导致第一版的方案非常的简单。在什么都讲究“快”的现如今方案很快就到了研发部手里,系统工程师很快就设计出来了数据表结构。这个时候客户突然有了新灵感,给产品经理提出了“新”的需求,产品重做方案将客户的想法融汇进来,接着到了研发部系统工程师之前的设计就“不合理”了。这就是客户驱动的机制下,“产品”和“研发”永远不合的原因了。

好了,福哥打算把TFUMS好好做一做,以后开源了,童鞋们可以在这个基础之上开发自己的项目会轻松许多。所以,福哥要认真对待这个又是课件又是项目的TFUMS系统了。

用户登录页面

login.htm

这个页面的用户名和密码我们之前都设计了。不过福哥发现了一个漏洞,就是当时设计user表的时候忘记了“用户名”这个字段了,现在我们加上去。

ALTER TABLE `user` ADD COLUMN userName varchar(45) NULL,
ADD UNIQUE `u_userName` (`userName`);

7eef18fe265424c4.jpg

用户注册页面

register.htm

注册页面也是用户名和密码,这个也不用改了。

修改密码页面

passwd.htm

修改密码页面只有密码,更加不用改了。

上传头像页面

icon.htm

这个页面用户上传的图片保存到服务器的路径可以存储到user_profile.iconFileName里,所以也不用改了。

绑定邮箱页面

bindEmail.htm

这个邮箱地址没有地方保存,福哥把它放到user.userEmail字段里,所以在user表需要增加一个邮箱字段。

ALTER TABLE `user` ADD COLUMN userEmail varchar(245) NULL,
ADD UNIQUE `u_userEmail` (`userEmail`);

688c5cfc42dc5158.jpg

安全问题页面

securityQuestion.htm

这个安全问题数据肯定是没有地方存储的了,而且安全问题和答案数据比较多,平时又用不到,福哥打算新建一张数据表user_security_questions存储它。

CREATE TABLE `user_security_questions`(
userID int NOT NULL,
q1 tinyint NOT NULL,
a1 varchar(100) NOT NULL,
q2 tinyint NOT NULL,
a2 varchar(100) NOT NULL,
q3 tinyint NOT NULL,
a3 varchar(100) NOT NULL,
PRIMARY KEY(userID)
);

d0190679e5551127.jpg

忘记密码第一步页面

forgot.htm

这个页面只有一个用户名,不需要改了。

重置密码方式选择页面

forgotWay.htm

这个页面里的可用的重置密码方式都是通过绑定邮箱是否填写、安全问题是否设置等等数据判断得来的,而这些字段已经都有了。

重置密码安全问题页面

resetPassByQuestion.htm

这个页面的安全问题就是前面的安全问题页面设置的,所以字段都已经有了。

个人资料修改页面

profile.htm

这个页面是重头戏,里面有很多数据,我们要好好设计一番。

  • 昵称,有了,对应user_profile.nickName

  • 性别,没有,建立字段user_profile.gender

  • 生日,没有,建立字段user_profile.birth

  • 学历,没有,建立字段user_profile.topEdu

  • 介绍,没有,建立字段user_profile.descript

ALTER TABLE `user_profile` ADD COLUMN gender tinyint NULL,
ADD COLUMN birth date NULL,
ADD COLUMN topEdu tinyint NULL,
ADD COLUMN descript text NULL;

76b4b59463309db2.jpg

总结

好了,今天福哥带着童鞋们将TFUMS系统用到的字段重新设计了一番,目前的数据库已经基本满足需要了。如果以后我们再增加功能的话,到时候我们在来调整就好了。

记住,这种调整的事情是很平常的,尤其是做平台开发的工程师,随时都有可能会被客户逼着调整数据库结构的了。