如何将所有用户设置存储在具有唯一ID的一个数据库中

时间:2013-05-27 17:54:40

标签: sql database unique setting

我正在创建一个应用程序,我有一个服务器端的SQL数据库来存储所有用户的用户设置。 我不知道如何让每个用户都独一无二,这样数据库就知道谁是谁。 数据库存储每行的这些用户数据:id,email,county,age和gender。 因此,我认为最好的方法是让用户对他/她的电子邮件是唯一的 - 这是唯一的 - 以便在更新或输出设置时,sql知道要获取的行。

我应该如何解决这个问题? 那么我如何将正确的数据输出给正确的用户呢?

1 个答案:

答案 0 :(得分:1)

数据库中的实体应具有主键。我了解在您的设计中,id字段将成为主键。通常这是一个自动生成的整数。这称为surrogate key在这种情况下,您需要告诉表格电子邮件字段也必须是唯一的。您可以通过为此字段创建唯一索引来实现此目的。唯一索引将阻止使用相同的电子邮件创建两个不同的用户。使用这种方法,您可以查询表格,检查idemail

另一种方法是拥有natural key。在这种情况下,电子邮件将成为您表格的主键,因此您不会拥有id字段。使用这种方法,您可以查询表格,检查email,这是每个用户的唯一标识符。