介绍
介绍
上一阶段福哥带着大家完成了TFUMS的视图模板的制作,根据这些模板上面的功能回头看看我们的数据表的字段,会发现很多功能用到的字段我们并没有设计进来。这是因为福哥在计划开这门《做个用户管理系统》课程之初没有想过要做这么复杂的一套系统,或者说第一版不打算做这么多功能,所以导致最初设计的数据表的字段过于简陋,不够支持项目的功能。
当然,这种情况在实际项目开发当中也会遇到,而且是很普遍的现象。很多产品经理在分析客户的需求后都会给客户出一版设计方案,而客户的需求也描述不清楚,导致第一版的方案非常的简单。在什么都讲究“快”的现如今方案很快就到了研发部手里,系统工程师很快就设计出来了数据表结构。这个时候客户突然有了新灵感,给产品经理提出了“新”的需求,产品重做方案将客户的想法融汇进来,接着到了研发部系统工程师之前的设计就“不合理”了。这就是客户驱动的机制下,“产品”和“研发”永远不合的原因了。
好了,福哥打算把TFUMS好好做一做,以后开源了,童鞋们可以在这个基础之上开发自己的项目会轻松许多。所以,福哥要认真对待这个又是课件又是项目的TFUMS系统了。
用户登录页面
login.htm
这个页面的用户名和密码我们之前都设计了。不过福哥发现了一个漏洞,就是当时设计user表的时候忘记了“用户名”这个字段了,现在我们加上去。
ALTER TABLE `user` ADD COLUMN userName varchar(45) NULL, ADD UNIQUE `u_userName` (`userName`);
用户注册页面
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`);
安全问题页面
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) );
忘记密码第一步页面
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;
总结
好了,今天福哥带着童鞋们将TFUMS系统用到的字段重新设计了一番,目前的数据库已经基本满足需要了。如果以后我们再增加功能的话,到时候我们在来调整就好了。
记住,这种调整的事情是很平常的,尤其是做平台开发的工程师,随时都有可能会被客户逼着调整数据库结构的了。