2017-03-12 103 views
0

我有以下格式的多個數據表。基於多變量時間數據的數據模型

  • 的列有天(的時間序列),其保持作爲時間進度增加
  • 的變量是在排它仍然是相同的跨類別
  • 類別1需要3個值和第2類取2倍的值,以便有每天有6種牀單組合。

Existing data in excel sheets

我需要這個數據採集到數據庫中。我正在尋求關於如何設置架構的幫助和建議。以下是一些考慮事項。

  • 我打算做很多計算的變量,對於組別&第2類的一個月一個月的變量1變量x 10例趨勢。
  • 數據庫將每天更新六張x 30變量x 1列(日)數據,每天180個數據點。
  • 我們需要總結跨類別的數據 - 第1類(VAL 1,纈氨酸2,纈氨酸3)(VAL 2第2類)
  • 靈活地在1類和2類在未來增加更多的價值。

我的初步設計如下。我不知道把數據分成不同的關係表是否有意義。我正在考慮交易數據庫的行列,並對特定類別有意見。所以每天有180行會被添加到數據庫中。

enter image description here

+1

那麼,哪個DBMS? Microsoft SQL Server或PostgreSQL? –

+0

@a_horse_with_no_name PostgreSQL –

回答

1

這是相當完善的德興你來-了。轉換爲SQL:

create table timesheet (
    day date not null, 
    cat1 int not null, 
    cat2 int not null, 
    var1 double precision not null, 
    var2 double precision not null, 
    var3 double precision not null, 
    -- ... -- 
    var30 double precision not null, 
    primary key (day, cat1, cat2) 
); 

的組別&第2類的一個月一個月的變量1變量x 10的趨勢。

不是很精確的,但也許是這樣的:

select 
    extract(year from current_date)*100+extract(month from current_date) as month, 
    avg(var1*var10) as avg_mul_var1_var10 
from timesheet 
where cat1=? and cat2=? 
group by month 
order by month; 

意見特定類別

不要做 - 你剛剛查詢與參數數據庫就像上面的查詢一樣。


所以每天180行會被添加到數據庫中。

不 - 只有6行。每個cat1和cat2組合一個。這是每天180個值,每年只有2190行。

+0

感謝您的SQL代碼。我是db schema設計的新手。我正在尋找一些數據庫設計,其中數據被表示爲關係模型 - 外鍵等。是否值得探索這些關係模式? –

相關問題