gpt4 book ai didi

database - 用户信息和登录凭据的表设计?

转载 作者:太空狗 更新时间:2023-10-30 01:44:06 26 4
gpt4 key购买 nike

最初我想请您忘记散列密码或 w/e 与密码相关的问题,这个问题与保护密码等无关,我知道/理解应该如何完成。

考虑到读/写性能 - 构建一个或多个表,存储相关数据的最佳方法是什么?

单表,例如:

Table users: id, username, password, hash, email, group, access, address, phone, parents, ts_created, ts_update

多个表,例如:

Table users: id, username, password, hash, email, group, access, ts_created, ts_update

Table user's information: id, user_id, address, phone, parents, ts_created, ts_update

如果您的用户的信息字段可能会随着时间增长,您应该如何处理?

For example new fields: birthday_date, comments, situation

在查询时拥有 2 个表会比拥有一个表慢吗?

如果在这种情况下拥有多个表只是为了维护分离数据的良好设计,这是否意味着出于性能原因它根本没有用?

如果您想要真正的 sql 示例,请告诉我,我会删除一些内容来更新它。

最佳答案

根据要存储的数据,您可能需要更多表:

  1. 如果你在用户无法重复使用的 future 以前使用过的密码?
  2. 一个用户可以拥有多个电子邮件地址吗?
  3. 一个用户可以属于多个组吗?
  4. 一位用户可以拥有多个电话号码吗?
  5. 只有一位家长?还是两个? parent 在系统中吗?您存储有关 parent 的哪些信息?

Storing这样想可能值得存储在自己的单独表中,也就是说以后维护起来应该会方便很多。您需要考虑系统将如何变化。至于性能,正如已经概述的那样,只要您创建正确的索引并正确使用数据库,这应该不是问题。

关于database - 用户信息和登录凭据的表设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com