【问题标题】:How would this get stored in a database?这将如何存储在数据库中?
【发布时间】:2014-01-23 02:13:08
【问题描述】:

好的,所以我有一个名称、一个时间/数据和一个数组...

所以在我的数据库中,我存储在表中:

名称、时间/数据,但数组?

这个数组没有固定的大小......它是一个元组数组(x,y)

我想将名称和时间/日期与此数组相关联。我听说在数据库中存储数组不好也不可能,我正在使用 sqllite3..

我该如何解决这个问题?我是否只是让 name 和 timedate 表指向一个新构建的数组表?

【问题讨论】:

标签: sql arrays database django sqlite


【解决方案1】:

只需为条目表中的条目创建一个包含 X、Y、时间戳和外键的表。

数据表:

ID  | Index |  X  |  Y  |  EntryID
0   |   0   | 3.2 | 4.3 |   1
1   |   1   | 2.1 | 1.2 |   1
........
n-1 |   n-1 | xn  | yn  |   1

# The above is from array 1, below from another array

n   |   0   | 2.2 | 2.4 |   2
n+1 |   1   | 2.1 | 1.9 |   2
.........
n+m-1 | m-1 | xm  | ym  |   2

条目表:

ID | Name          | DateTime
1  | user3043594   | 2013-..
2  | Steinar Lima  | 2012-..

您将所有数组中的所有条目存储在此表中,并根据条目 ID 过滤它们。然后您可以进行连接以从用户表中获取用户名。

【讨论】:

  • 等等,我想你错过了!它是 ((x1,y1),(x2,y2)... (xn,yn)) 的数组。您介意对此进行编辑吗?
  • 不,只是将所有元组保存为该表中的一行。所以 X1 进入第 1 行的 X 列,Y1 进入第 1 行的 Y 列......等等。您可能希望向表中添加一个索引列,以跟踪数组中的索引。我会更新我的答案。
  • 等等。它就像这个名字,日期时间,((x1,y1),(x2,y2)......(xn,yn))..我不想将它链接到另一个具有n长行的表吗?还是这是其他人提到的一对多的事情?
  • 使用我的解决方案,您必须为每一行重复 DateTime,我会更新答案。
  • 鉴于您不了解一对多关系的概念,我听说过《为凡人设计数据库》这本书的好东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-28
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多