Relational-Theory
為什麼以這種方式命名多值依賴項?
我正在上斯坦福開放課件的關係設計課程。我理解為什麼以這種方式命名函式依賴項 - A->B 表示在指定 A 時指定 B,或者換句話說,B 的值在功能上取決於 A 的值。但我無法想到一個多值依賴項以這種方式命名的簡單原因。理解這一點將更容易記住和使用這個概念。
多值依賴 A->->B 意味著 A 的每個值都確定 B 的一組值(而不是函式依賴中的 B 的單個值)。
例如,假設
programmers
有一個屬性programmer-id
和一個屬性known-language
,並且每個程序員都可以了解幾種語言,那麼您就有了多值依賴:程序員 ID ->-> 了解語言
因此,假設程序 ID 為 7 的程序員知道 SQL 和 Ruby,這意味著在您同時具有屬性
programmer-id
和的表中know-language
,每次程序 ID 為 7 時,都必須有兩個不同的行,一個語言為 ‘SQL ’ 和一個使用 Ruby 語言,所有其他屬性都相等:programmer-id know-language other-attribute1 other-attribute2 ... 7 SQL XXX YYY 7 Ruby XXX YYY 8 Java AAA BBB ...