3-1. 개념적 데이터베이스 설계

  1. 정규화와 반정규화

     기존 수강 테이블     ➡️
    

Untitled

               1NF      ➡️

Untitled

수강 정지 일자는 수강 정지 횟수만큼 생성될수 있으므로

별도 테이블 생성

                2NF

Untitled

               ⬇️

Untitled

수강-과목(FK)의 속성들은, 수강 테이블에 포함될 수 있는 내용이므로 수강-과목(FK) 테이블은 제거

                     3NF                   ➡️

Untitled

3NF로 생성된 3개의 테이블에서, ‘잔여정지횟수’ 정보가 3번 중복됨

                                 반정규화

Untitled

반정규화를 통해, 최종 수강-정지-정지 일자 테이블 생성

  1. ER 다이어그램

Untitled

3-2. 데이터베이스 정리 요약 ER 다이어그램을 중심으로

특이사항

정규화와 반정규화 과정을 통해, ‘정지’ 관계 테이블이 생성되었다. ‘수강’ 관계 테이블과 동일하게 ‘학생, 과목’의 기본키를 외래키이자 키본키로 갖는다.

‘정지’ 관계 테이블의 ‘잔여 정지 횟수’는 ‘환급 과정’과 ‘등록 개월’, ‘과목 코드’에 의해 값이 결정되는 유도된 애트리뷰트이다. 그러나 실제 DB에서는 편의성을 위해, 테이블에 ‘잔여 정지 횟수’ 속성을 추가할 예정이다.

3-3. ER 스키마(다이어그램)를 바탕으로 구현될 응용 프로그램 설계