-- 컨텐츠 등록
CREATE TABLE `edu`.`contents` (
	`content_id`      VARCHAR(20)  NOT NULL COMMENT '콘텐츠ID', -- 콘텐츠ID
	`category_code`   VARCHAR(20)  NULL     COMMENT '카테고리', -- 카테고리
	`category_group`  VARCHAR(20)  NULL     COMMENT '케테고리구분', -- 케테고리구분
	`title`           VARCHAR(200) NULL     COMMENT '콘텐츠명', -- 콘텐츠명
	`description`     TEXT         NULL     COMMENT '콘텐츠설명', -- 콘텐츠설명
	`description2`    TEXT         NULL     COMMENT '콘텐츠설명2', -- 콘텐츠설명2
	`content_url`     VARCHAR(200) NULL     COMMENT '콘텐츠url', -- 콘텐츠url
	`thumbnail_url`   VARCHAR(200) NULL     COMMENT '썸네일url', -- 썸네일url
	`base_year`       CHAR(4)      NULL     COMMENT '기준년도', -- 기준년도
	`start_date`      DATE         NULL     COMMENT '기준일자', -- 기준일자
	`end_date`        DATE         NULL     COMMENT '종료일자', -- 종료일자
	`sort_order`      INTEGER      NULL     COMMENT '정렬순번', -- 정렬순번
	`goal_code`       VARCHAR(20)  NULL     COMMENT '학습목표코드', -- 학습목표코드
	`image_name`      VARCHAR(200) NULL     COMMENT '대표이미지명', -- 대표이미지명
	`image_path`      VARCHAR(200) NULL     COMMENT '이미지경로', -- 이미지경로
	`is_offer`        CHAR(1)      NULL     COMMENT '추천콘텐츠적용여부', -- 추천콘텐츠적용여부
	`offer_id`        VARCHAR(20)  NULL     COMMENT '제안ID', -- 제안ID
	`issue_type_code` VARCHAR(20)  NULL     COMMENT '인사이트이슈구분', -- 인사이트이슈구분
	`is_active`       CHAR(1)      NULL     COMMENT '사용여부', -- 사용여부
	`created_by`      VARCHAR(20)  NULL     COMMENT '등록자', -- 등록자
	`created_at`      TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_by`      VARCHAR(20)  NULL     COMMENT '수정자', -- 수정자
	`updated_at`      TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '컨텐츠 등록';

-- 컨텐츠 등록
ALTER TABLE `edu`.`contents`
	ADD CONSTRAINT `PK_contents` -- 컨텐츠 등록 기본키
		PRIMARY KEY (
			`content_id` -- 콘텐츠ID
		);

-- 마이클래스 학습목표 등록
CREATE TABLE `edu`.`learning_goals` (
	`goal_code`  VARCHAR(20)  NOT NULL COMMENT '학습목표 코드', -- 학습목표 코드
	`title`      VARCHAR(200) NULL     COMMENT '학습목표제목', -- 학습목표제목
	`base_year`  CHAR(4)      NULL     COMMENT '기준년도', -- 기준년도
	`end_date`   DATE         NULL     COMMENT '종료일', -- 종료일
	`is_active`  CHAR(1)      NULL     COMMENT '사용여부', -- 사용여부
	`sort_order` INTEGER      NULL     COMMENT '정렬순번', -- 정렬순번
	`remarks`    VARCHAR(200) NULL     COMMENT '비고', -- 비고
	`created_by` VARCHAR(20)  NULL     COMMENT '등록자', -- 등록자
	`created_at` TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_by` VARCHAR(20)  NULL     COMMENT '수정자', -- 수정자
	`updated_at` TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '마이클래스 학습목표 등록';

-- 마이클래스 학습목표 등록
ALTER TABLE `edu`.`learning_goals`
	ADD CONSTRAINT `PK_learning_goals` -- 마이클래스 학습목표 등록 기본키
		PRIMARY KEY (
			`goal_code` -- 학습목표 코드
		);

-- 코드상세
CREATE TABLE `edu`.`codes` (
	`group_code` VARCHAR(10)  NOT NULL COMMENT '메인코드', -- 메인코드
	`code`       VARCHAR(10)  NOT NULL COMMENT '서브코드', -- 서브코드
	`base_code`  VARCHAR(20)  NOT NULL COMMENT '기준코드', -- 기준코드
	`code_name`  VARCHAR(250) NULL     COMMENT '코드명', -- 코드명
	`is_active`  CHAR(1)      NULL     COMMENT '사용구분', -- 사용구분
	`desc01`     VARCHAR(250) NULL     COMMENT '설명1', -- 설명1
	`desc02`     VARCHAR(250) NULL     COMMENT '설명2', -- 설명2
	`desc03`     VARCHAR(250) NULL     COMMENT '설명3', -- 설명3
	`desc04`     VARCHAR(250) NULL     COMMENT '설명4', -- 설명4
	`desc05`     VARCHAR(250) NULL     COMMENT '설명5', -- 설명5
	`created_by` VARCHAR(20)  NULL     COMMENT '등록자', -- 등록자
	`created_at` TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_by` VARCHAR(20)  NULL     COMMENT '수정자', -- 수정자
	`updated_at` TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '코드상세';

-- 코드상세
ALTER TABLE `edu`.`codes`
	ADD CONSTRAINT `PK_codes` -- 코드상세 기본키
		PRIMARY KEY (
			`group_code`, -- 메인코드
			`code`        -- 서브코드
		);

-- 통합인사정보
CREATE TABLE `edu`.`users` (
	`member_id`     VARCHAR(20)  NOT NULL COMMENT 'id', -- id
	`sys_comp_code` VARCHAR(20)  NOT NULL COMMENT '기준법인', -- 기준법인
	`name`          VARCHAR(100) NULL     COMMENT '성명', -- 성명
	`dept_name`     VARCHAR(100) NULL     COMMENT '부서', -- 부서
	`rank_name`     VARCHAR(100) NULL     COMMENT '직위', -- 직위
	`join_date`     DATE         NULL     COMMENT '입사일', -- 입사일
	`belong_comp`   VARCHAR(100) NULL     COMMENT '소속회사', -- 소속회사
	`working_cpmp`  VARCHAR(100) NULL     COMMENT '근무회사', -- 근무회사
	`intra_pw`      VARCHAR(20)  NULL     COMMENT 'password' -- password
)
COMMENT '통합인사정보';

-- 통합인사정보
ALTER TABLE `edu`.`users`
	ADD CONSTRAINT `PK_users` -- 통합인사정보 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 댓글정보
CREATE TABLE `edu`.`comments` (
	`id`            VARCHAR(12)  NOT NULL COMMENT '댓글ID', -- 댓글ID
	`parent_id`     VARCHAR(12)  NULL     COMMENT '상위댓글ID', -- 상위댓글ID
	`sys_comp_code` VARCHAR(20)  NULL     COMMENT '기준법인', -- 기준법인
	`member_id`     VARCHAR(20)  NOT NULL COMMENT 'id', -- id
	`comment`       VARCHAR(255) NULL     COMMENT '내용', -- 내용
	`content_id`    INTEGER      NULL     COMMENT '콘텐츠ID', -- 콘텐츠ID
	`created_by`    VARCHAR(20)  NULL     COMMENT '등록자', -- 등록자
	`created_at`    TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_by`    VARCHAR(20)  NULL     COMMENT '수정자', -- 수정자
	`updated_at`    TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '댓글정보';

-- 댓글정보
ALTER TABLE `edu`.`comments`
	ADD CONSTRAINT `PK_comments` -- 댓글정보 기본키
		PRIMARY KEY (
			`id` -- 댓글ID
		);

-- 학습이력
CREATE TABLE `edu`.`learning_histories` (
	`member_id`       VARCHAR(20)  NOT NULL COMMENT 'id', -- id
	`sys_comp_code`   VARCHAR(20)  NOT NULL COMMENT '기준법인', -- 기준법인
	`content_id`      VARCHAR(20)  NOT NULL COMMENT '콘텐츠ID', -- 콘텐츠ID
	`first_viewed_at` DATETIME     NULL     COMMENT '최초시청일시', -- 최초시청일시
	`last_viewed_at`  DATETIME     NULL     COMMENT '최종시청일시', -- 최종시청일시
	`watch_tm`        DECIMAL(18)  NULL     COMMENT '영상시작길이', -- 영상시작길이
	`content_tm`      DECIMAL(18)  NULL     COMMENT '영상길이', -- 영상길이
	`all_tm`          DECIMAL(18)  NULL     COMMENT '누적시청시간', -- 누적시청시간
	`completed_at`    DATETIME     NULL     COMMENT '학습완료일시', -- 학습완료일시
	`comment`         VARCHAR(200) NULL     COMMENT '한줄소감', -- 한줄소감
	`is_watching`     CHAR(1)      NULL     COMMENT '시청중컨텐츠여부' -- 시청중컨텐츠여부
)
COMMENT '학습이력';

-- 학습이력
ALTER TABLE `edu`.`learning_histories`
	ADD CONSTRAINT `PK_learning_histories` -- 학습이력 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`content_id`     -- 콘텐츠ID
		);

-- 컨텐츠저장
CREATE TABLE `edu`.`content_wishlist` (
	`member_id`     VARCHAR(20) NOT NULL COMMENT 'id', -- id
	`sys_comp_code` VARCHAR(20) NOT NULL COMMENT '기준법인', -- 기준법인
	`content_id`    INTEGER     NOT NULL COMMENT '콘텐츠ID', -- 콘텐츠ID
	`favorited_at`  DATETIME    NULL     COMMENT '찜한일시', -- 찜한일시
	`is_active`     CHAR(1)     NULL     COMMENT '사용여부', -- 사용여부
	`created_by`    VARCHAR(20) NULL     COMMENT '등록자', -- 등록자
	`created_at`    TIMESTAMP   NULL     COMMENT '등록일', -- 등록일
	`updated_by`    VARCHAR(20) NULL     COMMENT '수정자', -- 수정자
	`updated_at`    TIMESTAMP   NULL     COMMENT '수정일' -- 수정일
)
COMMENT '컨텐츠저장';

-- 컨텐츠저장
ALTER TABLE `edu`.`content_wishlist`
	ADD CONSTRAINT `PK_content_wishlist` -- 컨텐츠저장 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`content_id`     -- 콘텐츠ID
		);

-- 사용자 키워드
CREATE TABLE `edu`.`user_keywords` (
	`member_id`     VARCHAR(20)  NOT NULL COMMENT 'id', -- id
	`sys_comp_code` VARCHAR(20)  NOT NULL COMMENT '기준법인', -- 기준법인
	`keyword_code`  VARCHAR(20)  NOT NULL COMMENT '키워드코드', -- 키워드코드
	`keyword_name`  VARCHAR(100) NULL     COMMENT '키워드명', -- 키워드명
	`created_at`    TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_at`    TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '사용자 키워드';

-- 사용자 키워드
ALTER TABLE `edu`.`user_keywords`
	ADD CONSTRAINT `PK_user_keywords` -- 사용자 키워드 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`keyword_code`   -- 키워드코드
		);

-- 컨텐츠제안하기
CREATE TABLE `edu`.`content_offer` (
	`offer_id`      VARCHAR(20)  NOT NULL COMMENT '제안ID', -- 제안ID
	`type_code`     VARCHAR(20)  NULL     COMMENT '제안구분', -- 제안구분
	`title`         VARCHAR(200) NULL     COMMENT '제목', -- 제목
	`reference_url` VARCHAR(255) NULL     COMMENT 'URL', -- URL
	`reason`        TEXT         NULL     COMMENT '추천이유', -- 추천이유
	`status_code`   VARCHAR(20)  NULL     COMMENT '제안상태', -- 제안상태
	`created_at`    TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_at`    TIMESTAMP    NULL     COMMENT '수정일', -- 수정일
	`member_id`     VARCHAR(20)  NULL     COMMENT 'id', -- id
	`sys_comp_code` VARCHAR(20)  NULL     COMMENT '기준법인' -- 기준법인
)
COMMENT '컨텐츠제안하기';

-- 컨텐츠제안하기
ALTER TABLE `edu`.`content_offer`
	ADD CONSTRAINT `PK_content_offer` -- 컨텐츠제안하기 기본키
		PRIMARY KEY (
			`offer_id` -- 제안ID
		);

-- 년도별학습레벨
CREATE TABLE `edu`.`yearly_learning_stats` (
	`member_id`      VARCHAR(20) NOT NULL COMMENT 'id', -- id
	`sys_comp_code`  VARCHAR(20) NOT NULL COMMENT '기준법인', -- 기준법인
	`stats_year`     CHAR(4)     NOT NULL COMMENT '년도', -- 년도
	`learning_level` VARCHAR(20) NULL     COMMENT '학습레벨', -- 학습레벨
	`total_minutes`  DECIMAL(18) NULL     COMMENT '총학습시간(분)', -- 총학습시간(분)
	`created_at`     TIMESTAMP   NULL     COMMENT '등록일', -- 등록일
	`updated_at`     TIMESTAMP   NULL     COMMENT '수정일' -- 수정일
)
COMMENT '년도별학습레벨';

-- 년도별학습레벨
ALTER TABLE `edu`.`yearly_learning_stats`
	ADD CONSTRAINT `PK_yearly_learning_stats` -- 년도별학습레벨 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`stats_year`     -- 년도
		);

-- 컨텐츠 키워드
CREATE TABLE `edu`.`content_keywords` (
	`content_id`   VARCHAR(20) NOT NULL COMMENT '콘텐츠ID', -- 콘텐츠ID
	`keyword_code` VARCHAR(20) NOT NULL COMMENT '키워드코드', -- 키워드코드
	`is_active`    CHAR(1)     NULL     COMMENT '사용여부', -- 사용여부
	`created_by`   VARCHAR(20) NULL     COMMENT '등록자', -- 등록자
	`created_at`   TIMESTAMP   NULL     COMMENT '등록일', -- 등록일
	`updated_by`   VARCHAR(20) NULL     COMMENT '수정자', -- 수정자
	`updated_at`   TIMESTAMP   NULL     COMMENT '수정일' -- 수정일
)
COMMENT '컨텐츠 키워드';

-- 컨텐츠 키워드
ALTER TABLE `edu`.`content_keywords`
	ADD CONSTRAINT `PK_content_keywords` -- 컨텐츠 키워드 기본키
		PRIMARY KEY (
			`content_id`,   -- 콘텐츠ID
			`keyword_code`  -- 키워드코드
		);

-- 접속이력
CREATE TABLE `edu`.`access_history` (
	`accessed_at`   TIMESTAMP   NOT NULL COMMENT '접속일시', -- 접속일시
	`member_id`     VARCHAR(20) NOT NULL COMMENT '사번', -- 사번
	`sys_comp_code` VARCHAR(20) NULL     COMMENT '기준법인', -- 기준법인
	`ip_address`    VARCHAR(20) NULL     COMMENT '접속IP' -- 접속IP
)
COMMENT '접속이력';

-- 접속이력
ALTER TABLE `edu`.`access_history`
	ADD CONSTRAINT `PK_access_history` -- 접속이력 기본키
		PRIMARY KEY (
			`accessed_at` -- 접속일시
		);

-- 코드마스터
CREATE TABLE `edu`.`code_group` (
	`group_code` VARCHAR(10)  NOT NULL COMMENT '메인코드', -- 메인코드
	`group_name` VARCHAR(250) NULL     COMMENT '코드명', -- 코드명
	`is_active`  CHAR(1)      NULL     COMMENT '사용구분', -- 사용구분
	`sort_order` INTEGER      NULL     COMMENT '정렬구분', -- 정렬구분
	`comment`    VARCHAR(250) NULL     COMMENT '코멘트', -- 코멘트
	`desc01`     VARCHAR(250) NULL     COMMENT '설명1', -- 설명1
	`desc02`     VARCHAR(250) NULL     COMMENT '설명2', -- 설명2
	`desc03`     VARCHAR(250) NULL     COMMENT '설명3', -- 설명3
	`desc04`     VARCHAR(250) NULL     COMMENT '설명4', -- 설명4
	`desc05`     VARCHAR(250) NULL     COMMENT '설명5', -- 설명5
	`created_by` VARCHAR(20)  NULL     COMMENT '등록자', -- 등록자
	`created_at` TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_by` VARCHAR(20)  NULL     COMMENT '수정자', -- 수정자
	`updated_at` TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '코드마스터';

-- 코드마스터
ALTER TABLE `edu`.`code_group`
	ADD CONSTRAINT `PK_code_group` -- 코드마스터 기본키
		PRIMARY KEY (
			`group_code` -- 메인코드
		);

-- 첨부파일
CREATE TABLE `edu`.`files` (
	`content_id` VARCHAR(20)  NOT NULL COMMENT '콘텐츠ID', -- 콘텐츠ID
	`id`         INTEGER      NOT NULL COMMENT '파일ID', -- 파일ID
	`file_name`  VARCHAR(200) NULL     COMMENT '파일명', -- 파일명
	`file_type`  VARCHAR(20)  NULL     COMMENT '파일구분', -- 파일구분
	`file_path`  VARCHAR(200) NULL     COMMENT '저장위치', -- 저장위치
	`created_by` VARCHAR(20)  NULL     COMMENT '등록자', -- 등록자
	`created_at` TIMESTAMP    NULL     COMMENT '등록일', -- 등록일
	`updated_by` VARCHAR(20)  NULL     COMMENT '수정자', -- 수정자
	`updated_at` TIMESTAMP    NULL     COMMENT '수정일' -- 수정일
)
COMMENT '첨부파일';

-- 첨부파일
ALTER TABLE `edu`.`files`
	ADD CONSTRAINT `PK_files` -- 첨부파일 기본키
		PRIMARY KEY (
			`content_id`, -- 콘텐츠ID
			`id`          -- 파일ID
		);

-- 선택학습목표
CREATE TABLE `edu`.`user_learning_goals` (
	`member_id`      VARCHAR(20) NOT NULL COMMENT 'id', -- id
	`sys_comp_code`  VARCHAR(20) NOT NULL COMMENT '기준법인', -- 기준법인
	`goal_code`      VARCHAR(20) NOT NULL COMMENT '학습목표 코드', -- 학습목표 코드
	`quarter`        VARCHAR(20) NULL     COMMENT '분기', -- 분기
	`completed_date` DATE        NULL     COMMENT '학습완료일', -- 학습완료일
	`is_active`      CHAR(1)     NULL     COMMENT '사용여부', -- 사용여부
	`created_by`     VARCHAR(20) NULL     COMMENT '등록자', -- 등록자
	`created_at`     TIMESTAMP   NULL     COMMENT '등록일', -- 등록일
	`updated_by`     VARCHAR(20) NULL     COMMENT '수정자', -- 수정자
	`updated_at`     TIMESTAMP   NULL     COMMENT '수정일' -- 수정일
)
COMMENT '선택학습목표';

-- 선택학습목표
ALTER TABLE `edu`.`user_learning_goals`
	ADD CONSTRAINT `PK_user_learning_goals` -- 선택학습목표 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`goal_code`      -- 학습목표 코드
		);

-- 법인별키워드
CREATE TABLE `edu`.`recommend_keywords` (
	`sys_comp_code` VARCHAR(20) NOT NULL COMMENT '기준법인', -- 기준법인
	`keyword_code`  VARCHAR(20) NOT NULL COMMENT '키워드코드', -- 키워드코드
	`is_active`     CHAR(1)     NULL     COMMENT '사용여부', -- 사용여부
	`created_by`    VARCHAR(20) NULL     COMMENT '등록자', -- 등록자
	`created_at`    TIMESTAMP   NULL     COMMENT '등록일', -- 등록일
	`updated_by`    VARCHAR(20) NULL     COMMENT '수정자', -- 수정자
	`updated_at`    TIMESTAMP   NULL     COMMENT '수정일' -- 수정일
)
COMMENT '법인별키워드';

-- 법인별키워드
ALTER TABLE `edu`.`recommend_keywords`
	ADD CONSTRAINT `PK_recommend_keywords` -- 법인별키워드 기본키
		PRIMARY KEY (
			`sys_comp_code`, -- 기준법인
			`keyword_code`   -- 키워드코드
		);

-- 뱃지정보
CREATE TABLE `edu`.`user_badges` (
	`member_id`     VARCHAR(20) NOT NULL COMMENT 'id', -- id
	`sys_comp_code` VARCHAR(20) NOT NULL COMMENT '기준법인', -- 기준법인
	`seq`           INTEGER     NOT NULL COMMENT '순번', -- 순번
	`badge_code`    VARCHAR(20) NULL     COMMENT '뱃지코드', -- 뱃지코드
	`issued_at`     DATETIME    NULL     COMMENT '지급일자' -- 지급일자
)
COMMENT '뱃지정보';

-- 뱃지정보
ALTER TABLE `edu`.`user_badges`
	ADD CONSTRAINT `PK_user_badges` -- 뱃지정보 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`seq`            -- 순번
		);

-- 검색어이력
CREATE TABLE `edu`.`search_logs` (
	`member_id`     VARCHAR(20) NOT NULL COMMENT 'id', -- id
	`sys_comp_code` VARCHAR(20) NOT NULL COMMENT '기준법인', -- 기준법인
	`seq`           INTEGER     NOT NULL COMMENT '순번', -- 순번
	`keyword`       VARCHAR(50) NULL     COMMENT '검색어', -- 검색어
	`searched_at`   DATETIME    NULL     COMMENT '등록일' -- 등록일
)
COMMENT '검색어이력';

-- 검색어이력
ALTER TABLE `edu`.`search_logs`
	ADD CONSTRAINT `PK_search_logs` -- 검색어이력 기본키
		PRIMARY KEY (
			`member_id`,     -- id
			`sys_comp_code`, -- 기준법인
			`seq`            -- 순번
		);

-- 알람이력
CREATE TABLE `edu`.`notifications` (
	`member_id` VARCHAR(20)  NOT NULL COMMENT 'id', -- id
	`corp_code` VARCHAR(20)  NOT NULL COMMENT '기준법인', -- 기준법인
	`seq`       INTEGER      NOT NULL COMMENT '순번', -- 순번
	`type_code` VARCHAR(20)  NULL     COMMENT '알람코드', -- 알람코드
	`message`   VARCHAR(255) NULL     COMMENT '알람내용', -- 알람내용
	`sent_at`   DATETIME     NULL     COMMENT '알람일시' -- 알람일시
)
COMMENT '알람이력';

-- 알람이력
ALTER TABLE `edu`.`notifications`
	ADD CONSTRAINT `PK_notifications` -- 알람이력 기본키
		PRIMARY KEY (
			`member_id`, -- id
			`corp_code`, -- 기준법인
			`seq`        -- 순번
		);

-- 코드상세
ALTER TABLE `edu`.`codes`
	ADD CONSTRAINT `FK_code_group_TO_codes` -- 코드마스터 -> 코드상세
		FOREIGN KEY (
			`group_code` -- 메인코드
		)
		REFERENCES `edu`.`code_group` ( -- 코드마스터
			`group_code` -- 메인코드
		);

-- 댓글정보
ALTER TABLE `edu`.`comments`
	ADD CONSTRAINT `FK_users_TO_comments` -- 통합인사정보 -> 댓글정보
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 학습이력
ALTER TABLE `edu`.`learning_histories`
	ADD CONSTRAINT `FK_users_TO_learning_histories` -- 통합인사정보 -> 학습이력
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 학습이력
ALTER TABLE `edu`.`learning_histories`
	ADD CONSTRAINT `FK_contents_TO_learning_histories` -- 컨텐츠 등록 -> 학습이력
		FOREIGN KEY (
			`content_id` -- 콘텐츠ID
		)
		REFERENCES `edu`.`contents` ( -- 컨텐츠 등록
			`content_id` -- 콘텐츠ID
		);

-- 컨텐츠저장
ALTER TABLE `edu`.`content_wishlist`
	ADD CONSTRAINT `FK_users_TO_content_wishlist` -- 통합인사정보 -> 컨텐츠저장
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 사용자 키워드
ALTER TABLE `edu`.`user_keywords`
	ADD CONSTRAINT `FK_users_TO_user_keywords` -- 통합인사정보 -> 사용자 키워드
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 컨텐츠제안하기
ALTER TABLE `edu`.`content_offer`
	ADD CONSTRAINT `FK_users_TO_content_offer` -- 통합인사정보 -> 컨텐츠제안하기
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 년도별학습레벨
ALTER TABLE `edu`.`yearly_learning_stats`
	ADD CONSTRAINT `FK_users_TO_yearly_learning_stats` -- 통합인사정보 -> 년도별학습레벨
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 컨텐츠 키워드
ALTER TABLE `edu`.`content_keywords`
	ADD CONSTRAINT `FK_contents_TO_content_keywords` -- 컨텐츠 등록 -> 컨텐츠 키워드
		FOREIGN KEY (
			`content_id` -- 콘텐츠ID
		)
		REFERENCES `edu`.`contents` ( -- 컨텐츠 등록
			`content_id` -- 콘텐츠ID
		);

-- 첨부파일
ALTER TABLE `edu`.`files`
	ADD CONSTRAINT `FK_contents_TO_files` -- 컨텐츠 등록 -> 첨부파일
		FOREIGN KEY (
			`content_id` -- 콘텐츠ID
		)
		REFERENCES `edu`.`contents` ( -- 컨텐츠 등록
			`content_id` -- 콘텐츠ID
		);

-- 선택학습목표
ALTER TABLE `edu`.`user_learning_goals`
	ADD CONSTRAINT `FK_users_TO_user_learning_goals` -- 통합인사정보 -> 선택학습목표
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 선택학습목표
ALTER TABLE `edu`.`user_learning_goals`
	ADD CONSTRAINT `FK_learning_goals_TO_user_learning_goals` -- 마이클래스 학습목표 등록 -> 선택학습목표
		FOREIGN KEY (
			`goal_code` -- 학습목표 코드
		)
		REFERENCES `edu`.`learning_goals` ( -- 마이클래스 학습목표 등록
			`goal_code` -- 학습목표 코드
		);

-- 뱃지정보
ALTER TABLE `edu`.`user_badges`
	ADD CONSTRAINT `FK_users_TO_user_badges` -- 통합인사정보 -> 뱃지정보
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 검색어이력
ALTER TABLE `edu`.`search_logs`
	ADD CONSTRAINT `FK_users_TO_search_logs` -- 통합인사정보 -> 검색어이력
		FOREIGN KEY (
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);

-- 알람이력
ALTER TABLE `edu`.`notifications`
	ADD CONSTRAINT `FK_users_TO_notifications` -- 통합인사정보 -> 알람이력
		FOREIGN KEY (
			`member_id`, -- id
			`corp_code`  -- 기준법인
		)
		REFERENCES `edu`.`users` ( -- 통합인사정보
			`member_id`,     -- id
			`sys_comp_code`  -- 기준법인
		);