입사 지원자의 정보를 DB화 하기 위해 테이블을 설계하고자 한다. 다음… | [컴퓨터활용능력 1급 필기] 19년 1회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 19년 1회차
입사 지원자의 정보를 DB화 하기 위해 테이블을 설계하고자 한다. 다음 중 한명의 지원자가 여러 개의 이력이나 경력 사항을 갖는 경우 가장 적절한 테이블 구조는?
1
지원자(지원자ID, 이름, 성별, 생년월일, 연락처) 경력(경력ID, 회사, 직무, 근무기간)
2
지원자(지원자ID, 이름, 성별, 생년월일, 연락처) 경력(경력ID, 지원자ID, 회사, 직무, 근무기간)
3
지원자(지원자ID, 이름, 성별, 생년월일, 연락처, 회사, 직무, 근무기간)
4
지원자(지원자ID, 이름, 성별, 생년월일, 연락처, 회사1, 직무1, 근무기간1, 회사2, 직무2, 근무기간2, 회사3, 직무3, 근무기간3)
해설
한 명의 지원자가 여러 개의 이력이나 경력을 가지는 것은 일대다 관계이므로, 지원자 테이블과 경력 테이블을 분리하고 경력 테이블에 지원자를 식별하는 외래 키(지원자ID)를 포함시켜야 한다.
두 테이블을 나누더라도 경력 테이블에 지원자ID가 없으면 어떤 지원자의 경력인지 연결할 수 없어 관계를 표현할 수 없다.
지원자 정보와 경력 정보를 한 테이블에 모두 넣거나, 경력 항목을 회사1·회사2처럼 반복 필드로 나열하는 구조는 데이터 중복과 확장성 문제가 발생하므로 적절하지 않다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.