2012-12-16 69 views
3

我被困在關於屬性可以採用的類型的「SQL和關係理論」一書中。問題是這樣的:關於C.J.的「SQL和關係理論」的關係理論日期

有規則的例外的是關係屬性可以是任何類型的任何,其中之一是,如果一個關係R是 類型T,那麼屬性的R不能本身可以是的類型T.

爲什麼?是否因爲關係R的類型爲'Relation [name]',所以屬性不能是這種類型?

+0

它與C中的一樣:一個結構不能包含它自己的一個實例。 – wildplasser

回答

1

考慮這樣的事情:

create table address { 
    id int, 
    name varchar(20), 
    details address -- the address relation has an attribute that is another of itself 
} 

定義會無限遞歸。

+0

謝謝,並對遲到的表示深表歉意。 –

+0

完成! [此字符串只是爲了成功添加前面的註釋來提高字符數!] –

1

這是因爲定義這種關係會立即創建無限遞歸,即使在您嘗試將任何數據放入它之前。關係的標題必須是有限的。

+0

謝謝。對遲交的回覆表示誠摯的歉意。 –