-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
docsDocumentationsDocumentations
Description
ACCOMMODATION (숙박업체)
CREATE TABLE ACCOMMODATION (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ACCOMMODATION_NAME VARCHAR(255) NOT NULL COMMENT '숙박업체명',
ACCOMMODATION_TYPE VARCHAR(255) NOT NULL COMMENT '숙박업체 타입',
BIZNO VARCHAR(20) NOT NULL COMMENT '사업자번호',
COUNTRY_CD VARCHAR(255) NOT NULL COMMENT '국가코드',
CITY VARCHAR(255) NOT NULL COMMENT '시/도',
STATE VARCHAR(255) NOT NULL COMMENT '행정구역',
STREET VARCHAR(255) NOT NULL COMMENT '나머지주소',
ZIPCODE VARCHAR(255) NOT NULL COMMENT '우편번호',
CHECKIN_DESCRIPTION LONGTEXT COMMENT '체크인 상세설명',
CHECKIN_START_TIME TIME NOT NULL COMMENT '체크인 시작시간',
CHECKOUT_END_TIME TIME NOT NULL COMMENT '체크아웃 종료시간',
MIN_CHECKIN_AGE INTEGER NOT NULL COMMENT '체크인 가능 최소 나이',
RESPE_USER_ID BIGINT NOT NULL COMMENT '담당자 유저 인덱스',
RESPE_EMAIL VARCHAR(255) NOT NULL COMMENT '담당자 이메일',
RESPE_HPNO VARCHAR(20) NOT NULL COMMENT '담당자 휴대폰번호',
TEL_NO VARCHAR(20) NOT NULL COMMENT '숙박업체 전화번호',
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '수정일자',
LAST_MODIFIED_BY INT(11) NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
CREATED_BY INT(11) NOT NULL COMMENT '등록자',
FOREIGN KEY (RESPE_USER_ID) REFERENCES USERS(ID)
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;ACCOMMODATION_TYPE (숙박업체 타입)
Enum
- 단독 아파트/홈(아파트,빌라)/호텔(게스트하우스,호스텔)/기타숙소(캠핑장/텐트)
ACCOMMODATION_ROLE (숙박업체 권한)
- 진행 상태 코드 : 승인(APPROVAL) 과 반려(DENY), 대기(PENDING)
- 숙박 업체 타입은 여러개일 수 있다 ?
CREATE TABLE ACCOMMODATION_ROLE (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ACCOMMODATION_ID BIGINT NOT NULL COMMENT '숙박업체 인덱스',
PROG_STATUS_CD BIGINT NOT NULL COMMENT '진행상태 코드',
STOPPED_DTS DATETIME(6) COMMENT '중지일자',
STOPPED_RSN LONGTEXT COMMENT '중지사유',
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '수정일자',
LAST_MODIFIED_BY INT(11) NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
CREATED_BY INT(11) NOT NULL COMMENT '등록자',
FOREIGN KEY (ACCOMMODATION_ID) REFERENCES ACCOMMODATION(ID)
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;ACCOMMODATION_ROOM (객실)
CREATE TABLE ACCOMMODATION_ROOM (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ROOM_TYPE VARCHAR(255) NOT NULL COMMENT '객실 타입',
ROOM_NAME VARCHAR(255) NOT NULL COMMENT '객실명',
PRIORITY INTEGER NOT NULL COMMENT '객실 우선순위',
MAX_ENTRANCT_CNT INTEGER NOT NULL COMMENT '투숙 가능 인원',
STOCK INTEGER NOT NULL COMMENT '재고',
ACCOMMODATION_ID BIGINT NOT NULL COMMENT '숙박업체 인덱스',
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
LAST_MODIFIED_BY INT(11) NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
CREATED_BY INT(11) NOT NULL COMMENT '등록자',
FOREIGN KEY (ACCOMMODATION_ID) REFERENCES ACCOMMODATION(ID)
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;ACCOMMODATION_GROUP_COMMON_CODE (숙박업체 그룹 공통코드)
- 비즈니스 시설 : A001
- 상점 : B001
- 기타 : C001
CREATE TABLE ACCOMMODATION_GROUP_COMMON_CODE (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
GRP_CODE VARCHAR(5) UNIQUE,
GRP_CODE_NAME VARCHAR(50) NOT NULL COMMENT '그룹코드명'
GRP_CODE_DESC VARCHAR(200) NOT NULL COMMENT '그룹코드설명'
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '수정일자',
LAST_MODIFIED_BY INTEGER NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
CREATED_BY INTEGER NOT NULL COMMENT '등록자',
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;ACCOMMODATION_COMMON_CODE (숙박업체 공통코드)
-
비즈니스 시설 (A001)
- 비즈니스 센터 A001-01
- 회의 시설 A001-02
- 팩스/복사 A001-03
-
상점
- 구매 상점 B001-01
- 미용실 B001-02
-
기타
- 엘리베이터 C001-01
- VIP용 시설 C001-02
CREATE TABLE ACCOMMODATION_COMMON_CODE (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
CODE VARCHAR(10) UNIQUE,
GRP_CODE_ID BIGINT NOT NULL COMMENT '숙박업체 그룹 공통코드 인덱스'
CODE_NAME VARCHAR(50) NOT NULL COMMENT '코드명'
CODE_DESC VARCHAR(200) NOT NULL COMMENT '코드설명'
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '수정일자',
LAST_MODIFIED_BY INT(11) NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
CREATED_BY INT(11) NOT NULL COMMENT '등록자',
FOREIGN KEY (GRP_CODE_ID) REFERENCES ACCOMMODATION_GROUP_COMMON_CODE(�ID)
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;ACCOMMODATION_ROOM_INFO (객실 부가정보)
- 침실 위치 침실 / 거실 / 기타공간
- 숙소에서 이용할 수 있는 부가기능 (bar, 사우나, 무료 WIFI, 에어컨 등)
- 숙소 정책 (흡연 가능 여부, 반려동물 동반 가능 여부 등)
CREATE TABLE ACCOMMODATION_ROOM_INFO (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ACCOMMODATION_ROOM_ID BIGINT NOT NULL COMMENT '객실 인덱스',
CODE_ID VARCHAR(10) NOT NULL COMMENT '숙박업체 공통코드 인덱스',
ACTIVE TINYINT(1) NOT NULL COMMENT '�공통코드 제공여부',
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '수정일자',
LAST_MODIFIED_BY INT(11) NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
CREATED_BY INT(11) NOT NULL COMMENT '등록자',
FOREIGN KEY (ACCOMMODATION_ROOM_ID) REFERENCES ACCOMMODATION_ROOM(ID),
FOREIGN KEY (CODE_ID) REFERENCES ACCOMMODATION_COMMON_CODE(ID)
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;ACCOMMODATION_ROOM_FEE (객실 요금)
- 숙소 관련 요금 정보
- 뷔페 아침 식사 요금
- 주차 대행 요금
- 간이 침대 이용 요금
- 결제 옵션
- 신용카드 결제 가능 여부
- 지불 요금
- 무료 취소가 가능한 일 수
CREATE TABLE ACCOMMODATION_ROOM_FEE (
ID INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ACCOMMODATION_ROOM_ID BIGINT NOT NULL COMMENT '객실 인덱스',
ACTIVE TINYINT(1) NOT NULL COMMENT '�기본요금 설정 여부',
FEE_NAME VARCHAR(255) NOT NULL COMMENT '객실 요금제명',
FEE DECIMAL NOT NULL COMMENT '객실 요금',
LAST_MODIFIED_AT DATETIME(6) NOT NULL COMMENT '수정일자',
LAST_MODIFIED_BY INT(11) NOT NULL COMMENT '수정자',
CREATED_AT DATETIME(6) NOT NULL COMMENT '등록일자',
REATED_BY INT(11) NOT NULL COMMENT '등록자',
FOREIGN KEY (ACCOMMODATION_ROOM_ID) REFERENCES ACCOMMODATION_ROOM(ID)
) DEFAULT character set utf8mb4 collate utf8mb4_unicode_ci;테이블 관계
- 숙박업체(ACCOMMODATION) : 숙박업체 권한(ACCOMMODATION_ROLE) = 1: N
- 숙박업체(ACCOMMODATION) : 객실(ACCOMMODATION_ROOM) = 1: N
- 객실(ACCOMMODATION_ROOM) : 객실 부가정보(ACCOMMODATION_ROOM_INFO) = 1: N
- 객실(ACCOMMODATION_ROOM) : 객실 요금(ACCOMMODATION_ROOM_FEE) = 1: N
- 숙박업체 그룹 공통코드 (ACCOMMODATION_GROUP_COMMON_CODE) : 숙박업체 공통코드 (ACCOMMODATION_COMMON_CODE) = 1 : N
- 숙박업체 공통코드 (ACCOMMODATION_COMMON_CODE) : 객실 부가정보(ACCOMMODATION_ROOM_INFO) = 1 : N
History
- 숙박업체 관계 (ACCOMMODATION_REL) 테이블 제거
각 지점별 숙박업체는 관계성이 없고, 숙박업체 서비스 확인 결과, 상위-하위 관계로 관리되고 있는 부분 미존재. 각 숙박 업체는 별개의 사업자로 생각
- IDX -> ID 컬럼명 UPDATE
- 숙박업체 타입 (ACCOMMODATION_TYPE) 테이블 제거 -> Enum
Aggregate
[3] accommodation aggregate3.png
[Aggregate : ACCOMMODATION]
- Aggregate Root : ACCOMMODATION
- ACCOMMODATION_ROLE
- ACCOMMODATION_ROOM
2-1) ACCOMMODATION_ROOM_INFO
2-2) ACCOMMODATION_ROOM_FEE
[Aggregate : ACCOMMODATION_GROUP_COMMON_CODE]
- Aggregate Root : ACCOMMODATION_GROUP_COMMON_CODE
[Aggregate : ACCOMMODATION_COMMON_CODE]
- Aggregate Root : ACCOMMODATION_COMMON_CODE
Metadata
Metadata
Assignees
Labels
docsDocumentationsDocumentations
