新用户帐户的数据库结构

问题描述:

用户帐户的数据库结构(表中的字段)应该是什么。当管理员创建一个新的用户帐户时,我想要的是,在用户设置密码之前,帐户应该处于非活动状态。 当管理员创建用户帐户时,它会创建一个url并在其注册的电子邮件Id中发送给该用户,当他打开该URL时,用户会看到设置密码的页面。当他设置密码时,用户帐户应该被激活。 我的样本数据库结构如下新用户帐户的数据库结构

CREATE TABLE user_account (
user_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
fst_name VARCHAR(50) NOT NULL, 
lst_name VARCHAR(50) NOT NULL, 
email_id VARCHAR(50) NOT NULL, 
login_password VARCHAR(64) NULL DEFAULT NULL, 
user_created_date DATETIME NOT NULL, 
PRIMARY KEY (`user_id`), 
UNIQUE INDEX `email_id` (`email_id`) 
) 

我想知道我应该在表中或完成这一任务的新表增加更多的字段。

+0

如果您认为帐户在设置密码时处于活动状态,如果不是,则您的结构应符合您所描述的所有要求。如果还有其他具体要求(例如激活时间...),请在您的问题中指定它们。 – user3792852

+0

如果他需要'激活时间',你会告诉他什么? – Matt

+0

我想要的是,当用户帐户被激活时,只有用户应该能够登录,否则不能。 – Ashok

数据库结构是你需要你的用户相关的过程应该是什么样的结果。您可以从您列举需要哪些字段的要求中派生出来。但是,这不是一个技术问题,而是一个与模型相关的问题。这个答案或多或少是直截了当的。

  1. 如果您需要注册的时间,创建一个date
  2. 如果您需要的用户的IP上注册,创建一个varchar
  3. 如果您需要知道哪些用户已创建此帐户(例如,一个管理员),创建如果您需要用户有不同的状态(DEACTIVATED,已删除等),创建一个varchar或与int领域,在应用程序中什么样的价值观,可能有定义引用另一User
  4. 的字段。