gpt4 book ai didi

database - 将用户配置文件表与登录详细信息表分开是否有意义

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:06 24 4
gpt4 key购买 nike

目前,我正在研究库存系统。我刚刚开始,现在正在收集用户需求。这是我第一次从头开始创建系统,所以对于简单的事情我仍然有疑问。

我的问题是,将用户配置文件表与登录详细信息分开是否有意义。示例:

用户资料(表格):

o firstName
o middleName
o lastName
o dateLastModified
o userLastModified
o userLoginId

用户登录详细信息(表格)

o loginId
o userName
o password
o userLastModified
o dateLastModified
o lastLogIn

或者最好的做法是每人一张 table ?我见过一些系统将这 2 个表合并为 1 个。我很困惑,因为如果我没记错的话,在制作表格时,你应该将很少更改值的字段与经常更改的字段分开,对吧?

所以我的问题是 1,为登录创建数据库表的最佳做法是什么,使用上面显示的 2 个表是否正确?还是应该将所有字段放在一张表中?

最佳答案

我见过许多系统将用户信息和用户登录详细信息用作单独的表格,如果用户由管理员用户设置,然后用户可以设置自己的密码,这将非常有用。

CREATE TABLE users (
userID integer NOT NULL,
userFirstname character(25) NOT NULL,
userMiddlename character(25),
userLastname character(25) NOT NULL,
userModified timestamp(4) without time zone,
CONSTRAINT userID_key UNIQUE (userID)
);

CREATE TABLE credentials (
userID integer NOT NULL,
credLogin character(25) NOT NULL,
credPassword character(25) NOT NULL,
credModified timestamp(4) without time zone,
credLastLogin timestamp(4) without time zone
);

这意味着密码字段可以为 Not Null,并且用户配置文件可以存在,而无需在 Credentials 表中输入任何内容。

如果始终使用密码创建用户,那么只使用一个表会更有意义。

只有在必要时才应使用多个表,例如一对多关系。

关于database - 将用户配置文件表与登录详细信息表分开是否有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36028538/

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