本節使用常用的**商(supplier)關係作為示例基礎。圖示如下:
定義 設為元組標題,t1,t2,…,tm(m>=0)為標題均是的不重複元組。注3那麼,和元組集合的組合(設為r)即為涵蓋屬性a1,a2,…,an的關係值(relation value)(簡記為關係)。其中,a1,a2,…,an均為中的屬性。關係r的標題為;r和該標題具有相同的屬性(當然也有相同的屬性名稱及型別)和度。元組集合是r的主體(body)。m的值為r的基數(cardinality)。
作為練習,你可以試著用上面的定義來說明**商關係。不過,我至少要解釋一下為什麼我們把這個東西叫做關係。從日常的自然語言意義上講,關係中的每個元組代表乙個n元關聯(n-ary relationship),而此關聯聯絡著n個值(每乙個值對應乙個元組屬性);而乙個確定的關係中元組的全集表示,在某個確定的時刻恰好存在的此種關聯的全集;用數學語言來說,該元組集合即為關係。
因此,你經常聽到的將關係模型的名稱由來歸因於其支援「表間關聯」的說法,實際上是捨本求末的說法(儘管從某種意義上講,這種說法也是正確的)。關係模型之所以要這麼命名是因為,它所處理的抽象在我們非形式化的思維中是表,而在數學中則形式化地稱為關係。
和元組一樣,關係也是值,同樣具有型別,並且其型別也同樣具有名稱。在tutorial d中,這樣的型別名稱採用relation的形式,其中為標題。比如:
relation
其中的屬性排序是任意指定的。另外,每乙個關係值都由關係選擇器呼叫來表示。比如:
relation
,tuple ,
tuple ,
tuple ,
tuple }
元組的順序是任意的。下面給出另乙個示例(與前乙個不同,此示例不是字面值):
relation
《互動式程式設計 第2版》一1 3 設計與互動
偉大的工業設計師henry dreyfuss把設計稱為 對人的測量 意思是,設計是理解和分析人類行為的絕佳途徑。如何定義 設計 一詞,這留給別人去想 而我則關注互動設計作為 創作一種工具或方法 的方面,我們使用這種工具或方法完成一些特定的事情。需要完成的事情越具體或特殊,所需的工具就越要精雕細刻,互...
《互動式程式設計 第2版》一2 7 作用域
作用域有時讓人很討厭,由它而起的問題通常難以定位。幸而要避免這樣的問題其實還挺簡單。先看一段processing void setup i 1 print i 我們在第3章會仔細講processing平台,現在你看不懂也沒有關係,直接編譯它。編譯之後processing的控制台視窗會彈出些有趣的訊息...
《互動式程式設計 第2版》一2 7 作用域
作用域有時讓人很討厭,由它而起的問題通常難以定位。幸而要避免這樣的問題其實還挺簡單。先看一段processing void setup i 1 print i 我們在第3章會仔細講processing平台,現在你看不懂也沒有關係,直接編譯它。編譯之後processing的控制台視窗會彈出些有趣的訊息...