Php 授权用户创建帐户的数据库设计
我正计划为我的学校建立一个小的社交网络风格的项目,但我在创建数据库设计时遇到了一些困难。例如:如果访客在我们学校注册,他们可以创建一个帐户。他们需要给出自己的学生编号、名字、姓氏、中间名和课程等 应用程序应生成唯一的验证代码。代码将以学生的电子邮件地址发送。当学生准备激活他们的帐户时,他们应该输入他们的学生号和应用程序生成的验证码,如果验证码和学生号在我们的数据库中匹配,他们将自动转到一个页面,在那里他们可以输入用户名和密码 验证表Php 授权用户创建帐户的数据库设计,php,mysql,Php,Mysql,我正计划为我的学校建立一个小的社交网络风格的项目,但我在创建数据库设计时遇到了一些困难。例如:如果访客在我们学校注册,他们可以创建一个帐户。他们需要给出自己的学生编号、名字、姓氏、中间名和课程等 应用程序应生成唯一的验证代码。代码将以学生的电子邮件地址发送。当学生准备激活他们的帐户时,他们应该输入他们的学生号和应用程序生成的验证码,如果验证码和学生号在我们的数据库中匹配,他们将自动转到一个页面,在那里他们可以输入用户名和密码 验证表 ID,StudentNumber,Code,FirstName
ID,StudentNumber,Code,FirstName,LastName,MiddleName,Gender,Course.
ID,StudentNumber,UserName,Password,E-mail.
ID,StudentNumber,Code,FirstName,LastName,MiddleName,Gender,Course.
用户表
ID,StudentNumber,Code,FirstName,LastName,MiddleName,Gender,Course.
ID,StudentNumber,UserName,Password,E-mail.
ID,StudentNumber,Code,FirstName,LastName,MiddleName,Gender,Course.
用户配置文件表
ID,StudentNumber,Code,FirstName,LastName,MiddleName,Gender,Course.
ID,StudentNumber,UserName,Password,E-mail.
ID,StudentNumber,Code,FirstName,LastName,MiddleName,Gender,Course.
在我的设计中有什么建议吗?验证表是空的
当用户注册时。他被列入核查表。如果用户单击了电子邮件,那么您就拥有了这个庞大的代码,可以将字段从验证复制到用户+配置文件
在概要文件中添加一个字段,意味着您必须对验证执行相同的操作
只需在用户表中添加一个字段“已验证”。然后更改您的查询:
SELECT * FROM user WHERE verified = true;
或者您可以选择状态字段。例如,用户可以被验证,但由于拖拽而被阻止
Studentnumber是主键
那么,为什么会有en ID列呢?学生编号是唯一的。。。只需将其用作主键,并去掉四处浮动的ID
专栏名称
不要在列名中使用-或大写字母。别这样
数据库设计
此时,有一个用户有一个配置文件,配置文件有一个课程
那么,如果一个用户注册了2门课程,他将拥有2个配置文件?祝你好运保持这些档案同步
代码不是配置文件
我认为列代码是指验证代码?如果是,则称之为验证码
为什么它是个人资料的一部分?它应该是用户的一部分
上帝保佑 为什么要用这么多桌子?一个用户表就足够了 使用者 ID、学生号、用户名、密码、电子邮件、名、姓、中间名、性别、课程、验证代码、已验证 这样,您就可以保存所需的所有信息。
然后,当您需要验证时,只需查询用户名和验证代码,然后将其与提供的一个用户进行比较。列
IsVerified
应为int(1),您可以将默认值设置为0。如果用户验证成功,请将其更改为1。对不起!为什么只需要三个表来存储用户详细信息和验证代码,请使用一个表来存储这两个信息
您只需使用您设计的验证表即可