Relational-Theory
關係的元組及其所指對象必須是一對一的關係嗎?
圖 3.a 和 3.b,1.4 節,Edgar Codd 1970 年具有里程碑意義的論文“大型共享數據庫的數據關係模型”的第 381 頁展示了一組關係模式(圖 3.a 和圖中的 1NF 未正規化) 3.b)。
規範化的關係模式
children′
有一個 key dependencyKEY(man#, childname)
,所以它允許像下面的關係這樣的實例:元組
(1, "Thomas", 2016-03-12)
and(3, "Thomas", 2016-03-12)
可以指代現實世界中名為“Thomas”的兩個不同孩子,也可以指代現實世界中名為“Thomas”的同一個孩子(暗示他的兩個父母受僱於同一家公司)。所以現實世界中元組和孩子之間的關係是多對一的,即一個元組只能引用一個孩子,但一個孩子可以是多個元組的所指對象。關係模型是否要求關係的元組與其所指對象之間的關係是一對一的(從而使 Codd 的範例不正確,因為它是多對一的)?
換句話說:關係模型中是否禁止使用別名?我們必須始終在我們的關係中使用全域唯一引用,即 UUID 鍵嗎?
關係模型是否要求關係的元組與其所指對象之間的關係是一對一的
不,關係模型只管理元組。元組到某個現實世界領域中的斷言或某個有形外部事物的映射不受關係模型規則的約束。
此外,在您的範例中,關係
children
不模擬實際的孩子,它模擬員工和孩子之間的關係。被建模的相關事實只是每個員工子女的數量和年齡。您可以添加一個單獨的表,其中每個實際孩子一行,但這只是一個不同的模型,而不是更正確的模型。