2011-12-08 3 views
0

내 데이터베이스에 두 개의 테이블이 있습니다. 하나는 forms이고 다른 하나는 form_fields입니다. form_fields에는 양식에 ... first_name, last_name, email, address, hieght, weight 등이있을 수있는 입력란 목록이 포함됩니다. forms은 해당 입력란이 여러 개이거나 없을 수도있는 고유 한 양식 목록입니다 form_fields에 있습니다.데이터베이스 크로스 테이블 연결 논리

그럼, 제 질문은 에있는 데이터를 사용하여 forms과 관련된 표준 사례는 무엇입니까?

해야하는 I

A) forms의 열이 field_array에게 전화를 form_fields에서 각 필드의 인덱스 번호 (기본 키) 관련 인덱스의 배열을 만들기?

또는

B)의 관계 테이블을 생성하고 선택된 모든 폼 필드의 두 열의 행을 삽입한다. 하나의 열은 양식 고유 색인이고 다른 하나는 선택된 양식 필드 고유 색인입니까?

필드가있는 기분이 들지만 forms은 쉼표로 구분 된 숫자가 조금 이상합니다. 저는 수 년 동안 독립적으로 일 해왔으므로 이런 종류의 교차 테이블 연관성에 대해 노력하고 진실한 방법이 있다면 항상 긍정적이지는 않습니다.

미리 감사드립니다.

답변

2

연관 또는 관계 또는 접합점 접근 방식을 따라야합니다.

새 테이블 수 있습니다 :

CREATE TABLE Forms_Using_Fields 
(
    FormID INTEGER NOT NULL REFERENCES Forms(Id), 
    FieldID INTEGER NOT NULL REFERENCES Form_Fields(Id), 
    PRIMARY KEY (FormId, FieldId), 
    Seqno  INTEGER NOT NULL, -- Sequence number of field on form 
    ... 
); 
+0

내가 듣고 필요한 정확히. 고맙습니다. –