STUDIO_MATE DATABASE

DongHo Im·2022년 1월 18일
0

DATABASE

목록 보기
3/3

운동예약 시스템인 스튜디오메이트 DB 설계를 도전해봤다.

  • 작업순서도
    1. 요구사항 분석
    2. 개념적 설계
    3. 논리적 설계
    4. 물리적 설계
    5. 특정 DBMS의 DDL로 데이터베이스 생성

1. 요구 사항 분석

요구사항을 분석하는 단계에서는 데이터베이스의 사용 용도를 파악한다. 데이터베이스를 실제로 사용하는 사용자에게 필요한 데이터의 종류와 처리 방법같은 다양한 요구 사항을 수집하고 분석하여 요구 사항 명세서로 작성하는 것이 주요 작업이다.

요구 사항 분석 단계에서 사용자의 요구 사항은 이후의 설계 단계에서 중요하게 사용되며 데이터베이스의 품질의 중요한 기준이 된다.

👨‍👨‍👧‍👦 회원가입

  1. 회원은 회원가입을 할 수 있다.
  2. 회원은 필수 약관에 동의를 해야한다.
  3. 가입한 회원은 승인을 받아야 사용이 가능하다.

👩 회원

  1. 회원은 본인의 정보를 수정할 수 있다.
  2. 회원은 본인이 가진 시설을 수정할 수 있다.
  3. 회원은 강사를 등록할 수 있다.
  4. 회원은 레슨권을 구매할 수 있다.
  5. 회원은 레슨권 시작일을 수정할 수 있다.
  6. 회원은 레슨권을 중지할 수 있다.
  7. 회원은 레슨을 예약할 수 있다.
  8. 회원은 예약된 레슨을 취소할 수 있다.

👧 강사

  1. 강사는 본인의 담당회원을 확인할 수 있다.
  2. 강사는 본인의 스케줄을 확인할 수 있다.

💒 레슨

  1. 레슨은 날짜별로 등록할 수 있다.
  2. 레슨은 룸 별로 등록할 수 있다.
  3. 등록된 레슨을 수정할 수 있다.
  4. 등록된 레슨을 삭제할 수 있다.

2. 개념적 설계

개념적 설계 단계는 1단계인 요구 사항 분석단계의 요구 사항 명세서를 가지고 사용자의 개념적 데이터 모델을 이용해 표현한다. 개념적 데이터 모델은 개발에 사용하는 DBMS의 종류에 독립적이면서 중요한 데이터 요소들의 관계를 표현할 때 사용된다.

일반적으로 E-R 모델을 개념적 데이터 모델로 많이 사용하는데, 중요한 데이터 요소들의 관계를 E-R 다이어그램으로 표현한다.

개념적 설계는 Draw.io를 사용했다.

3. 논리적 설계

논리적 설계 단계에서는 개발에 사용되는 DBMS에 적합한 논리적 데이터 모델을 이용한다. 개념적 설계 단계에서 생성한 개념적 구조를 기반으로 논리적 구조를 설계한다.

논리적 설계는 EXERD 툴을 사용했다.

4. 물리적 설계

물리적 설계 단계에서는 논리적 설계 단계에서 생성된 논리적 구조를 기반으로 물리적 구조를 설계한다. 데이터베이스의 물리적 구조는 데이터베이스를 저장 장치에 실제로 저장하기 위한 내부 저장 구조와 접근 경로 등을 의미한다. 그러므로 물리적 설계 단계에서는 저장 장치에 적합한 저장 레코드와 인덱스의 구조 등을 설계하고, 저장된 데이터와 인덱스에 빠르게 접근하게 할 수 있는 탐색 기법 등을 정의한다.

물리적 설계는 EXERD 툴을 사용했다.

5. 특정 DBMS의 DDL로 데이터베이스 생성

데이터베이스 구현 단계에서는 이전 설계 단계의 결과물을 기반으로 DBMS에서 SQL로 작성한 명령문을 실행하여 데이터베이스를 실제로 생성한다. 이때 사용되는 SQL 문은 테이블이나 인덱스 등을 생성할 때 사용되는 데이터 정의어(DDL)다.

-- 스케줄
CREATE TABLE "yyk_schdul" (
	"schdul_id"            BIGINT             NOT NULL, -- 스케줄ID
	"year"                 CHAR(4)            NULL,     -- 연도
	"mt"                   CHAR(2)            NULL,     -- 월
	"dd"                   CHAR(2)            NULL,     -- 일
	"dy"                   VARCHAR(4)         NULL,     -- 요일
	"restde_at"            VARCHAR(4)         NULL,     -- 휴일여부
	"sss_at"               VARCHAR(4)         NULL,     -- 휴업여부
	"room_id"              BIGINT             NULL,     -- 방ID
	"lsn_id"               BIGINT             NULL,     -- 수업ID
	"instrctr_id"          BIGINT             NULL,     -- 강사ID
	"begin_time"           TIME               NULL,     -- 시작시간
	"end_time"             TIME               NULL,     -- 종료시간
	"resve_posbl_time"     DATE               NULL,     -- 예약가능시간
	"resve_cng_posbl_time" DATE               NULL,     -- 예약변경가능시간
	"cancl_posbl_time"     DATE               NULL,     -- 취소가능시간
	"resve_nmpr"           <데이터 타입 없음> NULL,     -- 예약인원
	"schdul_sttus"         VARCHAR(4)         NULL,     -- 스케줄상태
	"color"                VARCHAR(4)         NULL,     -- 색상
	"memo"                 VARCHAR(255)       NULL,     -- 메모
	"instrctr_memo"        VARCHAR(255)       NULL,     -- 강사메모
	"mber_memo"            VARCHAR(255)       NULL,     -- 회원메모
	"cnfirm_at"            <데이터 타입 없음> NOT NULL, -- 확인여부
	"del_at"               <데이터 타입 없음> NOT NULL, -- 삭제여부
	"dtrn"                 VARCHAR(255)       NULL,     -- 삭제사유
	"reg_dt"               DATE               NULL,     -- 등록일시
	"updde_hour"           DATE               NULL      -- 수정일시
);

-- 스케줄 기본키
CREATE UNIQUE INDEX "PK_yyk_schdul"
	ON "yyk_schdul" ( -- 스케줄
		"schdul_id" ASC -- 스케줄ID
	);

-- 스케줄
ALTER TABLE "yyk_schdul"
	ADD
		CONSTRAINT "PK_yyk_schdul" -- 스케줄 기본키
		PRIMARY KEY (
			"schdul_id" -- 스케줄ID
		);

-- 스케줄
COMMENT ON TABLE "yyk_schdul" IS '스케줄';

-- 스케줄ID
COMMENT ON COLUMN "yyk_schdul"."schdul_id" IS '스케줄ID';

-- 연도
COMMENT ON COLUMN "yyk_schdul"."year" IS '연도';

-- 월
COMMENT ON COLUMN "yyk_schdul"."mt" IS '월';

-- 일
COMMENT ON COLUMN "yyk_schdul"."dd" IS '일';

-- 요일
COMMENT ON COLUMN "yyk_schdul"."dy" IS '요일';

-- 휴일여부
COMMENT ON COLUMN "yyk_schdul"."restde_at" IS '휴일여부';

-- 휴업여부
COMMENT ON COLUMN "yyk_schdul"."sss_at" IS '휴업여부';

-- 방ID
COMMENT ON COLUMN "yyk_schdul"."room_id" IS '방ID';

-- 수업ID
COMMENT ON COLUMN "yyk_schdul"."lsn_id" IS '수업ID';

-- 강사ID
COMMENT ON COLUMN "yyk_schdul"."instrctr_id" IS '강사ID';

-- 시작시간
COMMENT ON COLUMN "yyk_schdul"."begin_time" IS '시작시간';

-- 종료시간
COMMENT ON COLUMN "yyk_schdul"."end_time" IS '종료시간';

-- 예약가능시간
COMMENT ON COLUMN "yyk_schdul"."resve_posbl_time" IS '예약가능시간';

-- 예약변경가능시간
COMMENT ON COLUMN "yyk_schdul"."resve_cng_posbl_time" IS '예약변경가능시간';

-- 취소가능시간
COMMENT ON COLUMN "yyk_schdul"."cancl_posbl_time" IS '취소가능시간';

-- 예약인원
COMMENT ON COLUMN "yyk_schdul"."resve_nmpr" IS '동기화';

-- 스케줄상태
COMMENT ON COLUMN "yyk_schdul"."schdul_sttus" IS '스케줄상태';

-- 색상
COMMENT ON COLUMN "yyk_schdul"."color" IS '색상';

-- 메모
COMMENT ON COLUMN "yyk_schdul"."memo" IS '메모';

-- 강사메모
COMMENT ON COLUMN "yyk_schdul"."instrctr_memo" IS '강사메모';

-- 회원메모
COMMENT ON COLUMN "yyk_schdul"."mber_memo" IS '회원메모';

-- 확인여부
COMMENT ON COLUMN "yyk_schdul"."cnfirm_at" IS '확인여부';

-- 삭제여부
COMMENT ON COLUMN "yyk_schdul"."del_at" IS '삭제여부';

-- 삭제사유
COMMENT ON COLUMN "yyk_schdul"."dtrn" IS '삭제사유';

-- 등록일시
COMMENT ON COLUMN "yyk_schdul"."reg_dt" IS '등록일시';

-- 수정일시
COMMENT ON COLUMN "yyk_schdul"."updde_hour" IS '수정일시';

-- 스케줄 기본키
COMMENT ON INDEX "PK_yyk_schdul" IS '스케줄 기본키';

-- 스케줄 기본키
COMMENT ON CONSTRAINT "yyk_schdul"."PK_yyk_schdul" IS '스케줄 기본키';

-- 강사
CREATE TABLE "yyk_instrctr" (
	"instrctr_id"    BIGINT             NOT NULL, -- 강사ID
	"del_at"         <데이터 타입 없음> NOT NULL, -- 삭제여부
	"instrctr_nm"    VARCHAR(50)        NULL,     -- 강사명
	"instrctr_realm" VARCHAR(4)         NULL,     -- 강사분야
	"instrctr_grd"   <데이터 타입 없음> NULL,     -- 강사등급
	"instrctr_sttus" VARCHAR(4)         NOT NULL, -- 강사상태
	"mgntc_intrcn"   TEXT               NULL,     -- 자기소개
	"sexdstn"        VARCHAR(4)         NULL,     -- 성별
	"thumb"          VARCHAR(500)       NULL,     -- 썸네일
	"color"          VARCHAR(4)         NULL,     -- 색상
	"email"          VARCHAR(40)        NULL,     -- 이메일
	"mp_no"          VARCHAR(30)        NULL,     -- 휴대폰번호
	"cttpc"          VARCHAR(30)        NULL,     -- 연락처
	"zip"            VARCHAR(7)         NULL,     -- 우편번호
	"adres"          VARCHAR(255)       NULL,     -- 주소
	"dtl_adres"      VARCHAR(255)       NULL,     -- 상세주소
	"memo"           VARCHAR(255)       NULL,     -- 메모
	"reg_dt"         DATE               NULL      -- 등록일시
);

-- 강사 기본키
CREATE UNIQUE INDEX "PK_yyk_instrctr"
	ON "yyk_instrctr" ( -- 강사
		"instrctr_id" ASC -- 강사ID
	);

-- 강사
ALTER TABLE "yyk_instrctr"
	ADD
		CONSTRAINT "PK_yyk_instrctr" -- 강사 기본키
		PRIMARY KEY (
			"instrctr_id" -- 강사ID
		);

-- 강사
COMMENT ON TABLE "yyk_instrctr" IS '강사';

-- 강사ID
COMMENT ON COLUMN "yyk_instrctr"."instrctr_id" IS '강사ID';

-- 삭제여부
COMMENT ON COLUMN "yyk_instrctr"."del_at" IS '삭제여부';

-- 강사명
COMMENT ON COLUMN "yyk_instrctr"."instrctr_nm" IS '강사명';

-- 강사분야
COMMENT ON COLUMN "yyk_instrctr"."instrctr_realm" IS '강사분야';

-- 강사등급
COMMENT ON COLUMN "yyk_instrctr"."instrctr_grd" IS '강사등급';

-- 강사상태
COMMENT ON COLUMN "yyk_instrctr"."instrctr_sttus" IS '강사상태';

-- 자기소개
COMMENT ON COLUMN "yyk_instrctr"."mgntc_intrcn" IS '자기소개';

-- 성별
COMMENT ON COLUMN "yyk_instrctr"."sexdstn" IS '성별';

-- 썸네일
COMMENT ON COLUMN "yyk_instrctr"."thumb" IS '썸네일';

-- 색상
COMMENT ON COLUMN "yyk_instrctr"."color" IS '색상';

-- 이메일
COMMENT ON COLUMN "yyk_instrctr"."email" IS '이메일';

-- 휴대폰번호
COMMENT ON COLUMN "yyk_instrctr"."mp_no" IS '휴대폰번호';

-- 연락처
COMMENT ON COLUMN "yyk_instrctr"."cttpc" IS '연락처';

-- 우편번호
COMMENT ON COLUMN "yyk_instrctr"."zip" IS '우편번호';

-- 주소
COMMENT ON COLUMN "yyk_instrctr"."adres" IS '주소';

-- 상세주소
COMMENT ON COLUMN "yyk_instrctr"."dtl_adres" IS '상세주소';

-- 메모
COMMENT ON COLUMN "yyk_instrctr"."memo" IS '메모';

-- 등록일시
COMMENT ON COLUMN "yyk_instrctr"."reg_dt" IS '등록일시';

-- 강사 기본키
COMMENT ON INDEX "PK_yyk_instrctr" IS '강사 기본키';

-- 강사 기본키
COMMENT ON CONSTRAINT "yyk_instrctr"."PK_yyk_instrctr" IS '강사 기본키';

-- 수업
CREATE TABLE "yyk_lsn" (
	"lsn_id"          BIGINT             NOT NULL, -- 수업ID
	"lsn_se"          VARCHAR(4)         NULL,     -- 수업구분
	"lsn_knd"         VARCHAR(4)         NULL,     -- 수업종류
	"lsn_nm"          VARCHAR(50)        NULL,     -- 수업명
	"tutfee"          INTEGER            NULL,     -- 수업료
	"instrctr_id"     BIGINT             NULL,     -- 강사ID
	"lsn_dc"          TEXT               NULL,     -- 수업설명
	"lsn_cn"          TEXT               NULL,     -- 수업내용
	"lsn_time"        INT                NULL,     -- 수업시간
	"lsn_bgnde"       DATE               NULL,     -- 수업시작일
	"lsn_endde"       DATE               NULL,     -- 수업종료일
	"mumm_atnlc_nmpr" <데이터 타입 없음> NULL,     -- 최소수강인원
	"mxmm_atnlc_nmpr" <데이터 타입 없음> NULL,     -- 최대수강인원
	"memo"            VARCHAR(255)       NULL,     -- 메모
	"unifrm"          TEXT               NULL,     -- 복장
	"prmtr"           TEXT               NULL,     -- 준비물
	"atpn"            TEXT               NULL,     -- 주의사항
	"rstrct_mtr"      TEXT               NULL      -- 제약사항
);

-- 수업 기본키
CREATE UNIQUE INDEX "PK_yyk_lsn"
	ON "yyk_lsn" ( -- 수업
		"lsn_id" ASC -- 수업ID
	);

-- 수업
ALTER TABLE "yyk_lsn"
	ADD
		CONSTRAINT "PK_yyk_lsn" -- 수업 기본키
		PRIMARY KEY (
			"lsn_id" -- 수업ID
		);

-- 수업
COMMENT ON TABLE "yyk_lsn" IS '수업';

-- 수업ID
COMMENT ON COLUMN "yyk_lsn"."lsn_id" IS '수업ID';

-- 수업구분
COMMENT ON COLUMN "yyk_lsn"."lsn_se" IS '수업구분';

-- 수업종류
COMMENT ON COLUMN "yyk_lsn"."lsn_knd" IS '수업종류';

-- 수업명
COMMENT ON COLUMN "yyk_lsn"."lsn_nm" IS '수업명';

-- 수업료
COMMENT ON COLUMN "yyk_lsn"."tutfee" IS '수업료';

-- 강사ID
COMMENT ON COLUMN "yyk_lsn"."instrctr_id" IS '강사ID';

-- 수업설명
COMMENT ON COLUMN "yyk_lsn"."lsn_dc" IS '수업설명';

-- 수업내용
COMMENT ON COLUMN "yyk_lsn"."lsn_cn" IS '수업내용';

-- 수업시간
COMMENT ON COLUMN "yyk_lsn"."lsn_time" IS '수업시간';

-- 수업시작일
COMMENT ON COLUMN "yyk_lsn"."lsn_bgnde" IS '수업시작일';

-- 수업종료일
COMMENT ON COLUMN "yyk_lsn"."lsn_endde" IS '수업종료일';

-- 최소수강인원
COMMENT ON COLUMN "yyk_lsn"."mumm_atnlc_nmpr" IS '최소수강인원';

-- 최대수강인원
COMMENT ON COLUMN "yyk_lsn"."mxmm_atnlc_nmpr" IS '최대수강인원';

-- 메모
COMMENT ON COLUMN "yyk_lsn"."memo" IS '메모';

-- 복장
COMMENT ON COLUMN "yyk_lsn"."unifrm" IS '복장';

-- 준비물
COMMENT ON COLUMN "yyk_lsn"."prmtr" IS '준비물';

-- 주의사항
COMMENT ON COLUMN "yyk_lsn"."atpn" IS '주의사항';

-- 제약사항
COMMENT ON COLUMN "yyk_lsn"."rstrct_mtr" IS '제약사항';

-- 수업 기본키
COMMENT ON INDEX "PK_yyk_lsn" IS '수업 기본키';

-- 수업 기본키
COMMENT ON CONSTRAINT "yyk_lsn"."PK_yyk_lsn" IS '수업 기본키';

-- 알림
CREATE TABLE "yyk_ntcn" (
	"ntcn_id"   BIGINT             NOT NULL, -- 알림ID
	"ntcn_knd"  VARCHAR(4)         NULL,     -- 알림종류
	"ntcn_cn"   <데이터 타입 없음> NULL,     -- 알림내용
	"cnfirm_at" <데이터 타입 없음> NULL,     -- 확인여부
	"mber_id"   BIGINT             NULL      -- 회원ID
);

-- 알림 기본키
CREATE UNIQUE INDEX "PK_yyk_ntcn"
	ON "yyk_ntcn" ( -- 알림
		"ntcn_id" ASC -- 알림ID
	);

-- 알림
ALTER TABLE "yyk_ntcn"
	ADD
		CONSTRAINT "PK_yyk_ntcn" -- 알림 기본키
		PRIMARY KEY (
			"ntcn_id" -- 알림ID
		);

-- 알림
COMMENT ON TABLE "yyk_ntcn" IS '알림';

-- 알림ID
COMMENT ON COLUMN "yyk_ntcn"."ntcn_id" IS '알림ID';

-- 알림종류
COMMENT ON COLUMN "yyk_ntcn"."ntcn_knd" IS '알림종류';

-- 알림내용
COMMENT ON COLUMN "yyk_ntcn"."ntcn_cn" IS '알림내용';

-- 확인여부
COMMENT ON COLUMN "yyk_ntcn"."cnfirm_at" IS '확인여부';

-- 회원ID
COMMENT ON COLUMN "yyk_ntcn"."mber_id" IS '회원ID';

-- 알림 기본키
COMMENT ON INDEX "PK_yyk_ntcn" IS '알림 기본키';

-- 알림 기본키
COMMENT ON CONSTRAINT "yyk_ntcn"."PK_yyk_ntcn" IS '알림 기본키';

-- 수강권
CREATE TABLE "yyk_atnlccd" (
	"atnlccd_id"    BIGINT       NOT NULL, -- 수강권ID
	"atnlccd_nm"    VARCHAR(50)  NULL,     -- 수강권이름
	"lsn_se"        VARCHAR(4)   NULL,     -- 수업구분
	"lsn_knd"       VARCHAR(4)   NULL,     -- 수업종류
	"atnlccd_se"    VARCHAR(4)   NULL,     -- 수강권구분
	"atnlccd_knd"   VARCHAR(4)   NULL,     -- 수강권종류
	"atnlccd_sttus" VARCHAR(4)   NULL,     -- 수강권상태
	"atnlccd_dc"    VARCHAR(255) NULL,     -- 수강권설명
	"color"         VARCHAR(4)   NULL,     -- 색상
	"usgpd"         INT          NULL,     -- 사용기간
	"wik_use_co"    INT          NULL,     -- 주간이용횟수
	"mnthng_use_co" INT          NULL,     -- 월간이용횟수
	"mngr_id"       BIGINT       NULL,     -- 관리자ID
	"creat_dt"      DATE         NULL      -- 생성일시
);

-- 수강권 기본키
CREATE UNIQUE INDEX "PK_yyk_atnlccd"
	ON "yyk_atnlccd" ( -- 수강권
		"atnlccd_id" ASC -- 수강권ID
	);

-- 수강권
ALTER TABLE "yyk_atnlccd"
	ADD
		CONSTRAINT "PK_yyk_atnlccd" -- 수강권 기본키
		PRIMARY KEY (
			"atnlccd_id" -- 수강권ID
		);

-- 수강권
COMMENT ON TABLE "yyk_atnlccd" IS '수강권';

-- 수강권ID
COMMENT ON COLUMN "yyk_atnlccd"."atnlccd_id" IS '수강권ID';

-- 수강권이름
COMMENT ON COLUMN "yyk_atnlccd"."atnlccd_nm" IS '수강권이름';

-- 수업구분
COMMENT ON COLUMN "yyk_atnlccd"."lsn_se" IS 'YYK002';

-- 수업종류
COMMENT ON COLUMN "yyk_atnlccd"."lsn_knd" IS 'YYK012';

-- 수강권구분
COMMENT ON COLUMN "yyk_atnlccd"."atnlccd_se" IS 'YYK015';

-- 수강권종류
COMMENT ON COLUMN "yyk_atnlccd"."atnlccd_knd" IS 'YYK011';

-- 수강권상태
COMMENT ON COLUMN "yyk_atnlccd"."atnlccd_sttus" IS 'YYK017';

-- 수강권설명
COMMENT ON COLUMN "yyk_atnlccd"."atnlccd_dc" IS '수강권설명';

-- 색상
COMMENT ON COLUMN "yyk_atnlccd"."color" IS 'YYK010';

-- 사용기간
COMMENT ON COLUMN "yyk_atnlccd"."usgpd" IS 'YYK016';

-- 주간이용횟수
COMMENT ON COLUMN "yyk_atnlccd"."wik_use_co" IS '주간이용횟수';

-- 월간이용횟수
COMMENT ON COLUMN "yyk_atnlccd"."mnthng_use_co" IS '월간이용횟수';

-- 관리자ID
COMMENT ON COLUMN "yyk_atnlccd"."mngr_id" IS '관리자ID';

-- 생성일시
COMMENT ON COLUMN "yyk_atnlccd"."creat_dt" IS '생성일시';

-- 수강권 기본키
COMMENT ON INDEX "PK_yyk_atnlccd" IS '수강권 기본키';

-- 수강권 기본키
COMMENT ON CONSTRAINT "yyk_atnlccd"."PK_yyk_atnlccd" IS '수강권 기본키';

-- SMS
CREATE TABLE "yyk_sms" (
	"sms_id"     BIGINT      NOT NULL, -- SMSID
	"mp_no"      VARCHAR(30) NOT NULL, -- 휴대폰번호
	"mber_id"    BIGINT      NULL,     -- 회원ID
	"sj"         VARCHAR(50) NULL,     -- 제목
	"cn"         TEXT        NULL,     -- 내용
	"am"         INTEGER     NULL,     -- 금액
	"sndng_dt"   DATE        NULL,     -- 발송일시
	"rsvde_hour" DATE        NULL      -- 예약일시
);

-- SMS 기본키
CREATE UNIQUE INDEX "PK_yyk_sms"
	ON "yyk_sms" ( -- SMS
		"sms_id" ASC -- SMSID
	);

-- SMS
ALTER TABLE "yyk_sms"
	ADD
		CONSTRAINT "PK_yyk_sms" -- SMS 기본키
		PRIMARY KEY (
			"sms_id" -- SMSID
		);

-- SMS
COMMENT ON TABLE "yyk_sms" IS 'SMS';

-- SMSID
COMMENT ON COLUMN "yyk_sms"."sms_id" IS 'SMSID';

-- 휴대폰번호
COMMENT ON COLUMN "yyk_sms"."mp_no" IS '휴대폰번호';

-- 회원ID
COMMENT ON COLUMN "yyk_sms"."mber_id" IS '회원ID';

-- 제목
COMMENT ON COLUMN "yyk_sms"."sj" IS '제목';

-- 내용
COMMENT ON COLUMN "yyk_sms"."cn" IS '내용';

-- 금액
COMMENT ON COLUMN "yyk_sms"."am" IS '금액';

-- 발송일시
COMMENT ON COLUMN "yyk_sms"."sndng_dt" IS '발송일시';

-- 예약일시
COMMENT ON COLUMN "yyk_sms"."rsvde_hour" IS '예약일시';

-- SMS 기본키
COMMENT ON INDEX "PK_yyk_sms" IS 'SMS 기본키';

-- SMS 기본키
COMMENT ON CONSTRAINT "yyk_sms"."PK_yyk_sms" IS 'SMS 기본키';

-- 공지
CREATE TABLE "yyk_notice" (
	"notice_id"  BIGINT      NOT NULL, -- 공지ID
	"notice_knd" VARCHAR(4)  NULL,     -- 공지종류
	"notice_sj"  VARCHAR(50) NULL,     -- 공지제목
	"notice_cn"  TEXT        NULL,     -- 공지내용
	"mngr_id"    BIGINT      NULL,     -- 관리자ID
	"redng_co"   INT         NULL,     -- 읽기횟수
	"reg_dt"     DATE        NULL      -- 등록일시
);

-- 공지 기본키
CREATE UNIQUE INDEX "PK_yyk_notice"
	ON "yyk_notice" ( -- 공지
		"notice_id" ASC -- 공지ID
	);

-- 공지
ALTER TABLE "yyk_notice"
	ADD
		CONSTRAINT "PK_yyk_notice" -- 공지 기본키
		PRIMARY KEY (
			"notice_id" -- 공지ID
		);

-- 공지
COMMENT ON TABLE "yyk_notice" IS '공지';

-- 공지ID
COMMENT ON COLUMN "yyk_notice"."notice_id" IS '공지ID';

-- 공지종류
COMMENT ON COLUMN "yyk_notice"."notice_knd" IS 'YYK021';

-- 공지제목
COMMENT ON COLUMN "yyk_notice"."notice_sj" IS '공지제목';

-- 공지내용
COMMENT ON COLUMN "yyk_notice"."notice_cn" IS '공지내용';

-- 관리자ID
COMMENT ON COLUMN "yyk_notice"."mngr_id" IS '관리자ID';

-- 읽기횟수
COMMENT ON COLUMN "yyk_notice"."redng_co" IS '읽기횟수';

-- 등록일시
COMMENT ON COLUMN "yyk_notice"."reg_dt" IS '등록일시';

-- 공지 기본키
COMMENT ON INDEX "PK_yyk_notice" IS '공지 기본키';

-- 공지 기본키
COMMENT ON CONSTRAINT "yyk_notice"."PK_yyk_notice" IS '공지 기본키';

-- 상담
CREATE TABLE "yyk_cnslt" (
	"cnslt_id"  BIGINT       NOT NULL, -- 상담ID
	"mngr_id"   BIGINT       NULL,     -- 관리자ID
	"mber_id"   BIGINT       NULL,     -- 회원ID
	"cnslt_mth" VARCHAR(4)   NULL,     -- 상담방법
	"cnslt_cn"  TEXT         NULL,     -- 상담내용
	"mngr_memo" VARCHAR(255) NULL,     -- 관리자메모
	"cnslt_dt"  DATE         NULL      -- 상담일시
);

-- 상담 기본키
CREATE UNIQUE INDEX "PK_yyk_cnslt"
	ON "yyk_cnslt" ( -- 상담
		"cnslt_id" ASC -- 상담ID
	);

-- 상담
ALTER TABLE "yyk_cnslt"
	ADD
		CONSTRAINT "PK_yyk_cnslt" -- 상담 기본키
		PRIMARY KEY (
			"cnslt_id" -- 상담ID
		);

-- 상담
COMMENT ON TABLE "yyk_cnslt" IS '상담';

-- 상담ID
COMMENT ON COLUMN "yyk_cnslt"."cnslt_id" IS '상담ID';

-- 관리자ID
COMMENT ON COLUMN "yyk_cnslt"."mngr_id" IS '관리자ID';

-- 회원ID
COMMENT ON COLUMN "yyk_cnslt"."mber_id" IS '회원ID';

-- 상담방법
COMMENT ON COLUMN "yyk_cnslt"."cnslt_mth" IS 'YYK019';

-- 상담내용
COMMENT ON COLUMN "yyk_cnslt"."cnslt_cn" IS '상담내용';

-- 관리자메모
COMMENT ON COLUMN "yyk_cnslt"."mngr_memo" IS '관리자메모';

-- 상담일시
COMMENT ON COLUMN "yyk_cnslt"."cnslt_dt" IS '상담일시';

-- 상담 기본키
COMMENT ON INDEX "PK_yyk_cnslt" IS '상담 기본키';

-- 상담 기본키
COMMENT ON CONSTRAINT "yyk_cnslt"."PK_yyk_cnslt" IS '상담 기본키';

-- 관리자
CREATE TABLE "yyk_mngr" (
	"mngr_id"       BIGINT             NOT NULL, -- 관리자ID
	"mngr_nm"       VARCHAR(50)        NULL,     -- 관리자명
	"mngr_grd"      <데이터 타입 없음> NULL,     -- 관리자등급
	"rspofc"        <데이터 타입 없음> NULL,     -- 직책
	"sexdstn"       VARCHAR(4)         NULL,     -- 성별
	"email"         VARCHAR(40)        NULL,     -- 이메일
	"reprsnt_cttpc" VARCHAR(30)        NULL,     -- 대표연락처
	"mp_no"         VARCHAR(30)        NULL,     -- 휴대폰번호
	"cttpc"         VARCHAR(30)        NULL,     -- 연락처
	"zip"           VARCHAR(7)         NULL,     -- 우편번호
	"adres"         VARCHAR(255)       NULL,     -- 주소
	"dtl_adres"     VARCHAR(255)       NULL      -- 상세주소
);

-- 관리자 기본키
CREATE UNIQUE INDEX "PK_yyk_mngr"
	ON "yyk_mngr" ( -- 관리자
		"mngr_id" ASC -- 관리자ID
	);

-- 관리자
ALTER TABLE "yyk_mngr"
	ADD
		CONSTRAINT "PK_yyk_mngr" -- 관리자 기본키
		PRIMARY KEY (
			"mngr_id" -- 관리자ID
		);

-- 관리자
COMMENT ON TABLE "yyk_mngr" IS '관리자';

-- 관리자ID
COMMENT ON COLUMN "yyk_mngr"."mngr_id" IS '관리자ID';

-- 관리자명
COMMENT ON COLUMN "yyk_mngr"."mngr_nm" IS '관리자명';

-- 관리자등급
COMMENT ON COLUMN "yyk_mngr"."mngr_grd" IS '관리자등급';

-- 직책
COMMENT ON COLUMN "yyk_mngr"."rspofc" IS '직책';

-- 성별
COMMENT ON COLUMN "yyk_mngr"."sexdstn" IS 'YYK009';

-- 이메일
COMMENT ON COLUMN "yyk_mngr"."email" IS '이메일';

-- 대표연락처
COMMENT ON COLUMN "yyk_mngr"."reprsnt_cttpc" IS '문자발송용';

-- 휴대폰번호
COMMENT ON COLUMN "yyk_mngr"."mp_no" IS '휴대폰번호';

-- 연락처
COMMENT ON COLUMN "yyk_mngr"."cttpc" IS '연락처';

-- 우편번호
COMMENT ON COLUMN "yyk_mngr"."zip" IS '우편번호';

-- 주소
COMMENT ON COLUMN "yyk_mngr"."adres" IS '주소';

-- 상세주소
COMMENT ON COLUMN "yyk_mngr"."dtl_adres" IS '상세주소';

-- 관리자 기본키
COMMENT ON INDEX "PK_yyk_mngr" IS '관리자 기본키';

-- 관리자 기본키
COMMENT ON CONSTRAINT "yyk_mngr"."PK_yyk_mngr" IS '관리자 기본키';

-- 스케줄변경
CREATE TABLE "yyk_schdul_cng" (
	"schdul_id"      BIGINT       NOT NULL, -- 스케줄ID
	"schdul_cng_se"  VARCHAR(4)   NULL,     -- 스케줄변경구분
	"schdul_cng_val" VARCHAR(255) NULL,     -- 스케줄변경값
	"cng_dt"         DATE         NULL      -- 변경일시
);

-- 스케줄변경 기본키
CREATE UNIQUE INDEX "PK_yyk_schdul_cng"
	ON "yyk_schdul_cng" ( -- 스케줄변경
		"schdul_id" ASC -- 스케줄ID
	);

-- 스케줄변경
ALTER TABLE "yyk_schdul_cng"
	ADD
		CONSTRAINT "PK_yyk_schdul_cng" -- 스케줄변경 기본키
		PRIMARY KEY (
			"schdul_id" -- 스케줄ID
		);

-- 스케줄변경
COMMENT ON TABLE "yyk_schdul_cng" IS '스케줄변경';

-- 스케줄ID
COMMENT ON COLUMN "yyk_schdul_cng"."schdul_id" IS '스케줄ID';

-- 스케줄변경구분
COMMENT ON COLUMN "yyk_schdul_cng"."schdul_cng_se" IS '스케줄변경구분';

-- 스케줄변경값
COMMENT ON COLUMN "yyk_schdul_cng"."schdul_cng_val" IS '스케줄변경값';

-- 변경일시
COMMENT ON COLUMN "yyk_schdul_cng"."cng_dt" IS '변경일시';

-- 스케줄변경 기본키
COMMENT ON INDEX "PK_yyk_schdul_cng" IS '스케줄변경 기본키';

-- 스케줄변경 기본키
COMMENT ON CONSTRAINT "yyk_schdul_cng"."PK_yyk_schdul_cng" IS '스케줄변경 기본키';

-- 회원수강권
CREATE TABLE "yyk_mber_atnlccd" (
	"mber_atnlccd_id" BIGINT  NOT NULL, -- 회원수강권ID
	"mber_id"         BIGINT  NULL,     -- 회원ID
	"issu_atnlccd_id" BIGINT  NULL,     -- 발급수강권ID
	"purchs_am"       INTEGER NULL,     -- 구매금액
	"purchs_dt"       DATE    NULL,     -- 구매일시
	"unclamt"         INTEGER NULL      -- 미수금액
);

-- 회원수강권 기본키
CREATE UNIQUE INDEX "PK_yyk_mber_atnlccd"
	ON "yyk_mber_atnlccd" ( -- 회원수강권
		"mber_atnlccd_id" ASC -- 회원수강권ID
	);

-- 회원수강권
ALTER TABLE "yyk_mber_atnlccd"
	ADD
		CONSTRAINT "PK_yyk_mber_atnlccd" -- 회원수강권 기본키
		PRIMARY KEY (
			"mber_atnlccd_id" -- 회원수강권ID
		);

-- 회원수강권
COMMENT ON TABLE "yyk_mber_atnlccd" IS '회원수강권';

-- 회원수강권ID
COMMENT ON COLUMN "yyk_mber_atnlccd"."mber_atnlccd_id" IS '회원수강권ID';

-- 회원ID
COMMENT ON COLUMN "yyk_mber_atnlccd"."mber_id" IS '회원ID';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_mber_atnlccd"."issu_atnlccd_id" IS '발급수강권ID';

-- 구매금액
COMMENT ON COLUMN "yyk_mber_atnlccd"."purchs_am" IS '구매금액';

-- 구매일시
COMMENT ON COLUMN "yyk_mber_atnlccd"."purchs_dt" IS '구매일시';

-- 미수금액
COMMENT ON COLUMN "yyk_mber_atnlccd"."unclamt" IS '동기화';

-- 회원수강권 기본키
COMMENT ON INDEX "PK_yyk_mber_atnlccd" IS '회원수강권 기본키';

-- 회원수강권 기본키
COMMENT ON CONSTRAINT "yyk_mber_atnlccd"."PK_yyk_mber_atnlccd" IS '회원수강권 기본키';

-- 방
CREATE TABLE "yyk_room" (
	"room_id"        BIGINT             NOT NULL, -- 방ID
	"bhf_id"         BIGINT             NULL,     -- 지점ID
	"room_nm"        VARCHAR(50)        NULL,     -- 방이름
	"ordr"           <데이터 타입 없음> NULL,     -- 순서
	"acmd_nmpr"      <데이터 타입 없음> NULL,     -- 수용인원
	"opn_at"         <데이터 타입 없음> NULL,     -- 개방여부
	"opn_bgnde_hour" DATE               NULL,     -- 개방시작일시
	"opn_endde_hour" DATE               NULL,     -- 개방종료일시
	"room_dc"        VARCHAR(255)       NULL      -- 방설명
);

-- 방 기본키
CREATE UNIQUE INDEX "PK_yyk_room"
	ON "yyk_room" ( -- 방
		"room_id" ASC -- 방ID
	);

-- 방
ALTER TABLE "yyk_room"
	ADD
		CONSTRAINT "PK_yyk_room" -- 방 기본키
		PRIMARY KEY (
			"room_id" -- 방ID
		);

-- 방
COMMENT ON TABLE "yyk_room" IS '방';

-- 방ID
COMMENT ON COLUMN "yyk_room"."room_id" IS '방ID';

-- 지점ID
COMMENT ON COLUMN "yyk_room"."bhf_id" IS '지점ID';

-- 방이름
COMMENT ON COLUMN "yyk_room"."room_nm" IS '방이름';

-- 순서
COMMENT ON COLUMN "yyk_room"."ordr" IS '순서';

-- 수용인원
COMMENT ON COLUMN "yyk_room"."acmd_nmpr" IS '수용인원';

-- 개방여부
COMMENT ON COLUMN "yyk_room"."opn_at" IS '개방여부';

-- 개방시작일시
COMMENT ON COLUMN "yyk_room"."opn_bgnde_hour" IS '개방시작일시';

-- 개방종료일시
COMMENT ON COLUMN "yyk_room"."opn_endde_hour" IS '개방종료일시';

-- 방설명
COMMENT ON COLUMN "yyk_room"."room_dc" IS '방설명';

-- 방 기본키
COMMENT ON INDEX "PK_yyk_room" IS '방 기본키';

-- 방 기본키
COMMENT ON CONSTRAINT "yyk_room"."PK_yyk_room" IS '방 기본키';

-- 수업회원
CREATE TABLE "yyk_lsn_mber" (
	"lsn_id"  BIGINT NOT NULL, -- 수업ID
	"mber_id" BIGINT NOT NULL, -- 회원ID
	"reg_dt"  DATE   NULL      -- 등록일시
);

-- 수업회원 기본키
CREATE UNIQUE INDEX "PK_yyk_lsn_mber"
	ON "yyk_lsn_mber" ( -- 수업회원
		"lsn_id"  ASC, -- 수업ID
		"mber_id" ASC  -- 회원ID
	);

-- 수업회원
ALTER TABLE "yyk_lsn_mber"
	ADD
		CONSTRAINT "PK_yyk_lsn_mber" -- 수업회원 기본키
		PRIMARY KEY (
			"lsn_id",  -- 수업ID
			"mber_id"  -- 회원ID
		);

-- 수업회원
COMMENT ON TABLE "yyk_lsn_mber" IS '수업회원';

-- 수업ID
COMMENT ON COLUMN "yyk_lsn_mber"."lsn_id" IS '수업ID';

-- 회원ID
COMMENT ON COLUMN "yyk_lsn_mber"."mber_id" IS '회원ID';

-- 등록일시
COMMENT ON COLUMN "yyk_lsn_mber"."reg_dt" IS '등록일시';

-- 수업회원 기본키
COMMENT ON INDEX "PK_yyk_lsn_mber" IS '수업회원 기본키';

-- 수업회원 기본키
COMMENT ON CONSTRAINT "yyk_lsn_mber"."PK_yyk_lsn_mber" IS '수업회원 기본키';

-- 수강가능수업
CREATE TABLE "yyk_atnlc_posbl_lsn" (
	"lsn_id"     BIGINT NOT NULL, -- 수업ID
	"atnlccd_id" BIGINT NOT NULL  -- 수강권ID
);

-- 수강가능수업 기본키
CREATE UNIQUE INDEX "PK_yyk_atnlc_posbl_lsn"
	ON "yyk_atnlc_posbl_lsn" ( -- 수강가능수업
		"lsn_id"     ASC, -- 수업ID
		"atnlccd_id" ASC  -- 수강권ID
	);

-- 수강가능수업
ALTER TABLE "yyk_atnlc_posbl_lsn"
	ADD
		CONSTRAINT "PK_yyk_atnlc_posbl_lsn" -- 수강가능수업 기본키
		PRIMARY KEY (
			"lsn_id",     -- 수업ID
			"atnlccd_id"  -- 수강권ID
		);

-- 수강가능수업
COMMENT ON TABLE "yyk_atnlc_posbl_lsn" IS '수강가능수업';

-- 수업ID
COMMENT ON COLUMN "yyk_atnlc_posbl_lsn"."lsn_id" IS '수업ID';

-- 수강권ID
COMMENT ON COLUMN "yyk_atnlc_posbl_lsn"."atnlccd_id" IS '수강권ID';

-- 수강가능수업 기본키
COMMENT ON INDEX "PK_yyk_atnlc_posbl_lsn" IS '수강가능수업 기본키';

-- 수강가능수업 기본키
COMMENT ON CONSTRAINT "yyk_atnlc_posbl_lsn"."PK_yyk_atnlc_posbl_lsn" IS '수강가능수업 기본키';

-- 지점
CREATE TABLE "yyk_bhf" (
	"bhf_id"    BIGINT       NOT NULL, -- 지점ID
	"bhf_nm"    VARCHAR(50)  NULL,     -- 지점명
	"zip"       VARCHAR(7)   NULL,     -- 우편번호
	"adres"     VARCHAR(255) NULL,     -- 주소
	"dtl_adres" VARCHAR(255) NULL,     -- 상세주소
	"cttpc"     VARCHAR(30)  NULL      -- 연락처
);

-- 지점 기본키
CREATE UNIQUE INDEX "PK_yyk_bhf"
	ON "yyk_bhf" ( -- 지점
		"bhf_id" ASC -- 지점ID
	);

-- 지점
ALTER TABLE "yyk_bhf"
	ADD
		CONSTRAINT "PK_yyk_bhf" -- 지점 기본키
		PRIMARY KEY (
			"bhf_id" -- 지점ID
		);

-- 지점
COMMENT ON TABLE "yyk_bhf" IS '지점';

-- 지점ID
COMMENT ON COLUMN "yyk_bhf"."bhf_id" IS '지점ID';

-- 지점명
COMMENT ON COLUMN "yyk_bhf"."bhf_nm" IS '지점명';

-- 우편번호
COMMENT ON COLUMN "yyk_bhf"."zip" IS '우편번호';

-- 주소
COMMENT ON COLUMN "yyk_bhf"."adres" IS '주소';

-- 상세주소
COMMENT ON COLUMN "yyk_bhf"."dtl_adres" IS '상세주소';

-- 연락처
COMMENT ON COLUMN "yyk_bhf"."cttpc" IS '연락처';

-- 지점 기본키
COMMENT ON INDEX "PK_yyk_bhf" IS '지점 기본키';

-- 지점 기본키
COMMENT ON CONSTRAINT "yyk_bhf"."PK_yyk_bhf" IS '지점 기본키';

-- 수강
CREATE TABLE "yyk_atnlc" (
	"schdul_id"        BIGINT       NOT NULL, -- 스케줄ID
	"issu_atnlccd_id"  BIGINT       NOT NULL, -- 발급수강권ID
	"atnlc_sttus"      VARCHAR(4)   NULL,     -- 수강상태
	"req_dt"           DATE         NULL,     -- 신청일시
	"instrctr_memo"    VARCHAR(255) NULL,     -- 강사메모
	"instrctr_memo_dt" DATE         NULL,     -- 강사메모일시
	"mber_review"      VARCHAR(255) NULL,     -- 회원리뷰
	"mber_review_dt"   DATE         NULL,     -- 회원리뷰일시
	"instrctr_ans"     TEXT         NULL,     -- 강사답변
	"instrctr_ans_dt"  DATE         NULL      -- 강사답변일시
);

-- 수강 기본키
CREATE UNIQUE INDEX "PK_yyk_atnlc"
	ON "yyk_atnlc" ( -- 수강
		"schdul_id"       ASC, -- 스케줄ID
		"issu_atnlccd_id" ASC  -- 발급수강권ID
	);

-- 수강
ALTER TABLE "yyk_atnlc"
	ADD
		CONSTRAINT "PK_yyk_atnlc" -- 수강 기본키
		PRIMARY KEY (
			"schdul_id",       -- 스케줄ID
			"issu_atnlccd_id"  -- 발급수강권ID
		);

-- 수강
COMMENT ON TABLE "yyk_atnlc" IS '수강';

-- 스케줄ID
COMMENT ON COLUMN "yyk_atnlc"."schdul_id" IS '스케줄ID';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_atnlc"."issu_atnlccd_id" IS '발급수강권ID';

-- 수강상태
COMMENT ON COLUMN "yyk_atnlc"."atnlc_sttus" IS '수강상태';

-- 신청일시
COMMENT ON COLUMN "yyk_atnlc"."req_dt" IS '신청일시';

-- 강사메모
COMMENT ON COLUMN "yyk_atnlc"."instrctr_memo" IS '강사메모';

-- 강사메모일시
COMMENT ON COLUMN "yyk_atnlc"."instrctr_memo_dt" IS '강사메모일시';

-- 회원리뷰
COMMENT ON COLUMN "yyk_atnlc"."mber_review" IS '회원리뷰';

-- 회원리뷰일시
COMMENT ON COLUMN "yyk_atnlc"."mber_review_dt" IS '회원리뷰일시';

-- 강사답변
COMMENT ON COLUMN "yyk_atnlc"."instrctr_ans" IS '강사답변';

-- 강사답변일시
COMMENT ON COLUMN "yyk_atnlc"."instrctr_ans_dt" IS '강사답변일시';

-- 수강 기본키
COMMENT ON INDEX "PK_yyk_atnlc" IS '수강 기본키';

-- 수강 기본키
COMMENT ON CONSTRAINT "yyk_atnlc"."PK_yyk_atnlc" IS '수강 기본키';

-- 발급수강권
CREATE TABLE "yyk_issu_atnlccd" (
	"issu_atnlccd_id"        BIGINT             NOT NULL, -- 발급수강권ID
	"issu_atnlccd_nm"        VARCHAR(50)        NULL,     -- 발급수강권이름
	"atnlccd_id"             BIGINT             NULL,     -- 수강권ID
	"crtfc_cd"               VARCHAR(50)        NULL,     -- 인증코드
	"issu_atnlccd_sttus"     VARCHAR(4)         NULL,     -- 발급수강권상태
	"mxmm_atnlc_nmpr"        <데이터 타입 없음> NULL,     -- 최대수강인원
	"tot_atnlc_co"           INT                NULL,     -- 총수강횟수
	"remndr_co"              INT                NULL,     -- 잔여횟수
	"atnlc_bgnde"            DATE               NULL,     -- 수강시작일
	"atnlc_daycnt"           INT                NULL,     -- 수강일수
	"stop_daycnt"            INT                NULL,     -- 정지일수
	"atnlc_endde"            DATE               NULL,     -- 수강종료일
	"resve_cng_posbl_co"     INT                NULL,     -- 예약변경가능횟수
	"resve_posbl_begin_time" TIME               NULL,     -- 예약가능시작시간
	"resve_posbl_end_time"   TIME               NULL,     -- 예약가능종료시간
	"cancl_posbl_co"         INT                NULL,     -- 취소가능횟수
	"atnlccd_pc"             INTEGER            NULL,     -- 수강권가격
	"dscnt_am"               INTEGER            NULL,     -- 할인금액
	"issu_dt"                DATE               NULL,     -- 발급일시
	"issuer_id"              BIGINT             NULL,     -- 발급자ID
	"updde_city"             DATE               NULL      -- 수정일시
);

-- 발급수강권 기본키
CREATE UNIQUE INDEX "PK_yyk_issu_atnlccd"
	ON "yyk_issu_atnlccd" ( -- 발급수강권
		"issu_atnlccd_id" ASC -- 발급수강권ID
	);

-- 발급수강권
ALTER TABLE "yyk_issu_atnlccd"
	ADD
		CONSTRAINT "PK_yyk_issu_atnlccd" -- 발급수강권 기본키
		PRIMARY KEY (
			"issu_atnlccd_id" -- 발급수강권ID
		);

-- 발급수강권
COMMENT ON TABLE "yyk_issu_atnlccd" IS '발급수강권';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_issu_atnlccd"."issu_atnlccd_id" IS '발급수강권ID';

-- 발급수강권이름
COMMENT ON COLUMN "yyk_issu_atnlccd"."issu_atnlccd_nm" IS '발급수강권이름';

-- 수강권ID
COMMENT ON COLUMN "yyk_issu_atnlccd"."atnlccd_id" IS '수강권ID';

-- 인증코드
COMMENT ON COLUMN "yyk_issu_atnlccd"."crtfc_cd" IS '인증코드';

-- 발급수강권상태
COMMENT ON COLUMN "yyk_issu_atnlccd"."issu_atnlccd_sttus" IS '동기화';

-- 최대수강인원
COMMENT ON COLUMN "yyk_issu_atnlccd"."mxmm_atnlc_nmpr" IS '최대수강인원';

-- 총수강횟수
COMMENT ON COLUMN "yyk_issu_atnlccd"."tot_atnlc_co" IS '총수강횟수';

-- 잔여횟수
COMMENT ON COLUMN "yyk_issu_atnlccd"."remndr_co" IS '잔여횟수';

-- 수강시작일
COMMENT ON COLUMN "yyk_issu_atnlccd"."atnlc_bgnde" IS '수강시작일';

-- 수강일수
COMMENT ON COLUMN "yyk_issu_atnlccd"."atnlc_daycnt" IS '수강일수';

-- 정지일수
COMMENT ON COLUMN "yyk_issu_atnlccd"."stop_daycnt" IS '동기화';

-- 수강종료일
COMMENT ON COLUMN "yyk_issu_atnlccd"."atnlc_endde" IS '동기화';

-- 예약변경가능횟수
COMMENT ON COLUMN "yyk_issu_atnlccd"."resve_cng_posbl_co" IS '예약변경가능횟수';

-- 예약가능시작시간
COMMENT ON COLUMN "yyk_issu_atnlccd"."resve_posbl_begin_time" IS '예약가능시작시간';

-- 예약가능종료시간
COMMENT ON COLUMN "yyk_issu_atnlccd"."resve_posbl_end_time" IS '예약가능종료시간';

-- 취소가능횟수
COMMENT ON COLUMN "yyk_issu_atnlccd"."cancl_posbl_co" IS '취소가능횟수';

-- 수강권가격
COMMENT ON COLUMN "yyk_issu_atnlccd"."atnlccd_pc" IS '수강권가격';

-- 할인금액
COMMENT ON COLUMN "yyk_issu_atnlccd"."dscnt_am" IS '할인금액';

-- 발급일시
COMMENT ON COLUMN "yyk_issu_atnlccd"."issu_dt" IS '발급일시';

-- 발급자ID
COMMENT ON COLUMN "yyk_issu_atnlccd"."issuer_id" IS '발급자ID';

-- 수정일시
COMMENT ON COLUMN "yyk_issu_atnlccd"."updde_city" IS '수정일시';

-- 발급수강권 기본키
COMMENT ON INDEX "PK_yyk_issu_atnlccd" IS '발급수강권 기본키';

-- 발급수강권 기본키
COMMENT ON CONSTRAINT "yyk_issu_atnlccd"."PK_yyk_issu_atnlccd" IS '발급수강권 기본키';

-- 관리지점
CREATE TABLE "yyk_mng_spot" (
	"bhf_id"  BIGINT NOT NULL, -- 지점ID
	"mngr_id" BIGINT NOT NULL  -- 관리자ID
);

-- 관리지점 기본키
CREATE UNIQUE INDEX "PK_yyk_mng_spot"
	ON "yyk_mng_spot" ( -- 관리지점
		"bhf_id"  ASC, -- 지점ID
		"mngr_id" ASC  -- 관리자ID
	);

-- 관리지점
ALTER TABLE "yyk_mng_spot"
	ADD
		CONSTRAINT "PK_yyk_mng_spot" -- 관리지점 기본키
		PRIMARY KEY (
			"bhf_id",  -- 지점ID
			"mngr_id"  -- 관리자ID
		);

-- 관리지점
COMMENT ON TABLE "yyk_mng_spot" IS '관리지점';

-- 지점ID
COMMENT ON COLUMN "yyk_mng_spot"."bhf_id" IS '지점ID';

-- 관리자ID
COMMENT ON COLUMN "yyk_mng_spot"."mngr_id" IS '관리자ID';

-- 관리지점 기본키
COMMENT ON INDEX "PK_yyk_mng_spot" IS '관리지점 기본키';

-- 관리지점 기본키
COMMENT ON CONSTRAINT "yyk_mng_spot"."PK_yyk_mng_spot" IS '관리지점 기본키';

-- 결제내역
CREATE TABLE "yyk_setle_dtls" (
	"mber_atnlccd_id" BIGINT       NULL,     -- 회원수강권ID
	"setle_mn"        VARCHAR(4)   NOT NULL, -- 결제수단
	"rcpmnyer_nm"     VARCHAR(50)  NULL,     -- 입금자명
	"rcpmny_bank_nm"  VARCHAR(4)   NULL,     -- 입금은행명
	"rcpmny_acnutno"  VARCHAR(30)  NULL,     -- 입금계좌번호
	"card_cmpny_nm"   VARCHAR(255) NULL,     -- 카드회사명
	"card_no"         VARCHAR(16)  NULL,     -- 카드번호
	"pg_cmpny"        VARCHAR(4)   NULL,     -- PG사
	"tno"             VARCHAR(50)  NULL,     -- 거래번호
	"app_no"          VARCHAR(50)  NULL,     -- 앱번호
	"telecom"         VARCHAR(255) NULL,     -- 통신사
	"mp_no"           VARCHAR(30)  NULL,     -- 휴대폰번호
	"setle_dtls"      TEXT         NULL,     -- 결제내역
	"setle_am"        INTEGER      NOT NULL, -- 결제금액
	"setle_dt"        DATE         NOT NULL, -- 결제일시
	"cash_rcipt_knd"  VARCHAR(4)   NULL,     -- 현금영수증종류
	"cash_rcipt_no"   VARCHAR(50)  NULL,     -- 현금영수증번호
	"confm_dt"        DATE         NULL      -- 승인일시
);

-- 결제내역
COMMENT ON TABLE "yyk_setle_dtls" IS '결제내역';

-- 회원수강권ID
COMMENT ON COLUMN "yyk_setle_dtls"."mber_atnlccd_id" IS '회원수강권ID';

-- 결제수단
COMMENT ON COLUMN "yyk_setle_dtls"."setle_mn" IS '결제수단';

-- 입금자명
COMMENT ON COLUMN "yyk_setle_dtls"."rcpmnyer_nm" IS '입금자명';

-- 입금은행명
COMMENT ON COLUMN "yyk_setle_dtls"."rcpmny_bank_nm" IS '입금은행명';

-- 입금계좌번호
COMMENT ON COLUMN "yyk_setle_dtls"."rcpmny_acnutno" IS '암호화';

-- 카드회사명
COMMENT ON COLUMN "yyk_setle_dtls"."card_cmpny_nm" IS '카드회사명';

-- 카드번호
COMMENT ON COLUMN "yyk_setle_dtls"."card_no" IS '암호화';

-- PG사
COMMENT ON COLUMN "yyk_setle_dtls"."pg_cmpny" IS 'PG사';

-- 거래번호
COMMENT ON COLUMN "yyk_setle_dtls"."tno" IS '거래번호';

-- 앱번호
COMMENT ON COLUMN "yyk_setle_dtls"."app_no" IS '앱번호';

-- 통신사
COMMENT ON COLUMN "yyk_setle_dtls"."telecom" IS '통신사';

-- 휴대폰번호
COMMENT ON COLUMN "yyk_setle_dtls"."mp_no" IS '휴대폰번호';

-- 결제내역
COMMENT ON COLUMN "yyk_setle_dtls"."setle_dtls" IS '결제내역';

-- 결제금액
COMMENT ON COLUMN "yyk_setle_dtls"."setle_am" IS '결제금액';

-- 결제일시
COMMENT ON COLUMN "yyk_setle_dtls"."setle_dt" IS '결제일시';

-- 현금영수증종류
COMMENT ON COLUMN "yyk_setle_dtls"."cash_rcipt_knd" IS '현금영수증종류';

-- 현금영수증번호
COMMENT ON COLUMN "yyk_setle_dtls"."cash_rcipt_no" IS '현금영수증번호';

-- 승인일시
COMMENT ON COLUMN "yyk_setle_dtls"."confm_dt" IS '승인일시';

-- 발급수강권변경내역
CREATE TABLE "yyk_issu_atnlccd_cng_dtls" (
	"issu_atnlccd_id"     BIGINT       NULL,     -- 발급수강권ID
	"issu_atnlccd_cng_se" VARCHAR(4)   NULL,     -- 발급수강권변경구분
	"cng_val"             TEXT         NOT NULL, -- 변경값
	"sttus_chghy"         VARCHAR(255) NULL,     -- 상태변경사유
	"stng_dt"             DATE         NOT NULL, -- 상태변경일시
	"stng_ip"             VARCHAR(50)  NULL      -- 상태변경IP
);

-- 발급수강권변경내역
COMMENT ON TABLE "yyk_issu_atnlccd_cng_dtls" IS '발급수강권변경내역';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_issu_atnlccd_cng_dtls"."issu_atnlccd_id" IS '발급수강권ID';

-- 발급수강권변경구분
COMMENT ON COLUMN "yyk_issu_atnlccd_cng_dtls"."issu_atnlccd_cng_se" IS '발급수강권변경구분';

-- 변경값
COMMENT ON COLUMN "yyk_issu_atnlccd_cng_dtls"."cng_val" IS '변경값';

-- 상태변경사유
COMMENT ON COLUMN "yyk_issu_atnlccd_cng_dtls"."sttus_chghy" IS '상태변경사유';

-- 상태변경일시
COMMENT ON COLUMN "yyk_issu_atnlccd_cng_dtls"."stng_dt" IS '상태변경일시';

-- 상태변경IP
COMMENT ON COLUMN "yyk_issu_atnlccd_cng_dtls"."stng_ip" IS '상태변경IP';

-- 금액산정
CREATE TABLE "yyk_am_calc" (
	"lsn_se"      VARCHAR(4) NULL, -- 수업구분
	"lsn_knd"     VARCHAR(4) NULL, -- 수업종류
	"instrctr_id" BIGINT     NULL, -- 강사ID
	"am"          INTEGER    NULL, -- 금액
	"penlty"      INTEGER    NULL  -- 위약금
);

-- 금액산정
COMMENT ON TABLE "yyk_am_calc" IS '금액산정';

-- 수업구분
COMMENT ON COLUMN "yyk_am_calc"."lsn_se" IS '수업구분';

-- 수업종류
COMMENT ON COLUMN "yyk_am_calc"."lsn_knd" IS '수업종류';

-- 강사ID
COMMENT ON COLUMN "yyk_am_calc"."instrctr_id" IS '강사ID';

-- 금액
COMMENT ON COLUMN "yyk_am_calc"."am" IS '금액';

-- 위약금
COMMENT ON COLUMN "yyk_am_calc"."penlty" IS '위약금';

-- 수강권정지
CREATE TABLE "yyk_atnlccd_stop" (
	"atnlccd_stop_id" BIGINT             NOT NULL, -- 수강권정지ID
	"issu_atnlccd_id" BIGINT             NULL,     -- 발급수강권ID
	"stop_bgnde"      DATE               NULL,     -- 정지시작일
	"stop_pd"         INT                NULL,     -- 정지기간
	"stop_resn"       <데이터 타입 없음> NULL,     -- 정지사유
	"stop_endde"      DATE               NULL      -- 정지종료일
);

-- 수강권정지 기본키
CREATE UNIQUE INDEX "PK_yyk_atnlccd_stop"
	ON "yyk_atnlccd_stop" ( -- 수강권정지
		"atnlccd_stop_id" ASC -- 수강권정지ID
	);

-- 수강권정지
ALTER TABLE "yyk_atnlccd_stop"
	ADD
		CONSTRAINT "PK_yyk_atnlccd_stop" -- 수강권정지 기본키
		PRIMARY KEY (
			"atnlccd_stop_id" -- 수강권정지ID
		);

-- 수강권정지
COMMENT ON TABLE "yyk_atnlccd_stop" IS '수강권정지';

-- 수강권정지ID
COMMENT ON COLUMN "yyk_atnlccd_stop"."atnlccd_stop_id" IS '수강권정지ID';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_atnlccd_stop"."issu_atnlccd_id" IS '발급수강권ID';

-- 정지시작일
COMMENT ON COLUMN "yyk_atnlccd_stop"."stop_bgnde" IS '정지시작일';

-- 정지기간
COMMENT ON COLUMN "yyk_atnlccd_stop"."stop_pd" IS '정지기간';

-- 정지사유
COMMENT ON COLUMN "yyk_atnlccd_stop"."stop_resn" IS '정지사유';

-- 정지종료일
COMMENT ON COLUMN "yyk_atnlccd_stop"."stop_endde" IS '정지종료일';

-- 수강권정지 기본키
COMMENT ON INDEX "PK_yyk_atnlccd_stop" IS '수강권정지 기본키';

-- 수강권정지 기본키
COMMENT ON CONSTRAINT "yyk_atnlccd_stop"."PK_yyk_atnlccd_stop" IS '수강권정지 기본키';

-- 지점이미지
CREATE TABLE "yyk_bhf_image" (
	"bhf_image_id" BIGINT             NOT NULL, -- 지점이미지ID
	"bhf_id"       BIGINT             NULL,     -- 지점ID
	"bhf_image"    VARCHAR(500)       NULL,     -- 지점이미지
	"ordr"         <데이터 타입 없음> NULL,     -- 순서
	"reg_dt"       DATE               NULL      -- 등록일시
);

-- 지점이미지 기본키
CREATE UNIQUE INDEX "PK_yyk_bhf_image"
	ON "yyk_bhf_image" ( -- 지점이미지
		"bhf_image_id" ASC -- 지점이미지ID
	);

-- 지점이미지
ALTER TABLE "yyk_bhf_image"
	ADD
		CONSTRAINT "PK_yyk_bhf_image" -- 지점이미지 기본키
		PRIMARY KEY (
			"bhf_image_id" -- 지점이미지ID
		);

-- 지점이미지
COMMENT ON TABLE "yyk_bhf_image" IS '지점이미지';

-- 지점이미지ID
COMMENT ON COLUMN "yyk_bhf_image"."bhf_image_id" IS '지점이미지ID';

-- 지점ID
COMMENT ON COLUMN "yyk_bhf_image"."bhf_id" IS '지점ID';

-- 지점이미지
COMMENT ON COLUMN "yyk_bhf_image"."bhf_image" IS '지점이미지';

-- 순서
COMMENT ON COLUMN "yyk_bhf_image"."ordr" IS '순서';

-- 등록일시
COMMENT ON COLUMN "yyk_bhf_image"."reg_dt" IS '등록일시';

-- 지점이미지 기본키
COMMENT ON INDEX "PK_yyk_bhf_image" IS '지점이미지 기본키';

-- 지점이미지 기본키
COMMENT ON CONSTRAINT "yyk_bhf_image"."PK_yyk_bhf_image" IS '지점이미지 기본키';

-- 방이미지
CREATE TABLE "yyk_bhf_image2" (
	"room_image_id" BIGINT             NOT NULL, -- 방이미지ID
	"room_id"       BIGINT             NULL,     -- 방ID
	"room_image"    VARCHAR(500)       NULL,     -- 방이미지
	"ordr"          <데이터 타입 없음> NULL,     -- 순서
	"reg_dt"        DATE               NULL      -- 등록일시
);

-- 방이미지 기본키
CREATE UNIQUE INDEX "PK_yyk_bhf_image2"
	ON "yyk_bhf_image2" ( -- 방이미지
		"room_image_id" ASC -- 방이미지ID
	);

-- 방이미지
ALTER TABLE "yyk_bhf_image2"
	ADD
		CONSTRAINT "PK_yyk_bhf_image2" -- 방이미지 기본키
		PRIMARY KEY (
			"room_image_id" -- 방이미지ID
		);

-- 방이미지
COMMENT ON TABLE "yyk_bhf_image2" IS '방이미지';

-- 방이미지ID
COMMENT ON COLUMN "yyk_bhf_image2"."room_image_id" IS '방이미지ID';

-- 방ID
COMMENT ON COLUMN "yyk_bhf_image2"."room_id" IS '방ID';

-- 방이미지
COMMENT ON COLUMN "yyk_bhf_image2"."room_image" IS '방이미지';

-- 순서
COMMENT ON COLUMN "yyk_bhf_image2"."ordr" IS '순서';

-- 등록일시
COMMENT ON COLUMN "yyk_bhf_image2"."reg_dt" IS '등록일시';

-- 방이미지 기본키
COMMENT ON INDEX "PK_yyk_bhf_image2" IS '방이미지 기본키';

-- 방이미지 기본키
COMMENT ON CONSTRAINT "yyk_bhf_image2"."PK_yyk_bhf_image2" IS '방이미지 기본키';

-- 리뷰이미지
CREATE TABLE "yyk_review_image" (
	"review_image_id" BIGINT             NOT NULL, -- 리뷰이미지ID
	"schdul_id"       BIGINT             NULL,     -- 스케줄ID
	"issu_atnlccd_id" BIGINT             NULL,     -- 발급수강권ID
	"review_image"    VARCHAR(500)       NULL,     -- 리뷰이미지
	"ordr"            <데이터 타입 없음> NULL,     -- 순서
	"reg_dt"          DATE               NULL      -- 등록일시
);

-- 리뷰이미지 기본키
CREATE UNIQUE INDEX "PK_yyk_review_image"
	ON "yyk_review_image" ( -- 리뷰이미지
		"review_image_id" ASC -- 리뷰이미지ID
	);

-- 리뷰이미지
ALTER TABLE "yyk_review_image"
	ADD
		CONSTRAINT "PK_yyk_review_image" -- 리뷰이미지 기본키
		PRIMARY KEY (
			"review_image_id" -- 리뷰이미지ID
		);

-- 리뷰이미지
COMMENT ON TABLE "yyk_review_image" IS '리뷰이미지';

-- 리뷰이미지ID
COMMENT ON COLUMN "yyk_review_image"."review_image_id" IS '리뷰이미지ID';

-- 스케줄ID
COMMENT ON COLUMN "yyk_review_image"."schdul_id" IS '스케줄ID';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_review_image"."issu_atnlccd_id" IS '발급수강권ID';

-- 리뷰이미지
COMMENT ON COLUMN "yyk_review_image"."review_image" IS '리뷰이미지';

-- 순서
COMMENT ON COLUMN "yyk_review_image"."ordr" IS '순서';

-- 등록일시
COMMENT ON COLUMN "yyk_review_image"."reg_dt" IS '등록일시';

-- 리뷰이미지 기본키
COMMENT ON INDEX "PK_yyk_review_image" IS '리뷰이미지 기본키';

-- 리뷰이미지 기본키
COMMENT ON CONSTRAINT "yyk_review_image"."PK_yyk_review_image" IS '리뷰이미지 기본키';

-- 메모이미지
CREATE TABLE "yyk_memo_image" (
	"memo_image_id"   BIGINT             NOT NULL, -- 메모이미지ID
	"memo_image"      VARCHAR(500)       NULL,     -- 메모이미지
	"ordr"            <데이터 타입 없음> NULL,     -- 순서
	"reg_dt"          DATE               NULL,     -- 등록일시
	"schdul_id"       BIGINT             NULL,     -- 스케줄ID
	"issu_atnlccd_id" BIGINT             NULL      -- 발급수강권ID
);

-- 메모이미지 기본키
CREATE UNIQUE INDEX "PK_yyk_memo_image"
	ON "yyk_memo_image" ( -- 메모이미지
		"memo_image_id" ASC -- 메모이미지ID
	);

-- 메모이미지
ALTER TABLE "yyk_memo_image"
	ADD
		CONSTRAINT "PK_yyk_memo_image" -- 메모이미지 기본키
		PRIMARY KEY (
			"memo_image_id" -- 메모이미지ID
		);

-- 메모이미지
COMMENT ON TABLE "yyk_memo_image" IS '메모이미지';

-- 메모이미지ID
COMMENT ON COLUMN "yyk_memo_image"."memo_image_id" IS '메모이미지ID';

-- 메모이미지
COMMENT ON COLUMN "yyk_memo_image"."memo_image" IS '메모이미지';

-- 순서
COMMENT ON COLUMN "yyk_memo_image"."ordr" IS '순서';

-- 등록일시
COMMENT ON COLUMN "yyk_memo_image"."reg_dt" IS '등록일시';

-- 스케줄ID
COMMENT ON COLUMN "yyk_memo_image"."schdul_id" IS '스케줄ID';

-- 발급수강권ID
COMMENT ON COLUMN "yyk_memo_image"."issu_atnlccd_id" IS '발급수강권ID';

-- 메모이미지 기본키
COMMENT ON INDEX "PK_yyk_memo_image" IS '메모이미지 기본키';

-- 메모이미지 기본키
COMMENT ON CONSTRAINT "yyk_memo_image"."PK_yyk_memo_image" IS '메모이미지 기본키';

-- 근무시간
CREATE TABLE "yyk_work_time" (
	"work_time_id"    BIGINT             NOT NULL, -- 근무시간ID
	"instrctr_id"     BIGINT             NULL,     -- 강사ID
	"year"            CHAR(4)            NULL,     -- 연도
	"mt"              CHAR(2)            NULL,     -- 월
	"dd"              CHAR(2)            NULL,     -- 일
	"dy"              VARCHAR(4)         NULL,     -- 요일
	"rstde_at"        <데이터 타입 없음> NULL,     -- 휴무일여부
	"work_begin_time" TIME               NULL,     -- 근무시작시간
	"work_end_time"   TIME               NULL      -- 근무종료시간
);

-- 근무시간 기본키
CREATE UNIQUE INDEX "PK_yyk_work_time"
	ON "yyk_work_time" ( -- 근무시간
		"work_time_id" ASC -- 근무시간ID
	);

-- 근무시간
ALTER TABLE "yyk_work_time"
	ADD
		CONSTRAINT "PK_yyk_work_time" -- 근무시간 기본키
		PRIMARY KEY (
			"work_time_id" -- 근무시간ID
		);

-- 근무시간
COMMENT ON TABLE "yyk_work_time" IS '근무시간';

-- 근무시간ID
COMMENT ON COLUMN "yyk_work_time"."work_time_id" IS '근무시간ID';

-- 강사ID
COMMENT ON COLUMN "yyk_work_time"."instrctr_id" IS '강사ID';

-- 연도
COMMENT ON COLUMN "yyk_work_time"."year" IS '연도';

-- 월
COMMENT ON COLUMN "yyk_work_time"."mt" IS '월';

-- 일
COMMENT ON COLUMN "yyk_work_time"."dd" IS '일';

-- 요일
COMMENT ON COLUMN "yyk_work_time"."dy" IS 'YYK004';

-- 휴무일여부
COMMENT ON COLUMN "yyk_work_time"."rstde_at" IS '휴무일여부';

-- 근무시작시간
COMMENT ON COLUMN "yyk_work_time"."work_begin_time" IS '근무시작시간';

-- 근무종료시간
COMMENT ON COLUMN "yyk_work_time"."work_end_time" IS '근무종료시간';

-- 근무시간 기본키
COMMENT ON INDEX "PK_yyk_work_time" IS '근무시간 기본키';

-- 근무시간 기본키
COMMENT ON CONSTRAINT "yyk_work_time"."PK_yyk_work_time" IS '근무시간 기본키';

-- 담당회원
CREATE TABLE "yyk_chrg_mber" (
	"instrctr_id" BIGINT NOT NULL, -- 강사ID
	"mber_id"     BIGINT NOT NULL, -- 회원ID
	"reg_dt"      DATE   NULL      -- 등록일시
);

-- 담당회원 기본키
CREATE UNIQUE INDEX "PK_yyk_chrg_mber"
	ON "yyk_chrg_mber" ( -- 담당회원
		"instrctr_id" ASC, -- 강사ID
		"mber_id"     ASC  -- 회원ID
	);

-- 담당회원
ALTER TABLE "yyk_chrg_mber"
	ADD
		CONSTRAINT "PK_yyk_chrg_mber" -- 담당회원 기본키
		PRIMARY KEY (
			"instrctr_id", -- 강사ID
			"mber_id"      -- 회원ID
		);

-- 담당회원
COMMENT ON TABLE "yyk_chrg_mber" IS '담당회원';

-- 강사ID
COMMENT ON COLUMN "yyk_chrg_mber"."instrctr_id" IS '강사ID';

-- 회원ID
COMMENT ON COLUMN "yyk_chrg_mber"."mber_id" IS '회원ID';

-- 등록일시
COMMENT ON COLUMN "yyk_chrg_mber"."reg_dt" IS '등록일시';

-- 담당회원 기본키
COMMENT ON INDEX "PK_yyk_chrg_mber" IS '담당회원 기본키';

-- 담당회원 기본키
COMMENT ON CONSTRAINT "yyk_chrg_mber"."PK_yyk_chrg_mber" IS '담당회원 기본키';

-- 휴식시간
CREATE TABLE "yyk_rest_time" (
	"rest_time_id"    BIGINT NOT NULL, -- 휴식시간ID
	"work_time_id"    BIGINT NULL,     -- 근무시간ID
	"rest_begin_time" TIME   NULL,     -- 휴식시작시간
	"rest_end_time"   TIME   NULL      -- 휴식종료시간
);

-- 휴식시간 기본키
CREATE UNIQUE INDEX "PK_yyk_rest_time"
	ON "yyk_rest_time" ( -- 휴식시간
		"rest_time_id" ASC -- 휴식시간ID
	);

-- 휴식시간
ALTER TABLE "yyk_rest_time"
	ADD
		CONSTRAINT "PK_yyk_rest_time" -- 휴식시간 기본키
		PRIMARY KEY (
			"rest_time_id" -- 휴식시간ID
		);

-- 휴식시간
COMMENT ON TABLE "yyk_rest_time" IS '휴식시간';

-- 휴식시간ID
COMMENT ON COLUMN "yyk_rest_time"."rest_time_id" IS '휴식시간ID';

-- 근무시간ID
COMMENT ON COLUMN "yyk_rest_time"."work_time_id" IS '근무시간ID';

-- 휴식시작시간
COMMENT ON COLUMN "yyk_rest_time"."rest_begin_time" IS '휴식시작시간';

-- 휴식종료시간
COMMENT ON COLUMN "yyk_rest_time"."rest_end_time" IS '휴식종료시간';

-- 휴식시간 기본키
COMMENT ON INDEX "PK_yyk_rest_time" IS '휴식시간 기본키';

-- 휴식시간 기본키
COMMENT ON CONSTRAINT "yyk_rest_time"."PK_yyk_rest_time" IS '휴식시간 기본키';

-- 강사이력
CREATE TABLE "yyk_instrctr_his" (
	"instrctr_his_id" BIGINT NOT NULL, -- 강사이력ID
	"instrctr_id"     BIGINT NULL,     -- 강사ID
	"main_his"        TEXT   NULL,     -- 주요이력
	"reg_dt"          DATE   NULL      -- 등록일시
);

-- 강사이력 기본키
CREATE UNIQUE INDEX "PK_yyk_instrctr_his"
	ON "yyk_instrctr_his" ( -- 강사이력
		"instrctr_his_id" ASC -- 강사이력ID
	);

-- 강사이력
ALTER TABLE "yyk_instrctr_his"
	ADD
		CONSTRAINT "PK_yyk_instrctr_his" -- 강사이력 기본키
		PRIMARY KEY (
			"instrctr_his_id" -- 강사이력ID
		);

-- 강사이력
COMMENT ON TABLE "yyk_instrctr_his" IS '강사이력';

-- 강사이력ID
COMMENT ON COLUMN "yyk_instrctr_his"."instrctr_his_id" IS '강사이력ID';

-- 강사ID
COMMENT ON COLUMN "yyk_instrctr_his"."instrctr_id" IS '강사ID';

-- 주요이력
COMMENT ON COLUMN "yyk_instrctr_his"."main_his" IS '주요이력';

-- 등록일시
COMMENT ON COLUMN "yyk_instrctr_his"."reg_dt" IS '등록일시';

-- 강사이력 기본키
COMMENT ON INDEX "PK_yyk_instrctr_his" IS '강사이력 기본키';

-- 강사이력 기본키
COMMENT ON CONSTRAINT "yyk_instrctr_his"."PK_yyk_instrctr_his" IS '강사이력 기본키';

-- 앱메시지
CREATE TABLE "yyk_app_mssage" (
	"app_mssage_id" BIGINT      NOT NULL, -- 앱메시지ID
	"mber_id"       BIGINT      NULL,     -- 회원ID
	"sj"            VARCHAR(50) NULL,     -- 제목
	"cn"            TEXT        NULL,     -- 내용
	"sndng_dt"      DATE        NULL      -- 발송일시
);

-- 앱메시지 기본키
CREATE UNIQUE INDEX "PK_yyk_app_mssage"
	ON "yyk_app_mssage" ( -- 앱메시지
		"app_mssage_id" ASC -- 앱메시지ID
	);

-- 앱메시지
ALTER TABLE "yyk_app_mssage"
	ADD
		CONSTRAINT "PK_yyk_app_mssage" -- 앱메시지 기본키
		PRIMARY KEY (
			"app_mssage_id" -- 앱메시지ID
		);

-- 앱메시지
COMMENT ON TABLE "yyk_app_mssage" IS '앱메시지';

-- 앱메시지ID
COMMENT ON COLUMN "yyk_app_mssage"."app_mssage_id" IS '앱메시지ID';

-- 회원ID
COMMENT ON COLUMN "yyk_app_mssage"."mber_id" IS '회원ID';

-- 제목
COMMENT ON COLUMN "yyk_app_mssage"."sj" IS '제목';

-- 내용
COMMENT ON COLUMN "yyk_app_mssage"."cn" IS '내용';

-- 발송일시
COMMENT ON COLUMN "yyk_app_mssage"."sndng_dt" IS '발송일시';

-- 앱메시지 기본키
COMMENT ON INDEX "PK_yyk_app_mssage" IS '앱메시지 기본키';

-- 앱메시지 기본키
COMMENT ON CONSTRAINT "yyk_app_mssage"."PK_yyk_app_mssage" IS '앱메시지 기본키';

-- 회원
CREATE TABLE "yyk_mber" (
	"mber_id"          BIGINT             NOT NULL, -- 회원ID
	"mber_nm"          VARCHAR(50)        NULL,     -- 회원명
	"mber_se"          VARCHAR(4)         NULL,     -- 회원구분
	"mber_sttus"       VARCHAR(4)         NOT NULL, -- 회원상태
	"login_email"      VARCHAR(40)        NOT NULL, -- 로그인이메일
	"email_crtfc_at"   <데이터 타입 없음> NOT NULL, -- 이메일인증여부
	"email_recptn_at"  <데이터 타입 없음> NOT NULL, -- 이메일수신여부
	"brthdy"           DATE               NOT NULL, -- 생년월일
	"password"         VARCHAR(50)        NOT NULL, -- 비밀번호
	"mp_no"            VARCHAR(30)        NOT NULL, -- 휴대폰번호
	"mp_crtfc_at"      <데이터 타입 없음> NULL,     -- 휴대폰인증여부
	"chrctr_recptn_at" <데이터 타입 없음> NULL      -- 문자수신여부
);

-- 회원 기본키
CREATE UNIQUE INDEX "PK_yyk_mber"
	ON "yyk_mber" ( -- 회원
		"mber_id" ASC -- 회원ID
	);

-- 회원
ALTER TABLE "yyk_mber"
	ADD
		CONSTRAINT "PK_yyk_mber" -- 회원 기본키
		PRIMARY KEY (
			"mber_id" -- 회원ID
		);

-- 회원
COMMENT ON TABLE "yyk_mber" IS '회원';

-- 회원ID
COMMENT ON COLUMN "yyk_mber"."mber_id" IS '회원ID';

-- 회원명
COMMENT ON COLUMN "yyk_mber"."mber_nm" IS '회원명';

-- 회원구분
COMMENT ON COLUMN "yyk_mber"."mber_se" IS '회원구분';

-- 회원상태
COMMENT ON COLUMN "yyk_mber"."mber_sttus" IS '회원상태';

-- 로그인이메일
COMMENT ON COLUMN "yyk_mber"."login_email" IS '로그인이메일';

-- 이메일인증여부
COMMENT ON COLUMN "yyk_mber"."email_crtfc_at" IS '이메일인증여부';

-- 이메일수신여부
COMMENT ON COLUMN "yyk_mber"."email_recptn_at" IS '이메일수신여부';

-- 생년월일
COMMENT ON COLUMN "yyk_mber"."brthdy" IS '생년월일';

-- 비밀번호
COMMENT ON COLUMN "yyk_mber"."password" IS '비밀번호';

-- 휴대폰번호
COMMENT ON COLUMN "yyk_mber"."mp_no" IS '휴대폰번호';

-- 휴대폰인증여부
COMMENT ON COLUMN "yyk_mber"."mp_crtfc_at" IS '휴대폰인증여부';

-- 문자수신여부
COMMENT ON COLUMN "yyk_mber"."chrctr_recptn_at" IS '문자수신여부';

-- 회원 기본키
COMMENT ON INDEX "PK_yyk_mber" IS '회원 기본키';

-- 회원 기본키
COMMENT ON CONSTRAINT "yyk_mber"."PK_yyk_mber" IS '회원 기본키';

-- 영업시간
CREATE TABLE "yyk_bsn_time" (
	"bsn_time_id"    BIGINT             NOT NULL, -- 영업시간ID
	"bhf_id"         BIGINT             NULL,     -- 지점ID
	"year"           CHAR(4)            NULL,     -- 연도
	"mt"             CHAR(2)            NULL,     -- 월
	"dd"             CHAR(2)            NULL,     -- 일
	"dy"             VARCHAR(4)         NULL,     -- 요일
	"rstde_at"       <데이터 타입 없음> NULL,     -- 휴무일여부
	"bsn_begin_time" TIME               NULL,     -- 영업시작시간
	"bsn_end_time"   TIME               NULL      -- 영업종료시간
);

-- 영업시간 기본키
CREATE UNIQUE INDEX "PK_yyk_bsn_time"
	ON "yyk_bsn_time" ( -- 영업시간
		"bsn_time_id" ASC -- 영업시간ID
	);

-- 영업시간
ALTER TABLE "yyk_bsn_time"
	ADD
		CONSTRAINT "PK_yyk_bsn_time" -- 영업시간 기본키
		PRIMARY KEY (
			"bsn_time_id" -- 영업시간ID
		);

-- 영업시간
COMMENT ON TABLE "yyk_bsn_time" IS '영업시간';

-- 영업시간ID
COMMENT ON COLUMN "yyk_bsn_time"."bsn_time_id" IS '영업시간ID';

-- 지점ID
COMMENT ON COLUMN "yyk_bsn_time"."bhf_id" IS '지점ID';

-- 연도
COMMENT ON COLUMN "yyk_bsn_time"."year" IS '연도';

-- 월
COMMENT ON COLUMN "yyk_bsn_time"."mt" IS '월';

-- 일
COMMENT ON COLUMN "yyk_bsn_time"."dd" IS '일';

-- 요일
COMMENT ON COLUMN "yyk_bsn_time"."dy" IS '요일';

-- 휴무일여부
COMMENT ON COLUMN "yyk_bsn_time"."rstde_at" IS '휴무일여부';

-- 영업시작시간
COMMENT ON COLUMN "yyk_bsn_time"."bsn_begin_time" IS '영업시작시간';

-- 영업종료시간
COMMENT ON COLUMN "yyk_bsn_time"."bsn_end_time" IS '영업종료시간';

-- 영업시간 기본키
COMMENT ON INDEX "PK_yyk_bsn_time" IS '영업시간 기본키';

-- 영업시간 기본키
COMMENT ON CONSTRAINT "yyk_bsn_time"."PK_yyk_bsn_time" IS '영업시간 기본키';

-- 설정
CREATE TABLE "yyk_estbs" (
	"estbs_id"             BIGINT             NOT NULL, -- 설정ID
	"lsn_se"               VARCHAR(4)         NULL,     -- 수업구분
	"resve_posbl_pd"       INT                NULL,     -- 예약가능기간
	"resve_posbl_time"     DATE               NULL,     -- 예약가능시간
	"resve_cng_posbl_time" DATE               NULL,     -- 예약변경가능시간
	"cancl_posbl_time"     DATE               NULL,     -- 취소가능시간
	"close_time"           TIME               NULL,     -- 폐강시간
	"resve_posbl_co"       INT                NULL,     -- 예약가능횟수
	"resve_wait_posbl_co"  INT                NULL,     -- 예약대기가능횟수
	"resve_time_unit"      VARCHAR(4)         NULL,     -- 예약시간단위
	"lsn_mxmm_repr"        <데이터 타입 없음> NULL      -- 수업최대개수
);

-- 설정 기본키
CREATE UNIQUE INDEX "PK_yyk_estbs"
	ON "yyk_estbs" ( -- 설정
		"estbs_id" ASC -- 설정ID
	);

-- 설정
ALTER TABLE "yyk_estbs"
	ADD
		CONSTRAINT "PK_yyk_estbs" -- 설정 기본키
		PRIMARY KEY (
			"estbs_id" -- 설정ID
		);

-- 설정
COMMENT ON TABLE "yyk_estbs" IS '설정';

-- 설정ID
COMMENT ON COLUMN "yyk_estbs"."estbs_id" IS '설정ID';

-- 수업구분
COMMENT ON COLUMN "yyk_estbs"."lsn_se" IS '수업구분';

-- 예약가능기간
COMMENT ON COLUMN "yyk_estbs"."resve_posbl_pd" IS '예약가능기간';

-- 예약가능시간
COMMENT ON COLUMN "yyk_estbs"."resve_posbl_time" IS '예약가능시간';

-- 예약변경가능시간
COMMENT ON COLUMN "yyk_estbs"."resve_cng_posbl_time" IS '예약변경가능시간';

-- 취소가능시간
COMMENT ON COLUMN "yyk_estbs"."cancl_posbl_time" IS '취소가능시간';

-- 폐강시간
COMMENT ON COLUMN "yyk_estbs"."close_time" IS '폐강시간';

-- 예약가능횟수
COMMENT ON COLUMN "yyk_estbs"."resve_posbl_co" IS '예약가능횟수';

-- 예약대기가능횟수
COMMENT ON COLUMN "yyk_estbs"."resve_wait_posbl_co" IS '예약대기가능횟수';

-- 예약시간단위
COMMENT ON COLUMN "yyk_estbs"."resve_time_unit" IS '예약시간단위';

-- 수업최대개수
COMMENT ON COLUMN "yyk_estbs"."lsn_mxmm_repr" IS '수업최대개수';

-- 설정 기본키
COMMENT ON INDEX "PK_yyk_estbs" IS '설정 기본키';

-- 설정 기본키
COMMENT ON CONSTRAINT "yyk_estbs"."PK_yyk_estbs" IS '설정 기본키';

-- 락커
CREATE TABLE "yyk_locker" (
	"locker_id" BIGINT       NOT NULL, -- 락커ID
	"locker_no" VARCHAR(50)  NULL,     -- 락커번호
	"locker_dc" VARCHAR(255) NULL,     -- 락커설명
	"mber_id"   BIGINT       NULL,     -- 회원ID
	"use_bgnde" DATE         NULL,     -- 사용시작일
	"endde"     DATE         NULL      -- 만료일
);

-- 락커 기본키
CREATE UNIQUE INDEX "PK_yyk_locker"
	ON "yyk_locker" ( -- 락커
		"locker_id" ASC -- 락커ID
	);

-- 락커
ALTER TABLE "yyk_locker"
	ADD
		CONSTRAINT "PK_yyk_locker" -- 락커 기본키
		PRIMARY KEY (
			"locker_id" -- 락커ID
		);

-- 락커
COMMENT ON TABLE "yyk_locker" IS '락커';

-- 락커ID
COMMENT ON COLUMN "yyk_locker"."locker_id" IS '락커ID';

-- 락커번호
COMMENT ON COLUMN "yyk_locker"."locker_no" IS '락커번호';

-- 락커설명
COMMENT ON COLUMN "yyk_locker"."locker_dc" IS '락커설명';

-- 회원ID
COMMENT ON COLUMN "yyk_locker"."mber_id" IS '회원ID';

-- 사용시작일
COMMENT ON COLUMN "yyk_locker"."use_bgnde" IS '사용시작일';

-- 만료일
COMMENT ON COLUMN "yyk_locker"."endde" IS '만료일';

-- 락커 기본키
COMMENT ON INDEX "PK_yyk_locker" IS '락커 기본키';

-- 락커 기본키
COMMENT ON CONSTRAINT "yyk_locker"."PK_yyk_locker" IS '락커 기본키';

-- 약관
CREATE TABLE "yyk_stplat" (
	"stplat_id"  BIGINT             NOT NULL, -- 약관ID
	"stplat_cn"  TEXT               NOT NULL, -- 약관내용
	"essntl_at"  <데이터 타입 없음> NOT NULL, -- 필수여부
	"expsr_at"   <데이터 타입 없음> NOT NULL, -- 노출여부
	"rgstr_id"   BIGINT             NULL,     -- 등록자ID
	"rgstr_ip"   VARCHAR(50)        NULL,     -- 등록자IP
	"reg_dt"     DATE               NOT NULL, -- 등록일시
	"upd_usr_id" BIGINT             NULL,     -- 수정자ID
	"upd_usr_ip" VARCHAR(50)        NULL,     -- 수정자IP
	"updt_dt"    DATE               NULL      -- 수정일시
);

-- 약관 기본키
CREATE UNIQUE INDEX "PK_yyk_stplat"
	ON "yyk_stplat" ( -- 약관
		"stplat_id" ASC -- 약관ID
	);

-- 약관
ALTER TABLE "yyk_stplat"
	ADD
		CONSTRAINT "PK_yyk_stplat" -- 약관 기본키
		PRIMARY KEY (
			"stplat_id" -- 약관ID
		);

-- 약관
COMMENT ON TABLE "yyk_stplat" IS '약관';

-- 약관ID
COMMENT ON COLUMN "yyk_stplat"."stplat_id" IS '약관ID';

-- 약관내용
COMMENT ON COLUMN "yyk_stplat"."stplat_cn" IS '약관내용';

-- 필수여부
COMMENT ON COLUMN "yyk_stplat"."essntl_at" IS '필수여부';

-- 노출여부
COMMENT ON COLUMN "yyk_stplat"."expsr_at" IS '노출여부';

-- 등록자ID
COMMENT ON COLUMN "yyk_stplat"."rgstr_id" IS '등록자ID';

-- 등록자IP
COMMENT ON COLUMN "yyk_stplat"."rgstr_ip" IS '등록자IP';

-- 등록일시
COMMENT ON COLUMN "yyk_stplat"."reg_dt" IS '등록일시';

-- 수정자ID
COMMENT ON COLUMN "yyk_stplat"."upd_usr_id" IS '수정자ID';

-- 수정자IP
COMMENT ON COLUMN "yyk_stplat"."upd_usr_ip" IS '수정자IP';

-- 수정일시
COMMENT ON COLUMN "yyk_stplat"."updt_dt" IS '수정일시';

-- 약관 기본키
COMMENT ON INDEX "PK_yyk_stplat" IS '약관 기본키';

-- 약관 기본키
COMMENT ON CONSTRAINT "yyk_stplat"."PK_yyk_stplat" IS '약관 기본키';

-- 약관동의
CREATE TABLE "yyk_stplat_agre" (
	"stplat_id"      BIGINT             NOT NULL, -- 약관ID
	"mber_id"        BIGINT             NOT NULL, -- 회원ID
	"essntl_at"      <데이터 타입 없음> NOT NULL, -- 필수여부
	"expsr_at"       <데이터 타입 없음> NOT NULL, -- 노출여부
	"stplat_agre_at" <데이터 타입 없음> NOT NULL, -- 약관동의여부
	"agre_dt"        DATE               NULL,     -- 동의일시
	"agre_ip"        VARCHAR(50)        NULL,     -- 동의IP
	"updt_dt"        DATE               NULL,     -- 수정일시
	"upd_ip"         VARCHAR(50)        NULL      -- 수정IP
);

-- 약관동의 기본키
CREATE UNIQUE INDEX "PK_yyk_stplat_agre"
	ON "yyk_stplat_agre" ( -- 약관동의
		"stplat_id" ASC, -- 약관ID
		"mber_id"   ASC  -- 회원ID
	);

-- 약관동의
ALTER TABLE "yyk_stplat_agre"
	ADD
		CONSTRAINT "PK_yyk_stplat_agre" -- 약관동의 기본키
		PRIMARY KEY (
			"stplat_id", -- 약관ID
			"mber_id"    -- 회원ID
		);

-- 약관동의
COMMENT ON TABLE "yyk_stplat_agre" IS '약관동의';

-- 약관ID
COMMENT ON COLUMN "yyk_stplat_agre"."stplat_id" IS '약관ID';

-- 회원ID
COMMENT ON COLUMN "yyk_stplat_agre"."mber_id" IS '회원ID';

-- 필수여부
COMMENT ON COLUMN "yyk_stplat_agre"."essntl_at" IS '필수여부';

-- 노출여부
COMMENT ON COLUMN "yyk_stplat_agre"."expsr_at" IS '노출여부';

-- 약관동의여부
COMMENT ON COLUMN "yyk_stplat_agre"."stplat_agre_at" IS '약관동의여부';

-- 동의일시
COMMENT ON COLUMN "yyk_stplat_agre"."agre_dt" IS '동의일시';

-- 동의IP
COMMENT ON COLUMN "yyk_stplat_agre"."agre_ip" IS '동의IP';

-- 수정일시
COMMENT ON COLUMN "yyk_stplat_agre"."updt_dt" IS '수정일시';

-- 수정IP
COMMENT ON COLUMN "yyk_stplat_agre"."upd_ip" IS '수정IP';

-- 약관동의 기본키
COMMENT ON INDEX "PK_yyk_stplat_agre" IS '약관동의 기본키';

-- 약관동의 기본키
COMMENT ON CONSTRAINT "yyk_stplat_agre"."PK_yyk_stplat_agre" IS '약관동의 기본키';

-- 스케줄
ALTER TABLE "yyk_schdul"
	ADD
		CONSTRAINT "FK_yyk_lsn_TO_yyk_schdul" -- 수업 -> 스케줄
		FOREIGN KEY (
			"lsn_id" -- 수업ID
		)
		REFERENCES "yyk_lsn" ( -- 수업
			"lsn_id" -- 수업ID
		);

-- 수업 -> 스케줄
COMMENT ON CONSTRAINT "yyk_schdul"."FK_yyk_lsn_TO_yyk_schdul" IS '수업 -> 스케줄';

-- 스케줄
ALTER TABLE "yyk_schdul"
	ADD
		CONSTRAINT "FK_yyk_room_TO_yyk_schdul" -- 방 -> 스케줄
		FOREIGN KEY (
			"room_id" -- 방ID
		)
		REFERENCES "yyk_room" ( -- 방
			"room_id" -- 방ID
		);

-- 방 -> 스케줄
COMMENT ON CONSTRAINT "yyk_schdul"."FK_yyk_room_TO_yyk_schdul" IS '방 -> 스케줄';

-- 스케줄
ALTER TABLE "yyk_schdul"
	ADD
		CONSTRAINT "FK_yyk_instrctr_TO_yyk_schdul" -- 강사 -> 스케줄
		FOREIGN KEY (
			"instrctr_id" -- 강사ID
		)
		REFERENCES "yyk_instrctr" ( -- 강사
			"instrctr_id" -- 강사ID
		);

-- 강사 -> 스케줄
COMMENT ON CONSTRAINT "yyk_schdul"."FK_yyk_instrctr_TO_yyk_schdul" IS '강사 -> 스케줄';

-- 수업
ALTER TABLE "yyk_lsn"
	ADD
		CONSTRAINT "FK_yyk_instrctr_TO_yyk_lsn" -- 강사 -> 수업
		FOREIGN KEY (
			"instrctr_id" -- 강사ID
		)
		REFERENCES "yyk_instrctr" ( -- 강사
			"instrctr_id" -- 강사ID
		);

-- 강사 -> 수업
COMMENT ON CONSTRAINT "yyk_lsn"."FK_yyk_instrctr_TO_yyk_lsn" IS '강사 -> 수업';

-- 알림
ALTER TABLE "yyk_ntcn"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_ntcn" -- 회원 -> 알림
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 알림
COMMENT ON CONSTRAINT "yyk_ntcn"."FK_yyk_mber_TO_yyk_ntcn" IS '회원 -> 알림';

-- 수강권
ALTER TABLE "yyk_atnlccd"
	ADD
		CONSTRAINT "FK_yyk_mngr_TO_yyk_atnlccd" -- 관리자 -> 수강권
		FOREIGN KEY (
			"mngr_id" -- 관리자ID
		)
		REFERENCES "yyk_mngr" ( -- 관리자
			"mngr_id" -- 관리자ID
		);

-- 관리자 -> 수강권
COMMENT ON CONSTRAINT "yyk_atnlccd"."FK_yyk_mngr_TO_yyk_atnlccd" IS '관리자 -> 수강권';

-- SMS
ALTER TABLE "yyk_sms"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_sms" -- 회원 -> SMS
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> SMS
COMMENT ON CONSTRAINT "yyk_sms"."FK_yyk_mber_TO_yyk_sms" IS '회원 -> SMS';

-- 공지
ALTER TABLE "yyk_notice"
	ADD
		CONSTRAINT "FK_yyk_mngr_TO_yyk_notice" -- 관리자 -> 공지
		FOREIGN KEY (
			"mngr_id" -- 관리자ID
		)
		REFERENCES "yyk_mngr" ( -- 관리자
			"mngr_id" -- 관리자ID
		);

-- 관리자 -> 공지
COMMENT ON CONSTRAINT "yyk_notice"."FK_yyk_mngr_TO_yyk_notice" IS '관리자 -> 공지';

-- 상담
ALTER TABLE "yyk_cnslt"
	ADD
		CONSTRAINT "FK_yyk_mngr_TO_yyk_cnslt" -- 관리자 -> 상담
		FOREIGN KEY (
			"mngr_id" -- 관리자ID
		)
		REFERENCES "yyk_mngr" ( -- 관리자
			"mngr_id" -- 관리자ID
		);

-- 관리자 -> 상담
COMMENT ON CONSTRAINT "yyk_cnslt"."FK_yyk_mngr_TO_yyk_cnslt" IS '관리자 -> 상담';

-- 상담
ALTER TABLE "yyk_cnslt"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_cnslt" -- 회원 -> 상담
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 상담
COMMENT ON CONSTRAINT "yyk_cnslt"."FK_yyk_mber_TO_yyk_cnslt" IS '회원 -> 상담';

-- 스케줄변경
ALTER TABLE "yyk_schdul_cng"
	ADD
		CONSTRAINT "FK_yyk_schdul_TO_yyk_schdul_cng" -- 스케줄 -> 스케줄변경
		FOREIGN KEY (
			"schdul_id" -- 스케줄ID
		)
		REFERENCES "yyk_schdul" ( -- 스케줄
			"schdul_id" -- 스케줄ID
		);

-- 스케줄 -> 스케줄변경
COMMENT ON CONSTRAINT "yyk_schdul_cng"."FK_yyk_schdul_TO_yyk_schdul_cng" IS '스케줄 -> 스케줄변경';

-- 회원수강권
ALTER TABLE "yyk_mber_atnlccd"
	ADD
		CONSTRAINT "FK_yyk_issu_atnlccd_TO_yyk_mber_atnlccd" -- 발급수강권 -> 회원수강권
		FOREIGN KEY (
			"issu_atnlccd_id" -- 발급수강권ID
		)
		REFERENCES "yyk_issu_atnlccd" ( -- 발급수강권
			"issu_atnlccd_id" -- 발급수강권ID
		);

-- 발급수강권 -> 회원수강권
COMMENT ON CONSTRAINT "yyk_mber_atnlccd"."FK_yyk_issu_atnlccd_TO_yyk_mber_atnlccd" IS '발급수강권 -> 회원수강권';

-- 회원수강권
ALTER TABLE "yyk_mber_atnlccd"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_mber_atnlccd" -- 회원 -> 회원수강권
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 회원수강권
COMMENT ON CONSTRAINT "yyk_mber_atnlccd"."FK_yyk_mber_TO_yyk_mber_atnlccd" IS '회원 -> 회원수강권';

-- 방
ALTER TABLE "yyk_room"
	ADD
		CONSTRAINT "FK_yyk_bhf_TO_yyk_room" -- 지점 -> 방
		FOREIGN KEY (
			"bhf_id" -- 지점ID
		)
		REFERENCES "yyk_bhf" ( -- 지점
			"bhf_id" -- 지점ID
		);

-- 지점 -> 방
COMMENT ON CONSTRAINT "yyk_room"."FK_yyk_bhf_TO_yyk_room" IS '지점 -> 방';

-- 수업회원
ALTER TABLE "yyk_lsn_mber"
	ADD
		CONSTRAINT "FK_yyk_lsn_TO_yyk_lsn_mber" -- 수업 -> 수업회원
		FOREIGN KEY (
			"lsn_id" -- 수업ID
		)
		REFERENCES "yyk_lsn" ( -- 수업
			"lsn_id" -- 수업ID
		);

-- 수업 -> 수업회원
COMMENT ON CONSTRAINT "yyk_lsn_mber"."FK_yyk_lsn_TO_yyk_lsn_mber" IS '수업 -> 수업회원';

-- 수업회원
ALTER TABLE "yyk_lsn_mber"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_lsn_mber" -- 회원 -> 수업회원
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 수업회원
COMMENT ON CONSTRAINT "yyk_lsn_mber"."FK_yyk_mber_TO_yyk_lsn_mber" IS '회원 -> 수업회원';

-- 수강가능수업
ALTER TABLE "yyk_atnlc_posbl_lsn"
	ADD
		CONSTRAINT "FK_yyk_lsn_TO_yyk_atnlc_posbl_lsn" -- 수업 -> 수강가능수업
		FOREIGN KEY (
			"lsn_id" -- 수업ID
		)
		REFERENCES "yyk_lsn" ( -- 수업
			"lsn_id" -- 수업ID
		);

-- 수업 -> 수강가능수업
COMMENT ON CONSTRAINT "yyk_atnlc_posbl_lsn"."FK_yyk_lsn_TO_yyk_atnlc_posbl_lsn" IS '수업 -> 수강가능수업';

-- 수강가능수업
ALTER TABLE "yyk_atnlc_posbl_lsn"
	ADD
		CONSTRAINT "FK_yyk_atnlccd_TO_yyk_atnlc_posbl_lsn" -- 수강권 -> 수강가능수업
		FOREIGN KEY (
			"atnlccd_id" -- 수강권ID
		)
		REFERENCES "yyk_atnlccd" ( -- 수강권
			"atnlccd_id" -- 수강권ID
		);

-- 수강권 -> 수강가능수업
COMMENT ON CONSTRAINT "yyk_atnlc_posbl_lsn"."FK_yyk_atnlccd_TO_yyk_atnlc_posbl_lsn" IS '수강권 -> 수강가능수업';

-- 수강
ALTER TABLE "yyk_atnlc"
	ADD
		CONSTRAINT "FK_yyk_schdul_TO_yyk_atnlc" -- 스케줄 -> 수강
		FOREIGN KEY (
			"schdul_id" -- 스케줄ID
		)
		REFERENCES "yyk_schdul" ( -- 스케줄
			"schdul_id" -- 스케줄ID
		);

-- 스케줄 -> 수강
COMMENT ON CONSTRAINT "yyk_atnlc"."FK_yyk_schdul_TO_yyk_atnlc" IS '스케줄 -> 수강';

-- 수강
ALTER TABLE "yyk_atnlc"
	ADD
		CONSTRAINT "FK_yyk_issu_atnlccd_TO_yyk_atnlc" -- 발급수강권 -> 수강
		FOREIGN KEY (
			"issu_atnlccd_id" -- 발급수강권ID
		)
		REFERENCES "yyk_issu_atnlccd" ( -- 발급수강권
			"issu_atnlccd_id" -- 발급수강권ID
		);

-- 발급수강권 -> 수강
COMMENT ON CONSTRAINT "yyk_atnlc"."FK_yyk_issu_atnlccd_TO_yyk_atnlc" IS '발급수강권 -> 수강';

-- 발급수강권
ALTER TABLE "yyk_issu_atnlccd"
	ADD
		CONSTRAINT "FK_yyk_atnlccd_TO_yyk_issu_atnlccd" -- 수강권 -> 발급수강권
		FOREIGN KEY (
			"atnlccd_id" -- 수강권ID
		)
		REFERENCES "yyk_atnlccd" ( -- 수강권
			"atnlccd_id" -- 수강권ID
		);

-- 수강권 -> 발급수강권
COMMENT ON CONSTRAINT "yyk_issu_atnlccd"."FK_yyk_atnlccd_TO_yyk_issu_atnlccd" IS '수강권 -> 발급수강권';

-- 발급수강권
ALTER TABLE "yyk_issu_atnlccd"
	ADD
		CONSTRAINT "FK_yyk_mngr_TO_yyk_issu_atnlccd" -- 관리자 -> 발급수강권
		FOREIGN KEY (
			"issuer_id" -- 발급자ID
		)
		REFERENCES "yyk_mngr" ( -- 관리자
			"mngr_id" -- 관리자ID
		);

-- 관리자 -> 발급수강권
COMMENT ON CONSTRAINT "yyk_issu_atnlccd"."FK_yyk_mngr_TO_yyk_issu_atnlccd" IS '관리자 -> 발급수강권';

-- 관리지점
ALTER TABLE "yyk_mng_spot"
	ADD
		CONSTRAINT "FK_yyk_bhf_TO_yyk_mng_spot" -- 지점 -> 관리지점
		FOREIGN KEY (
			"bhf_id" -- 지점ID
		)
		REFERENCES "yyk_bhf" ( -- 지점
			"bhf_id" -- 지점ID
		);

-- 지점 -> 관리지점
COMMENT ON CONSTRAINT "yyk_mng_spot"."FK_yyk_bhf_TO_yyk_mng_spot" IS '지점 -> 관리지점';

-- 관리지점
ALTER TABLE "yyk_mng_spot"
	ADD
		CONSTRAINT "FK_yyk_mngr_TO_yyk_mng_spot" -- 관리자 -> 관리지점
		FOREIGN KEY (
			"mngr_id" -- 관리자ID
		)
		REFERENCES "yyk_mngr" ( -- 관리자
			"mngr_id" -- 관리자ID
		);

-- 관리자 -> 관리지점
COMMENT ON CONSTRAINT "yyk_mng_spot"."FK_yyk_mngr_TO_yyk_mng_spot" IS '관리자 -> 관리지점';

-- 결제내역
ALTER TABLE "yyk_setle_dtls"
	ADD
		CONSTRAINT "FK_yyk_mber_atnlccd_TO_yyk_setle_dtls" -- 회원수강권 -> 결제내역
		FOREIGN KEY (
			"mber_atnlccd_id" -- 회원수강권ID
		)
		REFERENCES "yyk_mber_atnlccd" ( -- 회원수강권
			"mber_atnlccd_id" -- 회원수강권ID
		);

-- 회원수강권 -> 결제내역
COMMENT ON CONSTRAINT "yyk_setle_dtls"."FK_yyk_mber_atnlccd_TO_yyk_setle_dtls" IS '회원수강권 -> 결제내역';

-- 발급수강권변경내역
ALTER TABLE "yyk_issu_atnlccd_cng_dtls"
	ADD
		CONSTRAINT "FK_yyk_issu_atnlccd_TO_yyk_issu_atnlccd_cng_dtls" -- 발급수강권 -> 발급수강권변경내역
		FOREIGN KEY (
			"issu_atnlccd_id" -- 발급수강권ID
		)
		REFERENCES "yyk_issu_atnlccd" ( -- 발급수강권
			"issu_atnlccd_id" -- 발급수강권ID
		);

-- 발급수강권 -> 발급수강권변경내역
COMMENT ON CONSTRAINT "yyk_issu_atnlccd_cng_dtls"."FK_yyk_issu_atnlccd_TO_yyk_issu_atnlccd_cng_dtls" IS '발급수강권 -> 발급수강권변경내역';

-- 금액산정
ALTER TABLE "yyk_am_calc"
	ADD
		CONSTRAINT "FK_yyk_instrctr_TO_yyk_am_calc" -- 강사 -> 금액산정
		FOREIGN KEY (
			"instrctr_id" -- 강사ID
		)
		REFERENCES "yyk_instrctr" ( -- 강사
			"instrctr_id" -- 강사ID
		);

-- 강사 -> 금액산정
COMMENT ON CONSTRAINT "yyk_am_calc"."FK_yyk_instrctr_TO_yyk_am_calc" IS '강사 -> 금액산정';

-- 수강권정지
ALTER TABLE "yyk_atnlccd_stop"
	ADD
		CONSTRAINT "FK_yyk_issu_atnlccd_TO_yyk_atnlccd_stop" -- 발급수강권 -> 수강권정지
		FOREIGN KEY (
			"issu_atnlccd_id" -- 발급수강권ID
		)
		REFERENCES "yyk_issu_atnlccd" ( -- 발급수강권
			"issu_atnlccd_id" -- 발급수강권ID
		);

-- 발급수강권 -> 수강권정지
COMMENT ON CONSTRAINT "yyk_atnlccd_stop"."FK_yyk_issu_atnlccd_TO_yyk_atnlccd_stop" IS '발급수강권 -> 수강권정지';

-- 지점이미지
ALTER TABLE "yyk_bhf_image"
	ADD
		CONSTRAINT "FK_yyk_bhf_TO_yyk_bhf_image" -- 지점 -> 지점이미지
		FOREIGN KEY (
			"bhf_id" -- 지점ID
		)
		REFERENCES "yyk_bhf" ( -- 지점
			"bhf_id" -- 지점ID
		);

-- 지점 -> 지점이미지
COMMENT ON CONSTRAINT "yyk_bhf_image"."FK_yyk_bhf_TO_yyk_bhf_image" IS '지점 -> 지점이미지';

-- 방이미지
ALTER TABLE "yyk_bhf_image2"
	ADD
		CONSTRAINT "FK_yyk_room_TO_yyk_bhf_image2" -- 방 -> 방이미지
		FOREIGN KEY (
			"room_id" -- 방ID
		)
		REFERENCES "yyk_room" ( -- 방
			"room_id" -- 방ID
		);

-- 방 -> 방이미지
COMMENT ON CONSTRAINT "yyk_bhf_image2"."FK_yyk_room_TO_yyk_bhf_image2" IS '방 -> 방이미지';

-- 리뷰이미지
ALTER TABLE "yyk_review_image"
	ADD
		CONSTRAINT "FK_yyk_atnlc_TO_yyk_review_image" -- 수강 -> 리뷰이미지
		FOREIGN KEY (
			"schdul_id",       -- 스케줄ID
			"issu_atnlccd_id"  -- 발급수강권ID
		)
		REFERENCES "yyk_atnlc" ( -- 수강
			"schdul_id",       -- 스케줄ID
			"issu_atnlccd_id"  -- 발급수강권ID
		);

-- 수강 -> 리뷰이미지
COMMENT ON CONSTRAINT "yyk_review_image"."FK_yyk_atnlc_TO_yyk_review_image" IS '수강 -> 리뷰이미지';

-- 메모이미지
ALTER TABLE "yyk_memo_image"
	ADD
		CONSTRAINT "FK_yyk_atnlc_TO_yyk_memo_image" -- 수강 -> 메모이미지
		FOREIGN KEY (
			"schdul_id",       -- 스케줄ID
			"issu_atnlccd_id"  -- 발급수강권ID
		)
		REFERENCES "yyk_atnlc" ( -- 수강
			"schdul_id",       -- 스케줄ID
			"issu_atnlccd_id"  -- 발급수강권ID
		);

-- 수강 -> 메모이미지
COMMENT ON CONSTRAINT "yyk_memo_image"."FK_yyk_atnlc_TO_yyk_memo_image" IS '수강 -> 메모이미지';

-- 근무시간
ALTER TABLE "yyk_work_time"
	ADD
		CONSTRAINT "FK_yyk_instrctr_TO_yyk_work_time" -- 강사 -> 근무시간
		FOREIGN KEY (
			"instrctr_id" -- 강사ID
		)
		REFERENCES "yyk_instrctr" ( -- 강사
			"instrctr_id" -- 강사ID
		);

-- 강사 -> 근무시간
COMMENT ON CONSTRAINT "yyk_work_time"."FK_yyk_instrctr_TO_yyk_work_time" IS '강사 -> 근무시간';

-- 담당회원
ALTER TABLE "yyk_chrg_mber"
	ADD
		CONSTRAINT "FK_yyk_instrctr_TO_yyk_chrg_mber" -- 강사 -> 담당회원
		FOREIGN KEY (
			"instrctr_id" -- 강사ID
		)
		REFERENCES "yyk_instrctr" ( -- 강사
			"instrctr_id" -- 강사ID
		);

-- 강사 -> 담당회원
COMMENT ON CONSTRAINT "yyk_chrg_mber"."FK_yyk_instrctr_TO_yyk_chrg_mber" IS '강사 -> 담당회원';

-- 담당회원
ALTER TABLE "yyk_chrg_mber"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_chrg_mber" -- 회원 -> 담당회원
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 담당회원
COMMENT ON CONSTRAINT "yyk_chrg_mber"."FK_yyk_mber_TO_yyk_chrg_mber" IS '회원 -> 담당회원';

-- 휴식시간
ALTER TABLE "yyk_rest_time"
	ADD
		CONSTRAINT "FK_yyk_work_time_TO_yyk_rest_time" -- 근무시간 -> 휴식시간
		FOREIGN KEY (
			"work_time_id" -- 근무시간ID
		)
		REFERENCES "yyk_work_time" ( -- 근무시간
			"work_time_id" -- 근무시간ID
		);

-- 근무시간 -> 휴식시간
COMMENT ON CONSTRAINT "yyk_rest_time"."FK_yyk_work_time_TO_yyk_rest_time" IS '근무시간 -> 휴식시간';

-- 강사이력
ALTER TABLE "yyk_instrctr_his"
	ADD
		CONSTRAINT "FK_yyk_instrctr_TO_yyk_instrctr_his" -- 강사 -> 강사이력
		FOREIGN KEY (
			"instrctr_id" -- 강사ID
		)
		REFERENCES "yyk_instrctr" ( -- 강사
			"instrctr_id" -- 강사ID
		);

-- 강사 -> 강사이력
COMMENT ON CONSTRAINT "yyk_instrctr_his"."FK_yyk_instrctr_TO_yyk_instrctr_his" IS '강사 -> 강사이력';

-- 앱메시지
ALTER TABLE "yyk_app_mssage"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_app_mssage" -- 회원 -> 앱메시지
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 앱메시지
COMMENT ON CONSTRAINT "yyk_app_mssage"."FK_yyk_mber_TO_yyk_app_mssage" IS '회원 -> 앱메시지';

-- 영업시간
ALTER TABLE "yyk_bsn_time"
	ADD
		CONSTRAINT "FK_yyk_bhf_TO_yyk_bsn_time" -- 지점 -> 영업시간
		FOREIGN KEY (
			"bhf_id" -- 지점ID
		)
		REFERENCES "yyk_bhf" ( -- 지점
			"bhf_id" -- 지점ID
		);

-- 지점 -> 영업시간
COMMENT ON CONSTRAINT "yyk_bsn_time"."FK_yyk_bhf_TO_yyk_bsn_time" IS '지점 -> 영업시간';

-- 락커
ALTER TABLE "yyk_locker"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_locker" -- 회원 -> 락커
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 락커
COMMENT ON CONSTRAINT "yyk_locker"."FK_yyk_mber_TO_yyk_locker" IS '회원 -> 락커';

-- 약관동의
ALTER TABLE "yyk_stplat_agre"
	ADD
		CONSTRAINT "FK_yyk_stplat_TO_yyk_stplat_agre" -- 약관 -> 약관동의
		FOREIGN KEY (
			"stplat_id" -- 약관ID
		)
		REFERENCES "yyk_stplat" ( -- 약관
			"stplat_id" -- 약관ID
		);

-- 약관 -> 약관동의
COMMENT ON CONSTRAINT "yyk_stplat_agre"."FK_yyk_stplat_TO_yyk_stplat_agre" IS '약관 -> 약관동의';

-- 약관동의
ALTER TABLE "yyk_stplat_agre"
	ADD
		CONSTRAINT "FK_yyk_mber_TO_yyk_stplat_agre" -- 회원 -> 약관동의
		FOREIGN KEY (
			"mber_id" -- 회원ID
		)
		REFERENCES "yyk_mber" ( -- 회원
			"mber_id" -- 회원ID
		);

-- 회원 -> 약관동의
COMMENT ON CONSTRAINT "yyk_stplat_agre"."FK_yyk_mber_TO_yyk_stplat_agre" IS '회원 -> 약관동의';
profile
[DATABASE] 비전공자 출신의 개발 도전!

0개의 댓글