十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情。用户表结构的设计,算是整个后台架构的基石。如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地方也不少。与其如此,不妨设计用户表之初就考虑可拓展性,争取不需要太多额外代价的情况下一步到位。
成都创新互联于2013年创立,是专业互联网技术服务公司,拥有项目成都网站制作、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元贡山做网站,已为上家服务,为贡山各地企业和个人服务,联系电话:18980820575
先前设计:
id
username
password
用户名加上密码,解决简单需求,留个id作为其他表的外键。当然,那时候密码还可能是明文存储,好点的知道md5。
后来呢,随着业务需求的拓展,要加个用户状态 status 判断用户是否被封禁,注册时间和注册IP地址、上次登录时间和IP地址备查(并衍生出登录记录表,用来判断是否异地登录等,在此不表),用户角色/权限 role (又衍生出用户角色权限关系,还是另文讨论),业务也需要个人的个人信息如真实姓名、地址等也一股脑往上添加,现在形成了一个很完整的用户关系表。
通过create table语句建立用户表,字段按学生个人信息添加,然后用insert语句存入数据。
打开mysql命令行客户端,输入密码,进入mysql命令行客户端的编辑。
在命令行中,输入show databases;显示当前mysql数据库中已经存在的所有的数据库。
选择想要使用的数据库,以baidu这个数据库为例,在命令行中输入use baidu;改变当前数据库为baidu。
在命令行中,输入show tables;查看当前数据库中已经建立的表,可以发现当前数据库中没有表。
创建新表,表名为information,有一个属性为id,在命令号中输入create table information(id int);
重复步骤四,在命令行中输入show tables;即可查看刚刚创建的表,information 表建立成功。
第一个问题:
对应关系是多对多,也就是一篇文章可以给多人收藏,一人可以收藏多篇文章,使用第二种方法,可以任意扩展,第一种方法虽然在取值的时候方便,但是其他的扩展操作会很痛苦
第二个问题解法跟第一种一样
第三个问题:
缓存的使用,避免过度查询同样的sql,如果你的系统重复查询很少,你用缓存也没什么用,如果多,用缓存会快很多,你看你使用的情况,自己衡量什么时候该用