Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/9월

22.09.29 ~ 09.30 - [ Final 프로젝트 ] DB 모델링

giggs 2022. 10. 6. 10:48

 

 

 

 

1. Final Project 소개

  • 주제 : 그룹웨어 ( 교육용 그룹웨어 )
  • 팀명 : 삼삼한 이팔청춘
  • 프로젝트명 : 마타데미아
  • 주요 기능 도메인별 도출 : 직원/학생관리 , 급여관리, 사내 커뮤니케이션, 업무, 관리자, 마이페이지, 로그인, 메신저

 

 

 

 # 내가 구현할 파트는 - 급여관리 파트와 사내 메신저 파트 #

 

 

 

 

 


 

 

 

2. DB 모델링 진행

 

 

 

2-1 : 전체 모델링 

 

 


 

2-2 : 메신저 파트

  • 1:1 테이블 관계는 좋지 않지만 - 사내 메신저는 따로 프로그램을 실행시켜 관리하는 생각으로
  • 사원 1명당 1개의 메신저 등록번호를 가지도록 하여서
  • [ 메신저 등록 ] 테이블을 [ 사원 ] 테이블로 사용할 생각으로 구조를 잡았다.

 

 

 


 

 

# 메신저의 주요 기능은 쪽지를 주고받는 기능으로 

  • 참조 테이블을 활용하여 여러 명에게 보낼 수 있도록 하였고
  • 이미지를 많이 주고받을 것이라고 생각 - [ 이미지파일보관함 ] 테이블과 그 외 [ 파일보관함 ] 테이블을 분리하여 select시 효율이 높아질 것이라고 생각하였다.

 

 

# 이외에도 공지 톡 게시판 기능이 있다.

  • 사원의 직책이 관리자라면 메신저 공지 게시판에 글을 작성할 수 있도록 할 생각이고
  • 댓글은 모든 회원이 작성할 수 있도록 해줄 생각으로 관계 설정하였다.

 

 

 

 


 

 

 

2-3 : 급여 관리 파트

 

 

# 제일 먼저 생각해본 것은 월별로 급여대장 테이블을 계속 만들 것인지 지급월 칼럼으로 처리할 것인지였다.

  • 월이나 년이 바뀔 때마다 테이블을 만들어주고 쪼개 주는 기능을 배우지 않은 상태에서
  • 이번 프로젝트에서는 급여대장 데이터도 수백수천 개가 아닌 적은 양의 data가 들어올 것이므로
  • 칼럼 값을 이용하여 관리하기로 결정하였다.

 

 

# 연산으로 구할 수 있는 값은 칼럼으로 두지 않기

  • 월 급여액과 비과세 근로소득 값을 알고 있으면 여러 가지 계산을 할 수 있었다.
  • 다만, 비과세 근로소득을 계산하기 위해서 필요한 값들은 입력받아야 하였고, 화면 페이지에도 보여주어야 하므로 칼럼으로 추가해 주었다.

 

 

# 자동이체 여부 체크

  • 급여 페이지에서 계좌번호를 변경하고 수정하고 등록해서 자동이체 신청까지 하는 것을 생각했는데
  • 개인정보 수정과 관련 있어서 마이페이지에서 통일되게 하는 게 좋을 것 같다는 팀원들의 의견을 듣고  - 마이페이지에서 하기로 의견을 모았다.
  • 아쉬웠지만 자동이체 여부를 선택하게 하여서, 자동이체 여부, 자동이체 수정 일자 등을 보여 줄 생각이다.