【发布时间】:2010-01-26 20:55:07
【问题描述】:
我正在为客户开发一个项目并完成初始数据库设计。该项目将是一个简单的网络应用程序,用于在矩阵图中跟踪流程及其结果,我正在寻找一种将这些存储在关系表中的好方法。
现在我在想我有一个用于例程的通用表,x 和 y 坐标也将映射,并且可能从包含记录“命中”的坐标 ID 的查找表中脱离出来。有人有更好的方法吗?
谢谢!
编辑:
这只是项目的开始,所以到目前为止我的细节还很有限,但我对多个表的主要推理是因为矩阵的大小和通用性将是完全动态的,因此每个矩阵都可能不同,它们将是绑定到用户
我还忘了提到 x/y 值的顺序很重要,这进一步支持了我在为 x y 和值设置多个表之后的推理,因此我强烈假设需要知道每个单独的单元格很重要
示例:
这方面的基本示例(尽管是抽象的)在于有关餐厅的流程。行为是坐下、点菜、查看菜单、点酒、吃饭、付款等。结果是点菜、送酒、送餐、给钱。虽然看起来很简单,但如果考虑到每次发生的事情都不同,就会变得复杂,在外卖或自助餐的情况下也是如此。在看到情况之间的差异时,行动和结果的顺序变得不可或缺
【问题讨论】:
-
你将如何查询数据?会有任何聚合查询吗?结果是否需要排序...在哪些属性上?在搜索适当的记录时,您将寻找矩阵的哪些属性,即 WHERE 子句是什么?您的查询会始终获取整个矩阵,还是只需要矩阵的一部分?
-
请向我们提供有关哪种矩阵的更多详细信息。典型的大小,尺寸是否固定,矩阵中存储了什么样的元素。一些示例也可能会有所帮助。
-
请提供一些例子来说明你的意思,因为这里真的不太清楚你的具体需求是什么。在这一点上,只有一个普遍的答案是可能的。
-
fyi,要存储一个大小为 50,000 x 50,000 但有 4 个数据点的矩阵,您可以采用一种方式进行设置。要存储大小为 100 x 100 但包含一百万个数据点的矩阵,您将以完全不同的方式设置表格。您可能需要支持“任何”矩阵,但您需要大致了解什么是典型的并偏向您的设计以解决该问题,但仍然适用于其他情况。
-
细节有限与否,你告诉我们的都是不相关的,没有多大意义:你说它是为了“在矩阵图中跟踪过程及其结果”。这意味着什么?为什么你需要一个矩阵呢?什么样的东西会进入矩阵?一个例子可以帮助加载这里。你说“x 和 y 坐标也将映射的例程的通用表”,对吧?这和你的第一个陈述有什么联系?流程和例程应该是同一件事吗? X 和 Y 是什么?它们与您的行和列有什么关系吗?
标签: sql database-design matrix-storage