2010-12-11 47 views
0

我今天第一次遇到數據庫問題的關係代數問題,我似乎無法找到答案。關係代數語法

我有3個表,批次,渠道和市場。

批次通過foregein鍵(channelID,marketID)連接到Channel和Market。

,這是什麼樣的查詢正確的符號:

select * from batch, channel, market 
where batch.channelID=channel.channelID AND batch.marketID=market.marketID 

感謝


如果我理解正確的話,我需要寫如下:

π...(Batch⋈         Channel⋈        Market 
      (batch.channelID=channel.channelID)  (batch.marketID=market.marketID) 

回答

3

那將是批⋈頻道⋈市場(自然j oins是關聯和交換的)。

編輯:因爲屬性名稱是爲每個相同的連接(你比較batch.channelIDchannel.channelID),你在哪裏查詢可以用自然連接寫入的情況,而且也沒有必要寫(xxx = yyy)在⋈運算符下面時表示自然連接。

可能把它寫成θ-連接,在這種情況下你的語法幾乎是正確的,但我覺得用θ-連接來表示自然連接有點錯過了這一點。你需要做的變化是,由於θ連接不是聯想,你需要添加括號:(批量頻道)⋈市場

+0

嗨,不知道我明白了。我的更新是否正確,我應該如何編寫連接字段的子記號? (我需要描述完整的查詢)。 – Amirshk 2010-12-11 20:56:19

+0

謝謝,非常有幫助 – Amirshk 2010-12-11 21:18:06