2017-04-23 12 views
0

다음과 같은 문제가 있습니다.데이터베이스에서 이진 관계 대신 삼항 관계를 사용하는 경우는 언제입니까?

인터넷 상점에서 고객에게 전자 메일을 보내려고합니다. 어떤 메시지가 어떤 고객에게 보내 졌는지를 기록하는 데이터베이스를 유지하려고합니다. 전자 메일에 메시지 ID (M-id), 제목 (제목) 및 메시지 본문 (본문)이 있다고 가정합니다. 고객은 전자 메일 주소로 식별되고 다른 고객 정보에는 이름 (성), 성별 (성별) 및 주소 (주소)가 포함됩니다.

인터넷 상점에서 고객에게 전자 메일을 보내면 SendDate가 기록됩니다.

이제 우리는 위에 주어진 정보로 ERD를 작성한 다음 관계형 데이터베이스 스키마를 그릴 계획입니다. enter image description here 약한 개체가 보내기 참고, 그 : enter image description here 문제에 대한 답이있다 : 대담한 진술을 바탕으로

, 나는 기수과 참여로 무엇을 모르고, 다음 ERD를 그린 이메일과 포함, 전송 및 고객간에 완전한 참여가 있습니다.

Q1 :이 예제에서는 왜 3 자 관계를 사용할 수 없습니까?

질문 2 :이 문제에 관계없이 3 자 관계에서 어떻게 카디널리티와 참여를 결정합니까?

질문 3 : 최종 답안에는 어떻게 도달합니까?

답변

1

1 :이 예제에는 왜 3 자 관계를 사용할 수 없습니까?

질문은 전자 메일이 단일 인터넷 저장소 대신 기록되었음을 나타냅니다. 각 연관에 지정할 필요가 없으며 전체 데이터베이스가 상점에 속합니다.

여러 인터넷 상점에서 고객에게 보낸 전자 메일을 모델링하는 경우 세 가지 관계가 적절합니다.

질문 2 :이 문제에 관계없이 3 자 관계에서 어떻게 카디널리티와 참여를 결정합니까?

관계의 각 역할의 카디널리티는 다른 역할의 각 유효한 조합과 연관 될 수있는 해당 역할의 값 수입니다. 예 : 관계가 (A, B, C) 인 경우, A의 카디널리티는 각각의 유효한 조합 (B, C)에 대해 나타날 수있는 A의 값의 수입니다. (B, C)이 수퍼 키인 경우의 카디널리티는 1입니다.

참여가 더 간단합니다. 각 역할에 대해 연관된 엔티티 집합의 모든 값이 반드시 관계에 참여해야합니까, 아니면 일부 독립적으로 존재할 수 있습니까? 나는이 질문에 대한 내 대답을 볼 것을 제안한다 : is optionality (mandatory, optional) and participation (total, partial) are same?.

질문 3 : 최종 답안에는 어떻게 도달합니까?

귀하가 게시 한 최종 답변에 동의하지 않습니다.ER 모델에서 약한 엔티티 집합은 여러 식별 관계를 가질 수 없으며 일반적으로 약한 키를가집니다. 필자는 작성자가 외부 키 제약 조건과의 충돌 관계 및/또는 엔티티 만 특성을 가질 수 있다고 생각하는 것과 같은 일부 네트워크 데이터 모델 개념을 사용하고있을 수 있습니다.

질문에 대한 내 자신의 대답은 다음과 같을 것이다 :

E-mails sent to customers ER diagram