2013-03-11 114 views
2

我可能沒有清楚地思考,但在工作中被問到可視化表示現有數據庫的關係。我習慣於關聯多對多關係,如「Person-PersonProfession-Profession」(即PersonProfession關聯的一個)。數據庫與同一實體記錄的關聯關係

現在我遇到了一個「Person - personAssociation - Person」like relation。仍然是多對多的,但每個人都與一個或多個... (同一實體)。

恢復,我只有2個表(PersonAssociation)。 PersonAssociation只包含字段[personA]和[personB]

如果我在它們之間繪製一條到多條線,我只想說每個人都有多個關聯,而不會說「他們與什麼關聯」。

這種方法對我來說看起來還不錯,到目前爲止效果很好,但我不知道如何表示它。任何具有類似經歷的人都有如何表達這種情況的想法?

由於事先 勞爾·卡多佐

回答

1

下面是ERD上的樣子。對於多對多,還有一個選擇 - 取決於您是否要明確顯示關係實體。我會在以下任何一種情況下展示這樣一個實體:我的目的是基於更多的實現,我會展示它(但是,如果我的意圖更「邏輯」/概念化,那麼不會這樣做。另外,如果關係本身具有某些屬性,我會表現出來(如「友誼實體可能會顯示喜歡當友誼開始的事情,等)

Sample ERD

谷歌搜索,我發現this PDF from a course on ERDs,你可能會發現

+1

謝謝Darius,圖片打開了m Ÿ立即注視它,特別是與友誼實體的多對多。我認爲比這個PDF解釋更好。謝謝 – 2013-03-11 18:13:32

+1

友好和人之間的關係是我懷疑的。 – 2013-09-12 18:08:36

+0

你是對的,烏鴉的腳指向了錯誤的方向。謝謝。 – 2013-09-12 19:53:42

0

來代表它...怎麼樣?你的意思是在某種圖表中?像一個實體關係圖?

如果這就是你的意思,代表這個convventional辦法是要麼:

(a)畫出從實體到它自身的線; (b)從實體中劃出一條直線回到自身,並在該行上放置一個標籤,指示關係的性質,如「報告給」或「是表親」等等。 (c)畫一條鑽石來表示關係,然後畫一條從實體到鑽石關係的線,然後從鑽石關係的另一條線回到實體。在鑽石內放一個合適的標籤。

順便說一句:這被稱爲「遞歸關係」,它並不罕見。

+0

(一)選擇將在這種情況下我很難理解,我認爲,(b)和(c)以及它作爲「遞歸關係」存在很長時間的信息! – 2013-03-11 18:20:01