用户数据的数据仓库-设计Q

2023-12-06

如何最好地存储用户数据与日期/时间维度?用例是我试图存储每天、每小时的用户操作。例如分享数、喜欢数、好友数等。我有一个时间表和日期表。对于时间来说很简单 - 我每天的每个小时的每一行 = user_id 和列 = 1 到 24 。但问题在于日期。如果我每天= 1 列,那么我一年将有 365 列。我也无法存档数据,因为分析也需要过去的数据。还有哪些其他策略?


enter image description here

dimDate : 1 row per date
dimTime : 1 row per minute

一开始你必须声明“grain事实表的“然后坚持下去.

如果一粒粮食是一日,那么TimeKey总是指向“23:59”这个键。

如果谷物是一小时,那么TimeKey指向“HH:59”的条目。

如果谷物是一分钟,那么TimeKey指向相应的“HH:MM”

如果谷物是15分钟,那么TimeKey指向相应的“HH:14”、“HH:29”、“HH:44”、“HH:59”

等等...

-- How many new friends did specific user gain
-- in first three months of years 2008, 2009 and 2010
-- between hours 3 and 5 in the morning
-- by day of week
-- not counting holidays ?

select
      DayOfWeek
    , sum(NewFriends) as FriendCount
from factUserAction as f
join dbo.dimUser    as u on u.UserKey = f.UserKey
join dbo.dimDate    as d on d.DateKey = f.DateKey
join dbo.dimTime    as t on t.TimeKey = f.TimeKey
where CalendarYear between 2008 and 2010
  and MonthNumberInYear between 1 and 3
  and t.Hour between 3 and 5
  and d.IsHoliday = 'no'
  and UserEmail = '[email protected]' 
group by DayOfWeek
order by DayOfWeek ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户数据的数据仓库-设计Q 的相关文章

  • 什么时候空值在列中“安全”?

    设计数据库时是否存在允许列为空与 3nf 规范化的一般经验法则 我有一个表 其中的列主要由空值 85 组成 但表大小不超过 10K 记录 不是很大 它主要用于日志记录和记录保存 因此大多数事务将是插入和选择 而不是更新 我试图同时考虑性能和
  • 数据库、表和列命名约定? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 每当我设计数据库时 我总是想知道是否有命名数据库中项目的最佳方法 我经常问自己以下问题 表名应该是复数吗 列名应该是单数吗 我应该为表或列添加前
  • 在 django 中创建“历史”类型模型的最佳方法是什么?

    我想为我的 Django 应用程序创建一个类似于 Django 管理员的 最近操作 的功能 以便存储其他模型的历史信息 例如 假设我有两个模型 分别称为 Book 和 Author 我想要第三个模型来存储信息 例如由谁以及何时对模型中的给定
  • 如何在Oracle数据库11g中创建新模式/新用户?

    我已经申请了一家公司的实习机会 作为一个问题 他们要求我为他们的公司创建一个具有一定要求的架构 并将DDL文件 我已经安装了 Oracle 数据库 11g Express 版本 但如何在 Oracle 数据库 11g 中创建新架构 我在网上
  • 维护数据库表行的排序顺序

    假设我有一个数据库表 其中每行包含有关新闻文章的信息 该表有一个整数 排序 列 用于指示文章在网站上呈现的顺序 我如何最好地实施和维护这种排序顺序 我想避免的问题是文章编号为 1 2 3 4 100 当文章编号 50 突然变得有趣时 它的排
  • 如何正确设计数据库的这一部分(循环引用?)

    情况 一个公司有很多项目一个项目有很多标签一个项目只属于1家公司一个标签可以属于多个项目公司必须有权访问自己的标签 示例1 在第一张图片中 公司的所有标签都可以通过projects project tag 获得 但如果所有项目都被删除 那么
  • 是否值得为 SqlServer 查找表使用tinyint 而不是 int 呢?

    在 SqlServer 2005 中设计查找表 枚举 时 如果您知道条目数永远不会变得很高 是否应该使用tinyint 而不是 int 我最关心的是性能 尤其是索引的效率 假设您有这些代表性表格 Person PersonId int PK
  • 实时数据和草稿数据的数据库模型

    我一直在考虑在数据库中保存 实时 数据集和草稿数据集的最佳方法 实际版本会显示在网站上 草稿版本会一直进行下去 直到准备好上线为止 该模型是关系模型 由许多表组成 我目前的方法是拥有 2 个数据库 一个用于草稿 一个用于实时 当您将数据提升
  • 从多个表中选择 - 一对多关系

    我有这样的表 表产品 身份证 姓名 表格图像 产品 ID 网址 订单号 表价 产品 ID 组合 货币 价格 表数量 产品 ID 组合 数量 表 Product 与其他表是一对多关系 我需要查询表并得到类似这样的结果 伪数组 ProductI
  • 非规范化如何提高数据库性能?

    我听说过很多关于非规范化的内容 它是为了提高某些应用程序的性能而进行的 但我从来没有尝试过做任何相关的事情 所以 我只是好奇 规范化数据库中的哪些地方会使性能变差 或者换句话说 非规范化原则是什么 如果我需要提高性能 如何使用此技术 非规范
  • 是否需要连续编号?

    我正在开发一个 winform NET 应用程序 其中包括订单 发票 服务订单 票务等 这些实体在对其 ID 进行编号时是否必须按顺序排列 国际海事组织没有 以一个订单为例 它只有通过业务层才有效 在此过程中 可能已经创建了另一个订单 批准
  • 关系代数 - 笛卡尔积与自然连接?

    我正在准备考试 但未能找到一个可靠的标准来确定笛卡尔积是否x要使用或者如果自然连接 X 是要使用的 我想出了一个粗略的指南 如果您需要投影与要连接的表中的属性同名的属性 则必须使用x并说明要投影的表名称 tableA colname1 ta
  • 一个大连接或多个查询哪个提供更好的性能?

    我有一个名为订单的表 订单上的一列是 customer id我有一个名为 customers 的表 有 10 个字段 给定两个选项 如果我想构建订单对象数组并嵌入订单对象中的是客户对象 我有两个选择 选项1 A 首先查询订单表 b 循环遍历
  • 核心数据模型设计

    假设我有一个关于烹饪食谱的应用程序 具有两个基本功能 第一个涉及我正在准备的当前食谱 第二个存储了我决定保存的食谱 标准场景 我目前的食谱是 芝士蛋糕 RecipeDetailViewController我可以看到我为此食谱添加的当前成分
  • 在 MySQL 数据库中存储图像文件或 URL?哪个更好? [复制]

    这个问题在这里已经有答案了 可能的重复 在数据库中存储图像 是还是否 https stackoverflow com questions 3748 storing images in db yea or nay 数据库中的图像与文件系统中的
  • Id 或 [TableName]Id 作为主键/实体标识符

    是否首选使用 Id 作为主键的列名或 TableName Id 作为命名约定 表 账户主键 ID 相对 表 账户主键 AccountId 在我见过的实现中 它似乎分为 50 50 左右 每种方法的优点和缺点是什么 跟进 在我的数据库中使用一
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • 跨多个表进行搜索,并在结果行中显示表名称

    如何构建 SQL 语句以跨多个平面不相关的表运行 并使用选择结果和结果来自的表的名称显示结果 这种情况是这样的 我有几个表 每个表都有相同的列名 这是我从外部各方收到的数据 并将其存储在不同的表中 相同的表看起来像 Table 1 pid
  • 一列作为主键或两个外键作为主键

    我有以下数据库设计 An E Report有一个QAP其中有一些Requirements A QAP和它的Requirements 可以用于多个E Report Every Requirement每份电子报告中都会有 是 否 确认 我已经添

随机推荐

  • MVC 6 下使用 ADO.NET 的 DataTable 的替代方案是什么?

    我正在创建一个 MVC 6 项目 我宁愿使用 Classic ADO net 而不是 Entity Framework 7 但是 据说两者都找不到名称空间DataTable and SqlDataAdapter 我有一个使用System D
  • Python 谷歌翻译 API 错误

    我对 python 非常陌生 并尝试使用 google API 翻译一堆关键字 我有一个包含 3000 个关键字的 Excel 文件 其中包含英语 西班牙语 德语等 试图将所有内容翻译成英语 但是 每次运行代码时 我都会收到不同值的错误 有
  • 如何设置GradientDescentOptimizer的自适应学习率?

    我正在使用 TensorFlow 来训练神经网络 这就是我初始化的方式GradientDescentOptimizer init tf initialize all variables sess tf Session sess run in
  • 映射不同类型对象的通用方法

    我想编写一个通用方法 将 List 映射到新列表 类似于 JS 的 map 方法 然后我会像这样使用这个方法 var words new List
  • 控制台中的 Firebase 实时数据库无法正常工作?

    当我尝试删除或编辑实时数据库中的节点时 我总是得到这样的信息 我必须选择具有较少元素的键来更改某些内容 否则它处于只读模式 但是当我单击低级节点时 什么也没有发生 所以我实际上无法从控制台更改数据库中的任何内容 一周前我没有看到这个警告 一
  • 如何使用 Azure 门户内的设置限制对应用服务的访问

    我们有一个 Web 应用程序作为应用程序服务部署在 Azure 中 我们希望通过设置 IP 地址白名单来限制对其的访问 这可以在某些 Azure 应用服务设置中完成 而不是在web config我们在项目中拥有的 目前 这就是我们在我们的环
  • Python Tkinter 中的单选按钮值

    我正在尝试使用 Tkinter 在 Python 中创建一个对话框 目标是有一个带有两个单选按钮和一个 确定 按钮的对话框 单选按钮一选择选项 默认 单选按钮二选择 用户定义 选项 确定 按钮关闭窗口 问题一 如何保存单选按钮中的值 也就是
  • 在 jQuery ajax 中传递数组

    我的想象代码 document ready function sub click function info moto moto val info motox motox val ajax type POST url index php d
  • QGraphicsSVGItem 忽略(某些)剪切路径。为什么?

    这个 SVG 图像在 Firefox 和 Inkscape 中正确呈现 但由于某种原因 当使用QGraphicsSVGItem没有任何花哨的东西 它会这样呈现 作为参考 这是它在 Firefox 上的样子 如您所见 卡片背面不应超出白色边框
  • Matlab:矩阵邻域提取

    我有大量图像 我已将它们分解成多个片段 使得它们的矩阵看起来像 img 1 1 1 1 1 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 2 3 3 3 1 1 1 4 4 4 2 2 2 3 3 3 5 5 5 5 5 5
  • 在单元测试中使用多个断言是一种不好的做法吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 在单元测试中使用多个断言是一种不好的做法吗 有关系吗 有时我恰好有一个assert每个测试用例 但我认为更常见的是我有几个assert声明 我见过 Arkain 逃避的情况 其中一段非常大
  • Windows Phone 7中如何释放应用程序缓存?

    在我的项目中 我创建了一个图像控件 我还有一个按钮 单击该按钮会删除图像 我将图像的 url 设置为 null 并将图像控件本身设置为 null 但是 并非所有 Image 控件的内存都被释放 如果我添加更多图像控件 我的项目将很容易耗尽内
  • 如何对字符串进行 HTML 编码/转义?有内置的吗?

    我有一个不受信任的字符串 我想将其显示为 HTML 页面中的文本 我需要逃避字符 lt and 作为 HTML 实体 越少大惊小怪越好 我使用的是 UTF8 不需要其他实体来表示重音字母 Ruby 或 Rails 中是否有内置函数 或者我应
  • ServerXMLHTTP 附加到内容类型

    我正在 VBScript 中使用 JSON 正文发出服务器端 HTTP 请求 如下所示 Set oXMLHttp Server CreateObject MSXML2 ServerXMLHTTP oXMLHttp open cMethod
  • 谷歌云:身份验证范围不足

    我在向部署在 Google Cloud Kubernetes 集群中的 Spring Boot 应用程序发送请求时遇到困难 我的应用程序收到一张照片并将其发送到 Google Vision API 我正在使用提供的客户端库 https cl
  • 对工作流程进行故障排除,将上游更改合并到分叉存储库中

    我分叉了一个 git 存储库 然后创建了一个名为 strlen 的分支 提交 PR 并做出建议的更改后 以下是我尝试合并上游更改的尝试 A 部分 从上游获取并合并 git fetch upstream git merge upstream
  • 使用 Javascript 函数重新加载 HTML 元素

    我有一个嵌入在 DIV 中的 Flash 对象 现在我想使用该 div 上方的链接 a 标签 以便用户能够重新加载该 flash 拨号器 或更具体地说是它包含的 div 标签 我无法以任何方式更改 flash 文件 我尝试过使用下面的 JS
  • 32 位系统的 INT 最大大小

    假设我们正在谈论 32 位系统 PHP 不支持无符号 INT 这意味着 INT 值应介于 2 147 483 648 和 2 147 483 647 值之间 INT 需要 4 个字节来存储 32 位长度的值 那么这是否意味着我只有 31 位
  • OLEDB 连接支持超过 65536 行(从 Excel 工作表更新访问)

    我可以使用以下 SQL 命令从 Excel 工作表中选择要插入到 Access 表中的数据 SELECT FROM Excel 12 0 HDR YES DATABASE K FolderName FileName xlsb SheetNa
  • 用户数据的数据仓库-设计Q

    如何最好地存储用户数据与日期 时间维度 用例是我试图存储每天 每小时的用户操作 例如分享数 喜欢数 好友数等 我有一个时间表和日期表 对于时间来说很简单 我每天的每个小时的每一行 user id 和列 1 到 24 但问题在于日期 如果我每