关于数据库设计的思考
关于数据库设计的思考
1.所有表结构中加入insert_time(日期)字段,方便以后查询,当前记录插入时间或者更改时间
2.80%的表需要加入delete_flag (删除表示1.删除 0.正常)字段
如果不想让某条记录显示,直接delete_flag=1 就ok,如果想恢复delete_flag=0,我想很多网站后台的回收站就是这么实现的吧
3.80%的表中需要加入uid,表示是谁作的操作
如下是我按照我的思路设计的用户表:
+---------------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | username | varchar(50) | YES | UNI | NULL | | | password | varchar(50) | YES | | NULL | | | realname | varchar(50) | YES | | NULL | | | email | varchar(100) | YES | UNI | NULL | | | registry_time | datetime | YES | | NULL | | | registry_ip | varchar(50) | YES | | NULL | | | last_login_time | datetime | YES | | NULL | | | update_time | datetime | YES | | NULL | | | last_password_update_time | datetime | YES | | NULL | | | total_login_times | int(11) | YES | | NULL | | | avatar | varchar(255) | YES | | NULL | | | is_first_login | int(11) | YES | | NULL | | | delete_flag | int(11) | YES | | NULL | | | role_type | int(11) | YES | | 0 | | | role_id | int(11) | YES | | 0 | | +---------------------------+--------------+------+-----+---------+----------------+
id 标识 username 用户名 password 密码 email 邮箱 registry_time 注册时间 registry_ip 注册Ip total_login_time 登陆次数 avatar 头像 is_first_login 是否初次登陆,发送个欢迎信息是必须的 delete_flag 删除表示,可以用于表示删除、正常、禁用等等