합격자 발표 DB 테이블 짜기

하연·2022년 1월 5일
0

인턴십

목록 보기
7/7

요구사항

  • 학생데이터: 이름, 주민번호, 수험번호, 상태 등
  • 서비스 데이터: 대학, 모집시기, 전형, 학과 등
  • 발표 설정: 기간, 제목, 내용
    위 데이터를 가지고 테이블을 만들어 수험번호, 이름, 생년월일을 입력하면 학생의 합격/불합격 결과를 알려주는 시스템을 만들기.
    RDB로 설계.

결과

  • 학생 테이블: 학생이름, 주민번호, 수험 번호 (pk, auto increament)
  • 대학 테이블: 대학이름, 모집 시작일, 모집 마감일, 전형, 학과, 모집 코드 (pk, auto increament)
    모집코드의 경우 대학의 전형의 학과 마다 고유하게 부여된다.
  • 발표 테이블: id (pk, auto increament), 제목, 시작일, 마감일, 내용
  • 결과 테이블: id (pk, auto increament), 모집 코드, 수험 번호, 합불 상태

피드백

  • 세명의 인턴이 같은 요구사항을 받았지만 각자 다른 테이블을 만들어왔다. 이는 요구사항 분석이 제대로 안되었기 때문이다. 디비를 설계 할 때는 요구사항 분석을 확실히 하는 것이 중요하다.
  • 내 테이블의 경우 대학 테이블에 전공을 포함해 대학의 모든 정보가 포함되어 있는데 이런 경우 대학에서 정보 하나만 수정해도 많은 양의 데이터를 확인하고 수정해야 하는 단점이 있는 반면 본 합격자를 발표 한다는 목적을 위한 테이블로는 여러 테이블을 조인하지 않아도 빠르게 확인 할 수 있다는 장점이 있다. 테이블을 나누는데는 이러한 장단점이 있으므로 환경과 요구사항에 맞춰 데이터베이스를 설계해야 한다.
  • 발표 테이블의 내용과 제목이 원래는 varchar(255)으로 설정해놨었는데 이런 항목들은 글이 길어지는 경우가 많기 때문에 크기를 varchar(max)=>2Gbyte 지원 하는것이 좋다.
  • 개발자들 사이에서는 이름을 짓는것도 중요하다. 주로 camelCase 혹은 PascalCase를 사용한다고 한다.

0개의 댓글