SQL Query 或 View with columns 取决于 SELECT 查询

Posted

技术标签:

【中文标题】SQL Query 或 View with columns 取决于 SELECT 查询【英文标题】:SQL Query or View with columns depends on SELECT query 【发布时间】:2012-02-27 14:10:53 【问题描述】:

我的问题可能很愚蠢,而且不会那么容易准确地写下来。然而,可以理解的例子。我正在创建一个系统日志数据库,它定期存储来自硬件的值。 我的表格(复杂性非常低)是:

VARIABLES table
id_variable    name_variable
1              Temperatur
2              Voltage
...            ...
n              VariableN

LOG_ROWS table
id_log_row     timestamp
1              2012.01.01. 10:00:00
2              2012.01.01. 10:01:00
3              2012.01.01. 10:02:00
n              2012.01.01. 10:0n:00

LOG_VALUES table
id_log_value   id_log_row    id_variable   value
1              1             1             34
2              1             2             1200
3              2             1             35
4              3             1             36
5              3             2             1230

数据结构很重要,因为我必须在以后添加新变量而不改变表,并且每个变量都有其他存储时间段。 (并非所有 log_rows 都包含 all 变量。这里电压的时间段是 2 分钟,温度的时间段是 1 分钟)

所以,我想创建可读性好的 db 视图,其中列是变量 id 或名称(这里是名称)与 log_row 的 id 和时间戳相连。类似的东西。

id_log_row    timestamp              Temperatur     Voltage   ...  N
1             2012.01.01. 10:00:00   34             1200           NULL
2             2012.01.01. 10:01:00   35             NULL           NULL
3             2012.01.01. 10:02:00   36             1230      ...  NULL

这些视图可以用 SQL 实现吗?根据表格内容定义列。我有兴趣。我想在 SQLite 中创建它

【问题讨论】:

【参考方案1】:

SQLite 不会support 更改视图。将数据设计成以后必须更改表的方式通常是一个坏主意。

【讨论】:

在没有alter table的情况下进行良好配置的能力比这些视图重要得多。有了这些视图,只写查询会更容易。所以,我认为我无法避免这些数据结构。

以上是关于SQL Query 或 View with columns 取决于 SELECT 查询的主要内容,如果未能解决你的问题,请参考以下文章