考虑我的下一个网络应用程序的数据库设计,并考虑为用户帐户信息(如用户名,密码等)和个人信息(如姓名,地址等)设置单独的表格,这将是一个好主意,或者它真的无关紧要方式是什么?
答案 0 :(得分:1)
如果要实现数据库加密,可能是个好主意。例如,如果要对用户信息表中的密码列进行加密,但数据库仅支持整表加密,则可以将要加密的数据拆分为单独的表,以最大限度地减少开销。 (我不是主张数据库加密本身,你也应该根据你的需要来看看应用程序管理的加密。)
答案 1 :(得分:1)
除非应用程序的体系结构引起这样的要求,否则无关紧要。通常在今天应用于大多数Web应用程序的MVC中,表的结构应该反映模型的设置方式。话虽这么说,您的数据组织方式应反映模型(对象)之间的关系。如果每个用户只有一个用户名,密码等,则抽象用户的所有信息应保留在一个表中。除非你遇到像@pelazem描述的那样的位置,否则我也不是完全数据库加密的忠实粉丝。
答案 2 :(得分:0)
我建议将数据保存在一个表中。
答案 3 :(得分:0)
我能想到这样做的唯一理由是,如果您要让多个用户共享相同的地址。
但是,我认为使用单个表的性能和简单性优势避免了避免数据重复的好处。两个用户可能很少有相同的地址。
答案 4 :(得分:0)
考虑一个场景,在一个组织内,一个人有多个角色或职位,这可能是暂时的或永久的,但每个角色或职位在逻辑上都有不同的user
!
这种情况需要user
和person
有不同的表,所以不同的用户指向一个人。
除了跟踪用户和历史记录,我是否建议为 title
表设置一个 [role
, position
或 user
] 字段,那么每个日志记录必须包含user.id
和 person.id
都会读取 person.fullName
did something as user.title
...