Relational-Theory

TRC:如果 ID 出現在所有測量中,請選擇它

  • May 2, 2018

我有這兩個“表”:

Station (station_id, city)            // Stations details
Rainfall (station_id, date, amount)   // Rainfall measurements

使用元組關係微積分(TRC),我需要獲取在進行任何測量的每個日期都有相關測量的所有站點的 ID 。

因此,我應該選擇以下表格,5因為該站在每個有測量值的日期都有測量值。

      Station                             Rainfall
      -------                             --------
--station_id-----city--      --station_id-----date-----amount--
     5           LA               5          01/01      4
     7           NY               7          02/02      8
                                  5          02/02      3

我已經嘗試過了,但我不太確定如果根本沒有測量值這是否可行(在這種情況下,我應該選擇所有站 ID):

{ t | ∃s ∈ Station (t[station_id] = s[station_id] ∧ 
   ∀r ∈ Rainfall (∃q ∈ Rainfall (r[date] = q[date] ∧ s[station_id] = q[station_id])) ) }

我需要您的幫助來了解我所做的是否正確。

我不得不查找維基百科,因為我不知道Tuple Relational Calculus。我只是略過那篇文章。據我所知,符號存在差異。

但是在啟動我對形式邏輯的知識之後,我認為你是對的,因為

∀r ∈ Rainfall (...)

is trueifRainfall不包含任何元組。在這種情況下,您的查詢減少到

{ t | ∃s ∈ Station (t[station_id] = s[station_id]}

這描述了所有的元組Station

我在您的符號中缺少的是不清楚t解決方案的元組包含哪些屬性。所以如果你想選擇,station_id 那麼查詢應該以類似的開頭

{ t: {station_id} | ...}

如果有人使用維基文章的符號。

也許您可以為您的符號提供一些參考。

引用自:https://dba.stackexchange.com/questions/64523