Bladeren bron

Merge branch 'master' of http://112.172.147.34:4936/style24/style24.doc

swkim 5 jaren geleden
bovenliggende
commit
f1c3d33055

BIN
산출물/2.분석/01.마스터테이블(로딩용)/통합품번분류코드_v1.70_20201120.xlsx


BIN
산출물/2.분석/ST24_요구사항정의_V1.41_20200910.xlsx


+ 200 - 4
산출물/3.설계/05.DB-Object/06.DDL/table.sql

@@ -137,6 +137,51 @@ CREATE TABLE TB_ANS_PHASE
 COMMENT '답변문구. 신규 답변문구 등록에 의한 발생'
 ;
 
+################################################################################
+#배치
+################################################################################
+DROP TABLE IF EXISTS TB_BATCH;
+CREATE TABLE TB_BATCH
+(
+  BATCH_ID    VARCHAR(50) NOT NULL COMMENT '배치ID(cronjob ID)',
+  BATCH_NM    VARCHAR(100) NOT NULL COMMENT '배치명',
+  BIZ_GB      VARCHAR(20) NOT NULL COMMENT '업무구분(메뉴의 최상위메뉴ID)',
+  BATCH_FRQ   VARCHAR(20) NOT NULL COMMENT '배치주기(Y:연배치, M:월배치, D:일배치, H:시간배치)',
+  BATCH_DESC  VARCHAR(500) COMMENT '배치설명',
+  USE_YN      CHAR(1) DEFAULT 'Y' NOT NULL COMMENT '사용여부(Y:사용)',
+  REG_NO      INT UNSIGNED NOT NULL COMMENT '등록자번호',
+  REG_DT      TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '등록일시',
+  UPD_NO      INT UNSIGNED NOT NULL COMMENT '수정자번호',
+  UPD_DT      TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '수정일시',
+  PRIMARY KEY (BATCH_ID)
+)
+COMMENT '배치. 신규 배치 등록에 의한 발생'
+;
+
+INSERT INTO TB_BATCH VALUES ('cron.goods.titlename.reserve', '상품 타이틀명 예약건 적용', 'A', 'H', NULL, 'Y', 1, NOW(), 1, NOW());
+INSERT INTO TB_BATCH VALUES ('cron.goods.search.keyword', '상품 검색어 생성', 'A', 'H', NULL, 'Y', 1, NOW(), 1, NOW());
+INSERT INTO TB_BATCH VALUES ('cron.goods.price.reserve', '상품 가격 예약건 적용', 'A', 'H', NULL, 'Y', 1, NOW(), 1, NOW());
+COMMIT;
+
+################################################################################
+#배치로그
+################################################################################
+DROP TABLE IF EXISTS TB_BATCH_LOG;
+CREATE TABLE TB_BATCH_LOG
+(
+  BATCH_LOG_SQ  INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '배치로그일련번호',
+  BATCH_ID      VARCHAR(50) NOT NULL COMMENT '배치ID(배치)',
+  BATCH_STDT    TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6) NOT NULL COMMENT '배치시작일시',
+  BATCH_EDDT    TIMESTAMP(6) NULL DEFAULT NULL COMMENT '배치종료일시',
+  BATCH_STAT    VARCHAR(20) DEFAULT 'I' NOT NULL COMMENT '배치상태(I:실행중, F:실행완료)',
+  REG_NO        INT UNSIGNED NOT NULL COMMENT '등록자번호',
+  REG_DT        TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '등록일시',
+  PRIMARY KEY (BATCH_LOG_SQ),
+  INDEX IX_BATCH_LOG_01 (BATCH_ID)
+)
+COMMENT '배치로그. 배치 수행에 의한 발생'
+;
+
 ################################################################################
 #브랜드
 ################################################################################
@@ -3733,6 +3778,53 @@ ALTER TABLE TB_GOODS_SUMMARY
     PRIMARY KEY (
       GOODS_CD -- 상품코드
     );
+    
+DROP TABLE IF EXISTS TB_GOODS_SUMMARY_TEMP RESTRICT;
+CREATE TABLE TB_GOODS_SUMMARY_TEMP (
+  GOODS_CD        VARCHAR(20)       NOT NULL COMMENT '상품코드', -- 상품코드
+  SELL_TOT_QTY    SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '총판매수량', -- 총판매수량
+  SELL_WEEK_QTY   SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '주간판매수량', -- 주간판매수량
+  SELL_MONTH_QTY  SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '월간판매수량', -- 월간판매수량
+  SELL_YDAY_QTY   SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '전일판매수량', -- 전일판매수량
+  SELL_DAY15_QTY  SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '15일간판매수량', -- 15일간판매수량
+  READ_NWEEK_CNT  INT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '금주조회건수', -- 금주조회건수
+  READ_PWEEK_CNT  INT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '전주조회건수', -- 전주조회건수
+  GOODS_QNA_CNT   INT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '상품문의건수', -- 상품문의건수
+  REVIEW_REG_CNT  INT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '상품평등록건수', -- 상품평등록건수
+  TREVIEW_REG_CNT INT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '텍스트상품평등록건수', -- 텍스트상품평등록건수
+  PREVIEW_REG_CNT INT UNSIGNED      NOT NULL DEFAULT 0 COMMENT '포토상품평등록건수', -- 포토상품평등록건수
+  TOT_SCORE       TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '만족도점수', -- 만족도점수
+  SCORE_COLOR1    TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '색상점수1', -- 색상점수1
+  SCORE_COLOR2    TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '색상점수2', -- 색상점수2
+  SCORE_COLOR3    TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '색상점수3', -- 색상점수3
+  SCORE_COLOR4    TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '색상점수4', -- 색상점수4
+  SCORE_COLOR5    TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '색상점수5', -- 색상점수5
+  SCORE_SIZE1     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '사이즈점수1', -- 사이즈점수1
+  SCORE_SIZE2     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '사이즈점수2', -- 사이즈점수2
+  SCORE_SIZE3     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '사이즈점수3', -- 사이즈점수3
+  SCORE_SIZE4     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '사이즈점수4', -- 사이즈점수4
+  SCORE_SIZE5     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '사이즈점수5', -- 사이즈점수5
+  SCORE_BALL1     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '발볼넓이점수1', -- 발볼넓이점수1
+  SCORE_BALL2     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '발볼넓이점수2', -- 발볼넓이점수2
+  SCORE_BALL3     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '발볼넓이점수3', -- 발볼넓이점수3
+  SCORE_BALL4     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '발볼넓이점수4', -- 발볼넓이점수4
+  SCORE_BALL5     TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '발볼넓이점수5', -- 발볼넓이점수5
+  SCORE_WEARFEEL1 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '착화감점수1', -- 착화감점수1
+  SCORE_WEARFEEL2 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '착화감점수2', -- 착화감점수2
+  SCORE_WEARFEEL3 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '착화감점수3', -- 착화감점수3
+  SCORE_WEARFEEL4 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '착화감점수4', -- 착화감점수4
+  SCORE_WEARFEEL5 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '착화감점수5', -- 착화감점수5
+  REG_NO          INT UNSIGNED      NOT NULL COMMENT '등록자번호', -- 등록자번호
+  REG_DT          TIMESTAMP         NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' -- 등록일시
+)
+COMMENT '상품요약. 상품요약정보 집계에 의한 발생';
+
+
+ALTER TABLE TB_GOODS_SUMMARY_TEMP
+  ADD CONSTRAINT PK_GOODS_SUMMARY_TEMP -- 상품요약 기본키
+    PRIMARY KEY (
+      GOODS_CD -- 상품코드
+    );
 
 ################################################################################
 #상품상세
@@ -5873,7 +5965,7 @@ ALTER TABLE TB_GOODS_PRICE_RES
 DROP TABLE IF EXISTS TB_GOODS_BENEFIT_PRICE RESTRICT;
 CREATE TABLE TB_GOODS_BENEFIT_PRICE (
   GOODS_CD             VARCHAR(20)  NOT NULL COMMENT '상품코드', -- 상품코드
-  CUST_GB              VARCHAR(20)  NOT NULL DEFAULT 'G100_10' COMMENT '회원구분(공통코드G100)', -- 회원구분(공통코드G100)
+  CUST_GB              VARCHAR(20)  NOT NULL DEFAULT 'G100_00' COMMENT '회원구분(공통코드G100)', -- 회원구분(공통코드G100)
   CURR_PRICE           INT          NOT NULL DEFAULT 0 COMMENT '즉시할인판매가', -- 즉시할인판매가
   PC_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'PC 즉시할인판매가', -- PC 즉시할인판매가
   MO_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'MOBILE 즉시할인판매가', -- MOBILE 즉시할인판매가
@@ -5889,13 +5981,12 @@ ALTER TABLE TB_GOODS_BENEFIT_PRICE
   ADD CONSTRAINT PK_GOODS_BENEFIT_PRICE 
     PRIMARY KEY (
       GOODS_CD
-     ,CUST_GB 
     );
     
 DROP TABLE IF EXISTS TB_GOODS_BENEFIT_PRICE_TEMP RESTRICT;
 CREATE TABLE TB_GOODS_BENEFIT_PRICE_TEMP (
   GOODS_CD             VARCHAR(20)  NOT NULL COMMENT '상품코드', -- 상품코드
-  CUST_GB              VARCHAR(20)  NOT NULL DEFAULT 'G100_10' COMMENT '회원구분(공통코드G100)', -- 회원구분(공통코드G100)
+  CUST_GB              VARCHAR(20)  NOT NULL DEFAULT 'G100_00' COMMENT '회원구분(공통코드G100)', -- 회원구분(공통코드G100)
   CURR_PRICE           INT          NOT NULL DEFAULT 0 COMMENT '즉시할인판매가', -- 즉시할인판매가
   PC_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'PC 즉시할인판매가', -- PC 즉시할인판매가
   MO_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'MOBILE 즉시할인판매가', -- MOBILE 즉시할인판매가
@@ -5911,9 +6002,64 @@ ALTER TABLE TB_GOODS_BENEFIT_PRICE_TEMP
   ADD CONSTRAINT PK_GOODS_BENEFIT_PRICE_TEMP
     PRIMARY KEY (
       GOODS_CD
-     ,CUST_GB 
     ); 
   
+################################################################################
+#사이트유입이력
+################################################################################
+DROP TABLE IF EXISTS TB_INFLOW_HST RESTRICT;
+CREATE TABLE TB_INFLOW_HST (
+  INFLOW_DT          TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '유입일시',
+  SITE_CD            VARCHAR(20)  NOT NULL COMMENT '사이트코드(공통코드G000)', 
+  FRONT_GB           VARCHAR(1)       NULL COMMENT '앱프론트구분(P:PC, M:모바일, A:)', 
+  APP_YN             CHAR(1)      NOT NULL DEFAULT 'N' COMMENT '앱여부(Y:앱)',
+  OS_TYPE            VARCHAR(1)       NULL COMMENT 'OS유형(A:AOS, I:IOS)',
+  AF_LINK_CD         VARCHAR(20)  NOT NULL COMMENT '제휴링크코드',
+  PAGE_URL           VARCHAR(4000)    NULL COMMENT '페이지URL',
+  INFLOW_REFER       VARCHAR(4000)    NULL COMMENT '유입REFER',
+  IP_ADDR            VARCHAR(20)      NULL COMMENT 'IP주소',
+  JSESSION_ID        VARCHAR(200)     NULL COMMENT 'J세션ID'
+)
+COMMENT '사이트유입이력. 프론트 사이트 유입 시 이력 등록에 의한 발생';
+
+CREATE INDEX IX_INFLOW_HST_01
+  ON TB_INFLOW_HST( 
+    INFLOW_DT ASC, 
+    SITE_CD ASC   
+  );
+  
+    
+################################################################################
+#사이트유입일별집계
+################################################################################
+DROP TABLE IF EXISTS TB_INFLOW_DAILY RESTRICT;
+CREATE TABLE TB_INFLOW_DAILY (
+  INFLOW_YMD         VARCHAR(8)          NOT NULL COMMENT '상품코드',
+  SITE_CD            VARCHAR(20)         NOT NULL COMMENT '사이트코드(공통코드G000)', 
+  AF_LINK_CD         VARCHAR(20)         NULL     COMMENT '제휴링크코드',
+  PC_INFLOW_TCNT     SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT 'PC총유입수(TB_INFLOW_HST.JSESSION_ID 중복 제거 후 집계)', 
+  MOB_INFLOW_TCNT    SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT '모바일총유입수(TB_INFLOW_HST.JSESSION_ID 중복 제거 후 집계)', 
+  AOS_INFLOW_TCNT    SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT 'AOS총유입수(TB_INFLOW_HST.JSESSION_ID 중복 제거 후 집계)', 
+  IOS_INFLOW_TCNT    SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT 'IOS총유입수(TB_INFLOW_HST.JSESSION_ID 중복 제거 후 집계)', 
+  PC_INFLOW_CNT      SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT 'PC순유입수(TB_INFLOW_HST.IP_ADDR 중복 제거 후 집계)',
+  MOB_INFLOW_CNT     SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT '모바일순유입수(TB_INFLOW_HST.IP_ADDR 중복 제거 후 집계)', 
+  AOS_INFLOW_CNT     SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT 'AOS순유입수(TB_INFLOW_HST.IP_ADDR 중복 제거 후 집계)', 
+  IOS_INFLOW_CNT     SMALLINT UNSIGNED   NOT NULL DEFAULT 0 COMMENT 'OS순유입수(TB_INFLOW_HST.IP_ADDR 중복 제거 후 집계)', 
+  REG_NO             INT UNSIGNED        NOT NULL COMMENT '등록자번호',
+  REG_DT             TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' 
+)
+COMMENT '사이트유입일별집계. 프론트 사이트 유입 일별 집계에 의한 발생';
+
+-- 사이트유입일별집계
+ALTER TABLE TB_INFLOW_DAILY
+  ADD CONSTRAINT PK_INFLOW_DAILY
+    PRIMARY KEY (
+      INFLOW_YMD,
+      SITE_CD,
+      AF_LINK_CD
+    );
+        
+    
 ################################################################################
 #옵션
 ################################################################################
@@ -6439,6 +6585,34 @@ ALTER TABLE TB_ORDER_DETAIL_ITEM
 ALTER TABLE TB_ORDER_DETAIL_ITEM
   AUTO_INCREMENT = 1;
 
+
+################################################################################
+#연관상품  ESKIM
+################################################################################
+DROP TABLE IF EXISTS TB_RELATE_GOODS RESTRICT;
+CREATE TABLE TB_RELATE_GOODS (
+  REG_YMD         VARCHAR(8)   NOT NULL COMMENT '랜덤쿠폰일련번호', -- 등록연월
+  GOODS_CD        VARCHAR(20)  NOT NULL COMMENT '상품코드', -- 상품코드
+  PREV_GOODS_CD   VARCHAR(20)  NOT NULL COMMENT '상품코드', -- 이전상품코드
+  RELATE_SCORE    INT UNSIGNED NOT NULL COMMENT '연관점수', -- 연관점수
+  REG_NO          INT UNSIGNED NOT NULL COMMENT '등록자번호', -- 등록자번호
+  REG_DT          TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' -- 등록일시
+)
+COMMENT '연관상품. 일별 연관상품 집계에 의한 발생. 7일 이전 데이터는 삭제';
+
+CREATE INDEX IX_RELATE_GOODS_01
+  ON TB_RELATE_GOODS( 
+    REG_YMD ASC,
+    GOODS_CD ASC,
+    PREV_GOODS_CD ASC
+  );
+
+CREATE INDEX IX_RELATE_GOODS_02
+  ON TB_RELATE_GOODS( 
+    REG_YMD ASC,
+    PREV_GOODS_CD ASC
+  );
+  
 ################################################################################
 #랜덤쿠폰
 ################################################################################
@@ -6698,7 +6872,29 @@ ALTER TABLE TB_GOODS_EP_SKIP
 
 ALTER TABLE TB_GOODS_EP_SKIP
   AUTO_INCREMENT = 1;
+  
+################################################################################
+#상품 안전인증번호
+################################################################################
+DROP TABLE IF EXISTS TB_GOODS_SAFE_NO RESTRICT;
+CREATE TABLE TB_GOODS_SAFE_NO (
+  GOODS_CD         VARCHAR(20)  NOT NULL COMMENT '상품코드', -- 상품코드
+  CERT_NUM         VARCHAR(20)  NOT NULL COMMENT '안전인증번호', -- 안전인증번호
+  CERT_DT          VARCHAR(8)   NOT NULL COMMENT '안전인증일', -- 안전인증일
+  REG_NO           INT UNSIGNED NOT NULL COMMENT '등록자번호', -- 등록자번호
+  REG_DT           TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시', -- 등록일시
+  UPD_NO           INT UNSIGNED NOT NULL COMMENT '수정자번호', -- 수정자번호
+  UPD_DT           TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '수정일시' -- 수정일시
+)
+COMMENT '상품 안전인증번호. 상품별 신규 안전인증번호 등록에 의한 발생';
+
 
+ALTER TABLE TB_GOODS_SAFE_NO
+  ADD CONSTRAINT PK_GOODS_SAFE_NO 
+    PRIMARY KEY (
+      GOODS_CD 
+    );
+    
 ################################################################################
 #동영상
 ################################################################################

BIN
산출물/3.설계/ST24_TSIT-D202-프로그램목록(V0.8)-20201130.xlsx


+ 5 - 1
산출물/4.구축/mysql로_개발시_팁.sql

@@ -41,6 +41,10 @@ DATE_ADD(NOW(), INTERVAL 1 MONTH)
 # 현재시간에 1년 더하기
 DATE_ADD(NOW(), INTERVAL 1 YEAR)
 
+# 두 날짜의 차이 구하기
+DATEDIFF(날짜1, 날짜2)
+TIMESTAMPDIFF(SECOND,날짜1,날짜2) // SECOND:초, MINUTE:분, HOUR:시, DAY:일, WEEK:주, MONTH:월, QUARTER:분기, YEAR:연)
+
 ADD_MONTHS(SYSDATE, -3) -> DATE_ADD(NOW(), INTERVAL - 3 MONTH) 또는 TIMESTAMPADD(MONTH,-3,CURRENT_TIMESTAMP)
 TO_NUMBER('100') -> CAST('100' AS UNSIGNED)
 TRUNC(SYSDATE) -> TRUNCATE(NOW(),1)
@@ -49,7 +53,7 @@ IF(A.UP_FLD_CD = 0, GRP_SEQ, UP_FLD_CD) AS upfolderCode, -> CASE A WHEN '1' THNE
 DBMS_RANDOM.VALUE -> RAND()
 SYS_CONNECT_BY_PATH -> GROUP_CONCAT(GRP_nm SEPARATOR ',')
 GROUP BY ROLLUP(A.REG_DTM) -> GROUP BY A.REG_DTM WITH ROLLUP
-DBMS_RANDOM.STRING('X',#{length}) -> CONVERT(TRUNCATE(A.VAL * CAST(CONCAT(1,LPAD(0,(#{length} - 1),'0')) AS UNSIGNED),0),CHAR)
+DBMS_RANDOM.STRING('X',#{length}) -> CONVERT(TRUNCATE(RAND() * CAST(CONCAT(1,LPAD(0,(#{length} - 1),'0')) AS UNSIGNED),0),CHAR)
 
 
 # Doamin Class 변수 생성