1

我是從給定ER圖表創建表格的新手,雖然我已經使用了烏鴉的腳圖,但對於下面的圖表類型,我是全新的。瞭解ER圖

由此,我如何確定表中的主鍵,外鍵和1-1,1-等關係?

ER model

非常感謝任何建議。

P.S.我想在MySQL Workbench中對它進行建模,所以如果有任何具體的建議,我將不得不!

+1

一對多是'(0,*)'0或很多1,1中的......只要pk/fk沒有在某些表中定義字段,所以您不知道「字段」但您確實知道可持續性一個類別可以與零個或多個產品關聯,而產品必須具有一個且只有一個'(1,1)'類別。一個類別可以有0個或多個與其相關的類別'(0,*)'自反身)購物車可以有0到多個'(0,*)'產品,並且產品可以鏈接到0或(許多購物車)購物車屬於唯一一個'(1,1)'客戶。而一個顧客可能有0或1個購物車'(0,1)' – xQbert

回答

2

此圖表不包含足夠的信息供您確定表中的主鍵或外鍵。例如,ShoppingCart沒有列出任何屬性,因此不可能說明密鑰可能是什麼。

但是,您可以很容易地確定關係。括號內的數字表示關係的基數,例如, (0,*)表示「零個或多個」,(0,1)表示「零個或一個」,(1,1)表示「一個且只有一個」。例如,從這個圖表中,我們可以說一個產品可以在ShoppingCart的「零個或多個」實例中,並且ShoppingCart可以具有「零個或多個」產品,但是一個產品可以屬於「一個且只有一個」類別。一個類別可以有「零個或一個」父母,但「零個或多個」子類別,等等。

+0

那麼,'父'(在類別表中)也是一個表嗎?我很困惑。 –

+1

「父母」描述了這種關係,例如「親子關係」 - 也稱爲遞歸關係。在這個例子中,類別可以是其他類別的超集(即它是「父」類別) - 它也可以是另一個類別的子類。這是一種常見的情況,因爲它爲您提供了一個類別層次結構。因此,圖中的「父」行向您展示了類別與其自身*之間具有層次關係*。 – Nathan

+1

另一個常用的例子是「員工」 - 一些員工向其他員工報告(或者相反:某些員工管理其他員工),因此實體「員工」與自己有親子關係。 – Nathan