회원(USER)

설명 제약조건 필드 타입 예시
회원 아이디 PK user_id bigint 1
이름 user_name varchar 홍길동
아이디(email) UNIQUE user_email varchar [email protected]
비밀번호 user_password varchar 1234qwer!@#$
휴대폰번호 user_phone_number varchar 010-1234-5678
권한 user_role varchar user, admin, teamjang
입사일 user_join_company date 2023-01-02
생년월일 user_birthdate date 1993-09-08
부서 user_department varchar 인사, 개발
직책 user_position varchar 사원
성별 user_gender char 남, 여
근무 그룹 FK work_group_id bigint 1
이하 내용은 보류사항
사용한 연차 일수(보류) user_used_holiday int 1
연차(보류) FK annual_leave_id bigint 1

근무 그룹(WORK_GROUP)

설명 제약조건 필드 타입 예시
아이디 PK work_group_id bigint 1
이름 unique work_group_name varchar 일반근로제_마케팅팀
타입 work_group_type varchar normal(일반), flextime(시차)
출근기록 제한 work_group_hasRecordRestriction boolean true
출근기록 제한 방법 work_group_record_restriction_method char “GPS”, “WIFI”, “QR”
활성화 여부
(이 근무그룹을 사용할지 말지) work_group_isActivated boolean true
근무요일타입 아이디 FK work_day_type_id bigint

시간범위(TIME_RANGE)

설명 제약조건 필드 타입 예시
아이디 PK time_range_id bigint 1
시간 종류 time_range_type char "근무”, “휴식”, “의무”,
”승인”
시작 시간 time_range_start time 09:00:00
종료 시간 time_range_end time 18:00:00
근무그룹 아이디 FK work_group_id bigint 1

휴일(HOLIDAY)

설명 제약조건 필드 타입 예시
아이디 PK holiday_id bigint 1
휴일 날짜 holiday_date date 2023-07-10
휴일 명 holiday_name varchar 창립기념일
급여 구분 holiday_pay_type char(6) paid, unpaid

출퇴근기록(TIME_RECORD)

설명 제약조건 필드 타입 예시
아이디 PK time_record_id bigint 1
출근 날짜 time_record_date date 2023-07-10
실제 출근 시간 time_record_start time 09:00:00
실제 퇴근 시간 time_record_end time 18:00:00
소정 근무 시간 time_record_valid int 8
근무상태 user_work_state varchar 정상처리, 미처리,
근태이상
사용자 고유번호 FK user_id bigint 1

근무요일타입(WORK_DAY_TYPE)

설명 제약조건 필드 타입 예시
아이디 PK work_day_type_id bigint 1
월요일 work_day_type_mon varchar “근무”
화요일 work_day_type_tue varchar "유급”
수요일 work_day_type_wed varchar "무급”
목요일 work_day_type_thu varchar “근무”
금요일 work_day_type_fri varchar "유급”
토요일 work_day_type_sat varchar "무급”
일요일 work_day_type_sun varchar “근무”

회원 - 근무 그룹 기록(USER_GROUP_RECORD)

설명 제약조건 필드 타입 예시
회원, 근무 그룹 기록
아이디 PK user_group_record_id bigint 1
날짜 user_group_record_
time date
사용자 고유번호 FK user_id bigint 1
근무 그룹 고유번호 FK work_group_id bigint 1

정산(SETTLEMENT)

설명 제약조건 필드 타입 예시
아이디 PK 정산_id bigint 1
날짜 date 2023-07-10
소정 근로 시간
(인정받는 일한 시간)
초과 근무 시간
회원 아이디 FK user_id bigint 1
근무 요일 타입 FK work_day_type_id bigint 1

[테이블 수정 목록]

  1. 회원목록-근무그룹 중간 테이블(과거기록 확인) 필요(다대다 관계)