2013-06-12 1 views
1

Ive는 온라인에서 검색했지만 위의 관계를 구별하는 데 도움이되는 유용한 정보를 찾을 수 없으며 둘 다 똑같이 보입니다. 그것은 다른 용어에 의해 참조되는지 확실하지 않지만, 관계의 '유일한'끝은 일반적으로 어 그림에서 곡선 화살표로 표시됩니다.DatabaseTheory : 'many to one'과 'many to onlyOne'관계의 차이점

정말 고맙습니다. 두 사람을 구별하는 데 도움이되는 작은 예가 있습니다.

+0

을 참조하십시오. 그러나 'many to * OnlyOne *'관계는 무엇입니까? 'many to one'과 다른 점은 어디서나 찾을 수 없습니다. –

답변

0

한 다양한 예를 아래 것 : 고객 테이블 고객 ID를, CUSTOMERNAME

Orders 테이블은 아래의 필드 ORDERID, 고객 ID를, 양

고객 및 주문 테이블 간의 관계를 갖는 다음 필드가 즉, 1 고객은 많은 주문을 할 수 있습니다.

많은 예제 대부분은 다음과 같다 : 필드 (유래처럼) 질문 테이블 questionId이

이 필드 tagId, TAGTYPE (데이터베이스, C++ 등)

태그 테이블이이 질문 다 대다 관계의 예, 즉 질문은 많은 태그를 가질 수 있고 태그는 많은 질문에 속할 수 있습니다. 이 매핑을 유지하려면 별도의 테이블이 필요합니다.

즉 TagQuestionMapping tagId, questionId

+0

'many to * OnlyOne *'relationships, 어떻게 그들이 'many to one'과 다른가, 어디서나이 정보를 찾을 수 없다. –

+0

Many to OnlyOn은 many to one과 같다. – Bourne

0

이 최소 카디널리티라고도 참여에 관한 것이다. 참여는 주어진 엔터티 집합에 대한 모든 엔터티 항목이 관계에 참여해야하는지 여부를 나타냅니다. 다시 말해 참여가 의무적인가 선택인가?

이 경우 둥근/곡선 화살표는 필수 참여를 나타내므로 각 엔터티 발생 에 관계에 참여하려면이 있어야합니다.

예 :엔티티 직원과 부서가 관계가있는 WorksFor와 일대 다 관계입니다 (한 부서에서는 직원이 근무하고 한 부서에서는 여러 직원이 근무할 수 있음). 각 직원이 최소한 하나의 부서와 연관되어야한다고 가정하면 참여가 필수적이므로 "하나만"(또는 "정확히 하나")으로 카디널리티를 정의 할 수 있습니다.

참고 : 많은 ER 표기법이 있습니다 (Chen 's, UML 등). 따라서 둥근/곡선 화살표는 필수 참여를 표현하는 유일한 방법이 아닙니다. 중요한 측면은 표기법과 일치하는 것입니다. 예를 들어 http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model#Diagramming_conventions