2013-03-11 3 views
2

명확하게 생각하지는 않았지만 기존 데이터베이스에 대한 관계를 시각적으로 나타낼 것을 작업에서 요청 받았습니다. 필자는 "Person - PersonProfession - Profession"과 같은 연관 다 대 다 관계에 익숙합니다 (PersonProfession은 연관 속성입니다).데이터베이스 동일한 엔티티의 레코드와의 연관 관계

이제는 "Person - PersonAssociation - Person"와 비슷한 관계가 있습니다. 여전히 many-to-many이지만, 각 Person은 하나 또는 그 이상의 연관되어 있습니다 ... Persons (같은 엔티티).

재개, 나는 단지 2 테이블 (사람PersonAssociation)를 얻었다. PersonAssociation에는 [personA] 및 [personB] 필드 만 포함됩니다.

그 사이에 일대 다 줄을 그리면 "관련이 무엇입니까?"라는 말을하지 않고 각 Person에 여러 개의 연관이 있다는 것을 알 수 있습니다.

이 접근법 괜찮은 것 같습니다. 지금까지는 훌륭하게 작동하지만, 표현 방법이 없습니다. 비슷한 경험을 가진 사람이라면 누구나이 상황을 나타내는 방법에 대한 아이디어가 있습니까? 사전에

감사합니다, 라울 카르도소

답변

1

다음은 ERD에서의 모습입니다. 다 대다 (many-to-many)의 경우 대안이 있습니다. 관계 엔티티를 명시 적으로 표시할지 여부에 따라 달라집니다. 나는 다음과 같은 경우에 그러한 실체를 보여 주겠다 : 나의 목적이 구현에 기반을 두는 곳이면, 나는 그것을 보여 주겠다. (그러나 나의 의도가 더 논리적/개념적이지는 않을 것이다.) 또한 관계 자체에 어떤 속성이 있다면, 나는 그것을 보여줄 것 (예를 들어 우정이 시작했을 때 같은 것들을 보여줄 수있는 "우정 법인 등)

Sample ERD

인터넷 검색, 내가 this PDF from a course on ERDs을 발견했다. 당신이 도움이

+1

감사합니다 다리우스, 그림이 열려 있습니다. 그것에게 y 눈을 immediatly, 특히 우정의 엔터티와 다대 다. 나는 이것에 대한 PDF 설명보다 훨씬 좋다고 생각한다. 감사합니다 –

+1

firendship과 사람 사이의 관계는 저에게 용의주합니다. –

+0

맞습니다. 까마귀의 발이 잘못된 방향을 가리키고 있습니다. 감사. –

0

을 대표하는 ... 어떻게? 어떤 종류의 다이어그램을 의미합니까? 엔티티 - 관계 다이어그램과 비슷합니까? 그건 당신이 무슨 뜻인지 있다면

이를 대표하는 convventional 방법입니다에 다음 중 하나

(A) 자체에 다시 엔티티에서 선을 그립니다;

(b) 엔티티에서 그 자체로 한 줄을 그려보고 "reports to"또는 "is a sousin of"또는 무엇이든 관계의 본질을 나타내는 줄에 레이블을 지정하십시오.

(c) 다이아몬드를 그려 관계를 표현한 다음 엔티티에서 관계 다이아몬드까지 줄을 그리고 관계 다이아몬드에서 엔티티까지 줄을 그립니다. 적절한 레이블을 다이아몬드 안에 넣으십시오.

BTW : 이것은 "재귀 관계"라고하며 전혀 드문 것이 아닙니다.

+0

(A) 옵션을 것 찾을 수 있습니다 (b)와 (c)를위한 엄지 손가락과 그것에 관한 정보는 "재귀 관계"로 오랫동안 존재합니다! –