다음과 같은 경우를 고려하십시오. 어느 것이 더 나은 접근 방법입니까?
table 1: assessment
는
- 이 studentID A1001은 assessment_ID했다 것을 보여줍니다 E1.
- studentID A1002가 assessment_ID : E2를 (를) 수행 한 것을 보여줍니다.
- assessment_ID : E1에는 5 개의 질문이 있습니다.
- assessment_ID : E2에는 9 개의 질문이 있습니다.
학생의 대답을 저장하는 테이블이 필요합니다. 다음 중 어느 것이 더 나은 접근 방법입니까? 나는 그것의 질문 번호 (행) + 해당 답을 삽입해야합니다
두 표는
옵션 A를 assessment.id 참조 외래 키 역할 "REFERENCE_ID"을 가지고있다. 옵션 B : 학생들이 더 많은 질문으로 평가를 할 때마다 표에 새 열을 추가해야합니다.
하자고하자. assessment_ID : E3에 14 개의 질문이있는 경우 테이블에 row10 ~ row14 열을 추가해야합니다.
내 생각 옵션 A :이 경우 많은 레코드가 생성됩니다. 옵션 A에는 14 개의 레코드가 있고 옵션 B에는 레코드가 2 개만 있습니다.
옵션 B : 모든 평가에 9 가지 질문이 없으므로 일부 열이 낭비됩니다.
성능, 실행 속도 및 저장 공간면에서 어느 솔루션이 더 좋습니까?
감사합니다.
열 이름에 숫자가 포함되어 있으면 뭔가 잘못되었습니다. 옵션 B는 대단합니다 –
옵션 B는 전혀 확장되지 않습니다 ... 새로운 데이터를 가져올 때마다 열이 커집니다. 이것은 Excel에서도 좋은 옵션이 아닙니다. –
확실히 옵션 A. 당신은 결코 당신의 가치에 수평이되어서는 안됩니다.나중에 40 개의 질문으로 시험을 치르면 어떨까요? A와 함께 가라. 적절한 인덱스를 정의하는 것을 잊지 마라. –