第一个表usertable: s_id(主健),username,password 第二个表userinformation:m_id(主健),s_id(外健),studentid,address,email,qq,tel,www等等。这样子,你登录的时候,只有usertable就可以了,但是你注册的时候,把相关的个人信息,再插到第二个表中,如果你要查询用户信息的话,只需要:select * from usertable,userinformation where usertable.s_id=userinformation.s_id and s_id=你要查询的用户的id,这样就可以了。满足第三范式啊!
关联一下2个表吧,具体设计应该和你的应用相关。
表都建好了
数据也都输好了的USERS表中是用户信息
login_users只有登录名和密码
这样可不可以?
通过full join全关联:
select A.*,B.* from users A full join Login_users B on A.UserID=b.UserID
或者直接查两个表:
select A.*,B.* from users A,Login_users B where A.UserID=b.UserID
通过full jion全关联:
select A.*,B.* from users A full jionLogin_users B on A.UserID=B.UserID
或者直接查两个表:
select A.*,B.* from users A,Login_users B where A.UserID=B.UserID
只是代码需要关联的时候就去关联一下
比如:你用户注册的时候,你可以把登录名和密码放到login表去,其他信息放在user表,通过user_id关联就可以了,user_id是login表的字段
你建login表有什么作用呢?
登录很简单的流程:
获得用户名,密码,与数据库比对,正确放到session中,不正确重新登录。
注册:
检查是否用户名以用,直接insert语句就可以。
(建议把用户名设置为主键)
然后在第一个表里面加一项 isLogin
两个表建个关联键就ok了。
其实这样写也行,一个只放用户名,另外一个放相关的用户信息。看着清晰。
第二个表userinformation:m_id(主健),s_id(外健),studentid,address,email,qq,tel,www等等。这样子,你登录的时候,只有usertable就可以了,但是你注册的时候,把相关的个人信息,再插到第二个表中,如果你要查询用户信息的话,只需要:select * from usertable,userinformation where usertable.s_id=userinformation.s_id and s_id=你要查询的用户的id,这样就可以了。满足第三范式啊!
还是 为了需求 而 设计需要的表?也就是说 到底WHO在控制你的设计
现在注册时是把信息存入到users表中的,那Login_users表中就没有注册的信息了
不懂程序控制不了`?