2010-08-19 2 views
1

질문이 있는데 설계하는 가장 좋은 방법은 확실하지 않습니다.메시지 상자가있는 데이터베이스 디자인 질문

기본적으로 사용자가 있습니다. 각 사용자는 메시지 상자를 가질 수 있으며 각 상자는 여러 메시지를 가질 수 있습니다.

"새로 만들기"및 "휴지통"을 포함한 몇 가지 특별한 메시지 상자가 있습니다. 사용자는이 두 상자가 있어야합니다.

나는 할 수있는 것에 대한 아이디어가있었습니다. 내 아이디어 중 하나는 각 메시지 상자에 유형 ("새로운", "휴지통"또는 "기타"의 열거 형)을 기록하는 필드가있는 것이었지만, 그렇게하면 그 상자를 가질 수는 없었습니다. 어느 것이 좋을까요?

나는 이러한이 필요합니다. 물론, 다음 useruser_messageBox 테이블이 상호 특히 그들의 특별한 상자 (그래서 user 테이블에 newBoxtrashBox 같은 필드가있을 것이다)에 관한 필드 것 한 각 사용자를 가질 수 메시지 상자 테이블이 사용자와 관련이없는 곳에서 many-to-many로 만들 수 있습니다. 그래서이 두 가지를 many-to와 관련시키는 또 다른 테이블이 있습니다. - 많은. 부. 나는 다 - 대 - 다 관계를 원하지 않기 때문에 아무 것도 해결하지 못한다!

답변

0

사용자 당 하나의 메시지 상자 만 사용하려는 경우 상태와 같이 "새로운"및 "휴지통"을 호출하십시오. 이것이 메시지의 필드가되게하십시오. (사용자를위한 필드 또는 동등하게 각 메시지의 메시지 상자가 필요합니다.)

이것은 상자 밖에서 생각하게하고 (!) 그 사용 방법에 대한 다른 아이디어를 줄 수 있습니다 "중요", "스팸 메일"등을 선택하는 경우 다음 필드를 선택하십시오.

+0

알다시피, 나는 이것을 생각했지만 잊어 버렸습니다! 응답 해 주셔서 감사합니다. 나는 이것을 시도하고 그것이 나를 잡는 곳을 볼 것이라고 생각합니다. – rovaughn

+0

이 계획은 정말 잘되었습니다! 그래서 나는 대답으로 당신의 것을 고를 것입니다. 감사. – rovaughn

0

message_box_type 필드를 사용하지 마십시오.

사용자가 응용 프로그램 논리를 사용하여 두 메시지 상자 유형을 모두 사용해야한다고 생각합니다.

이상적으로는 다른 테이블 message_box에 연결된 외부 키 id message_box_id가있는 메시지 테이블이 두 개 있습니다. message_box 테이블에는 다른 필드와 함께 message_box_type 필드가 있습니다. 응용 프로그램 논리는 두 가지 유형의 'new'와 'trash'두 가지 message_box 레코드가 사용자 가입/생성시 만들어 지도록합니다.

+0

응용 프로그램 논리를 통해이 작업을 수행 할 수 있음을 알고 있었지만 데이터베이스를 통해 수행하는 좋은 방법이 있는지 알고 싶었습니다. 나는이 설정을 실험 할 것이므로 응답 해 주셔서 감사합니다. – rovaughn

관련 문제