2012-04-17 34 views
0

關係代數中的選擇條件中是否可以使用用戶定義的函數?關係代數中的選擇條件中的函數

例:

<selection condition>是:距離(X1,X2,Y2,Y2)<ř

σ<selection condition>(R),其中距離是操縱屬性的值的函數:X1,X2 ,y1和y2。

謝謝

回答

0

是的。你也可以寫「a = b + c」,對(提示:在語義上和調用一個函數加(b,c)相同)?因此,如果允許調用PLUS函數,那麼排除其他一些(比如距離)的合理理由是什麼?

嗯,這是一個有點無厘頭,包括非確定性函數(其中x = RANDOM()),但即使在那裏,目前還不清楚爲什麼它會必須copped出來......

從技術上講,選擇條件在RA中(我的意思是RESTRICT運算符的選擇條件「參數」)就像支持它的編程語言中的lambda一樣,lambda可以是任意函數。

在執行方面,某些種類的表達式被有效排除,有副作用更新的表達式(像++增量等等),但如果您僅僅是在紙上編寫代數表達式,這不是一個問題。

+0

感謝您的回答......但根據SELECT的定義,這些格式是不允許的......但可以忽略對條件的限制嗎? – 2012-04-26 11:09:44