2012-12-25 2 views
1

smtp 서버에 대한 설정이있는 테이블이 있으므로 이메일을 보낼 수있는 다양한 엔터티에 대해 smtp 서버 구성을 모델링해야합니다.여러 테이블에 할 수있는 "관계"모델

예를 들어, 전자 메일을 보내는 엔티티는 "객실"과 "서버"입니다. 이들은 공통적 인 부분이 없기 때문에 별도의 테이블에 있지만 각각 선택적 전자 메일 구성을 참조합니다.

객실과 서버 테이블 모두에 SmtpConfigId을 가지고있는 것이 간단하지만 계단식 삭제 방법을 볼 수 없습니다. 방이나 서버를 삭제하면 해당 smtp 구성도 삭제됩니다.

물론 전자 메일을 보낼 수있는 각 엔티티 테이블의 smtp 구성 필드를 복제 할 수 있습니다. 전자 메일 구성이 자체 테이블에있는 경우 전자 메일을 보내기위한 비즈니스 논리가 단순화 될 것이라고 생각합니다.

전자 메일을 보내는 엔티티와 해당 smtp 구성간에 1:1 인 전자 메일 구성 외에도 1:M 인 양식 편지에 대한 질문이 있습니다. 또한 계단식 삭제로 정리할 수도 있습니다. 그 (것)들을 창조 한 실재물이 삭제되는 경우에 편지를 형성하십시오.

올바른 방법으로이 문제에 대해 생각하고 있으며 모델을 만드는 좋은 방법은 무엇입니까? 삭제 트리거?

답변

0

유형 (룸, 서버 등)을 구별하기 위해 smtp_type 필드가있는 구성 항목에 대해 하나의 테이블이 사용되는 다형성 관계로 모델링을 고려합니다.

+0

이것은 기본적으로 내가 소유 한 테이블의 PK를 참조하는 ownerert 필드와 ownertype에 대한 enum입니다. 그런 다음 각 소유 테이블 (room, server 등)에 대해 참조 된 항목을 정리하기 위해'after delete' 트리거를 추가했습니다. – user688026

관련 문제