2009-11-18 5 views
0

저는 Stage, Actor 및 Form 요소 유형을 포함하는 데이터 모델을 가지고 있습니다. 논리적으로 스테이지는 여러 번 복제 될 수있는 (양식 < ---> Actor) 쌍으로 지정할 수 있습니다. 즉, 동일한 인물과 동일한 양식이 나중에 동일한 날짜에 추가됩니다.MySQL에서 부모와 자식 쌍을 모델링하는 방법

지금은 이러한 테이블이를 모델링하고 있습니다 :

Stage 
Form 
Actor 

Form_Actor  
_______________ 
|Id   | 
|FormId  | --> Id in Form 
|ActorId  | --> Id in Actor 


Stage_FormActor 
__________________ 
|Id    | 
|StageId   | --> Id in Stage 
|FormActorId  | --> Id in Form_Actor 

를 생성 할 때 내가 제대로 관계의 유형을 처리하는 방법이 설정 및 템플릿의 없음에 대한 데이터 레이어를 생성하는 CodeSmith를 정말 알고 사용하고 수업. 이상적으로, ORM은 Stage.FormActors를 가지며, 여기서 FormActor는 Form, Actor 쌍입니다.

이러한 관계를 모델링하는 올바른 방법입니까? 나는 하나의 테이블에서 세 가지 ID를 모두 사용해 보았습니다.

Stage_Form_Actor 
______________ 
|Id   | 
|StageId  | --> Id in Stage 
|FormId  | --> Id in Form 
|ActorId  | --> Id in Actor 

이것은 실제로 잘 생성되지 않습니다. 아이디어?

+0

는 MySQL의 워크 벤치로 시각화 시도를 할 수 있다는 것입니다, 당신을 위해 쉽게 만들 수 있습니다 관계를보기. – Cryophallion

답변

0

(StageFormActor 하나는 최고입니다) 나는 CodeSmith 대해 아무것도 몰라,하지만이 세 기관 사이에 고유 한 다 대다 관계를 정의하는 데이터베이스 스키마는 올바른 것입니다. 주의 할

한 가지는 당신이 그 연관 테이블에 복합 기본 키를 정의 할 (대신 인공 ID 기본 키 사용)

+0

지금까지 네 개의 열 모두로 기본 키를 사용해 왔습니다. 나는 대부분 내가 DB 상에있는 것들을 모델링하고 있다는 것을 확신하고있었습니다. 키의 차이는 템플릿을 모델링하는 관계의 유형을 결정하는 데 사용하는 것입니다, 그래서 내가 생각 CodeSmith에서 오른쪽 출력을 얻기 위해 그 이상 함께 플레이 할 수 있습니다. – mikeschuld

+0

Form-Actor가 쌍으로 취급되므로 4 열 모두를 사용해야합니까? 아니면 다른 것을 제안해야합니까? – mikeschuld

+0

각 액터는 하나의 폼만 수행합니까? 또는 액터가 둘 이상의 형식을 사용할 수 있습니까? –

관련 문제