首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >连接表还是重复数据?

连接表还是重复数据?
EN

Stack Overflow用户
提问于 2011-01-20 02:56:52
回答 1查看 255关注 0票数 0

我正在寻找现实世界的实现:用例是这个->我将用户登录详细信息(模式、会话、浏览器、操作系统等)存储在会话表中。我有一个活动表,我在其中跟踪FKs到会话表的活动。

现在,当用户在像“创建照片”这样的对象上进行活动时,我想要包括它的所有详细信息,比如用户用来上传图像的浏览器,他的IP地址等。所以会话表中的所有字段。

在好的情况下,您通常会使用照片表对session_Id进行FK,并连接以拉取数据。但是,如果我在照片和每个对象表中复制相同的6-7列,以防止joins/FK呢?

我想知道在大规模用户内容网站的现实世界中,什么是有效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-20 03:11:52

如果您不希望在会话期间更改详细信息(浏览器、IP地址等),为什么要复制数据?只需将每张照片(或者更一般地说,每个活动实例)与其上传的session_id相关联。

另一方面,如果您希望一旦有人登录(这种情况可能发生--假设某人在网络1上登录到您的站点时使用新的IP地址,休眠他们的笔记本电脑,移动到新的网络,然后取消休眠,这样即使IP地址更改,他们的浏览器也会保留cookie ),详细信息就会发生变化,我可以这样做:

  • 将这些会话视为不同的会话,或者
  • 创建一个CLIENT_INFO表并将其与会话建立1:M的关联,以便您可以维护一个逻辑会话,但支持多个客户端实例。

如果我是你,我真的需要这些细节,我可能会选择后者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4739421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档