SQLalchemy中不同长度的列

时间:2018-08-01 20:32:03

标签: python sql flask sqlalchemy flask-sqlalchemy

我正在尝试使用Flask-SQLalchemy将在线API中的数据保存到SQLite数据库中。数据为经济图,其中包括日期和值数据以及图和轴名称。

在此示例中,假设“价值”数据表示股票价格。在与日期和股价相同的数据库中存储图表标题的最佳方法是什么?

图表标题是一个字符串,而日期和股价占据了数千行。到目前为止,当我尝试将它们放入同一数据库中时,我得到了数千个“无”值,而实际的图表标题隐藏在其中。

我应该针对这种类型的问题使用一种特定的方法吗?我是否应该制作两个单独的数据表,一个用于日期和股价数据,一个用于图形和轴标题?

2 个答案:

答案 0 :(得分:0)

在数据库中存储财务时间序列数据的最佳方法是一个热门且高度分歧的主题。这在很大程度上取决于您的数量,着重于实时访问和性能要求。

对于一个简单的任务,我个人将只使用一个关系数据库并按如下方式构造数据:

表1:“公司详细信息”
属性:(id(键),代码(非null),[nullables:国家/地区,地址,部门等。])

表2:“数据”
属性:(id(关键字),代码(fk:company_code),时间戳记(不为null),[nullables:股票价格,股利,交易量等])

轴标题和轴单位在SQL查询所构造的图表中是隐式的,该SQL查询按顺序在特定时间戳之间获取特定公司代码的特定属性的数据。

答案 1 :(得分:0)

如果我正确理解,您的数据将包含以下图形:

  • 图名称
  • 图表日期
  • x轴名称
  • y轴名称
  • 值列表

这自然适合两个表。

图形表,带有列:

  • 图形ID(自动递增的整数主键)
  • 图名称
  • 图形数据
  • x轴名称
  • y轴名称

值表,其中包含列:

  • 值id(自动递增的整数主键)
  • 图形ID(链接到图形表的图形ID的外键)

免责声明... ;)

“图形”和“值”太通用而不能成为好的表名。您应该选择更合适的东西(例如股票价值),但问题中没有足够的信息让我猜测...

此外,在表中有轴名称似乎很奇怪。我想您对于预定义数据(例如,股票价格)的预定义轴名称的数量有限。在这种情况下,您可能希望每个数据库在数据库中都有一个单独的表(例如,“股票价格”表而不是“价值”表)。