Przeglądaj źródła

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

Conflicts:
산출물/3.설계/ST24_TSIT-D202-프로그램목록(V1.4)-20210101.xlsx

eskim 5 lat temu
rodzic
commit
371169ffe5

+ 107 - 0
산출물/3.설계/05.DB-Object/01.db_view/VW_CATE_4SRCH.sql

@@ -0,0 +1,107 @@
+CREATE VIEW VW_CATE_4SRCH AS
+SELECT A.SITE_CD                                                                                           /*사이트코드*/
+     , A.CATE_GB                                                                                           /*카테고리구분*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.CATE1_NO
+                                       ELSE
+                                           B.CATE2_NO
+                                  END
+                              ELSE C.CATE3_NO
+                         END
+                     ELSE
+                         D.CATE4_NO
+                END
+            ELSE
+                E.CATE5_NO
+       END                                                                                  AS LEAF_CATE_NO /*단말카테고리번호*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.CATE_TYPE
+                                       ELSE
+                                           B.CATE_TYPE
+                                  END
+                              ELSE
+                                  C.CATE_TYPE
+                         END
+                     ELSE
+                         D.CATE_TYPE
+                END
+            ELSE
+                E.CATE_TYPE
+       END                                                                                  AS CATE_TYPE   /*카테고리유형*/
+     , A.CATE1_NO                                                                                          /*카테고리1번호*/
+     , A.CATE1_NM                                                                                          /*카테고리1명*/
+     , B.CATE2_NO                                                                                          /*카테고리2번호*/
+     , B.CATE2_NM                                                                                          /*카테고리2명*/
+     , C.CATE3_NO                                                                                          /*카테고리3번호*/
+     , C.CATE3_NM                                                                                          /*카테고리3명*/
+     , D.CATE4_NO                                                                                          /*카테고리4번호*/
+     , D.CATE4_NM                                                                                          /*카테고리4명*/
+     , E.CATE5_NO                                                                                          /*카테고리5번호*/
+     , E.CATE5_NM                                                                                          /*카테고리5명*/
+     , CONCAT(A.CATE1_NO
+             ,CASE WHEN B.CATE2_NO IS NULL THEN '' ELSE CONCAT(' > ',B.CATE2_NO) END
+             ,CASE WHEN C.CATE3_NO IS NULL THEN '' ELSE CONCAT(' > ',C.CATE3_NO) END
+             ,CASE WHEN D.CATE4_NO IS NULL THEN '' ELSE CONCAT(' > ',D.CATE4_NO) END
+             ,CASE WHEN E.CATE5_NO IS NULL THEN '' ELSE CONCAT(' > ',E.CATE5_NO) END)       AS FULL_CATE_NO /*FULL카테고리번호*/
+     , CONCAT(A.CATE1_NM
+             ,CASE WHEN B.CATE2_NM IS NULL THEN '' ELSE CONCAT(' > ',B.CATE2_NM) END
+             ,CASE WHEN C.CATE3_NM IS NULL THEN '' ELSE CONCAT(' > ',C.CATE3_NM) END
+             ,CASE WHEN D.CATE4_NM IS NULL THEN '' ELSE CONCAT(' > ',D.CATE4_NM) END
+             ,CASE WHEN E.CATE5_NM IS NULL THEN '' ELSE CONCAT(' > ',E.CATE5_NM) END)       AS FULL_CATE_NM /*FULL카테고리명*/
+     , RANK() OVER(PARTITION BY A.SITE_CD, A.CATE_GB
+                   ORDER BY A.DISP_ORD, B.DISP_ORD, C.DISP_ORD, D.DISP_ORD, E.DISP_ORD)     AS DISP_ORD    /*노출순서*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.FORMAL_GB
+                                       ELSE
+                                           B.FORMAL_GB
+                                  END
+                              ELSE
+                                  C.FORMAL_GB
+                         END
+                     ELSE
+                         D.FORMAL_GB
+                END
+            ELSE
+                E.FORMAL_GB
+       END                                                                                  AS FORMAL_GB   /*정상이월구분*/
+     , CASE WHEN E.CATE5_NO IS NULL THEN
+                CASE WHEN D.CATE4_NO IS NULL THEN
+                         CASE WHEN C.CATE3_NO IS NULL THEN
+                                  CASE WHEN B.CATE2_NO IS NULL THEN
+                                           A.CONTENTS_LOC
+                                       ELSE
+                                           B.CONTENTS_LOC
+                                  END
+                              ELSE
+                                  C.CONTENTS_LOC
+                         END
+                     ELSE
+                         D.CONTENTS_LOC
+                END
+            ELSE
+                E.CONTENTS_LOC
+       END                                                                                  AS CONTENTS_LOC /*컨텐츠위치*/
+FROM   TB_CATE1 A
+LEFT OUTER JOIN TB_CATE2 B ON A.CATE1_NO = B.CATE1_NO
+                          AND B.USE_YN = 'Y'
+                          AND B.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_CATE3 C ON B.CATE2_NO = C.CATE2_NO
+                          AND C.USE_YN = 'Y'
+                          AND C.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_CATE4 D ON C.CATE3_NO = D.CATE3_NO
+                          AND D.USE_YN = 'Y'
+                          AND D.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_CATE5 E ON D.CATE4_NO = E.CATE4_NO
+                          AND E.USE_YN = 'Y'
+                          AND E.DISP_YN = 'Y'
+WHERE  A.USE_YN = 'Y'
+AND    A.DISP_YN = 'Y'

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

@@ -41,7 +41,7 @@ DROP TABLE IF EXISTS TB_SEQUENCE;
 CREATE TABLE TB_SEQUENCE
 (
   SEQUENCE_NM VARCHAR(20) NOT NULL COMMENT '시퀀스명',
-  NEXTVAL     INT UNSIGNED DEFAULT 1 NOT NULL COMMENT '다음값',
+  NEXT_VAL    INT UNSIGNED DEFAULT 1 NOT NULL COMMENT '다음값',
   PRIMARY KEY (SEQUENCE_NM)
 )
 COMMENT '시퀀스. 시퀀스 생성에 의한 발생'
@@ -8500,7 +8500,7 @@ COMMENT '카테고리4. 카테고리4 등록에 의한 발생.';
 ################################################################################
 # 카테고리 5
 ################################################################################
-DROP TABLE IF EXISTS TB_CATEY5 RESTRICT;
+DROP TABLE IF EXISTS TB_CATE5 RESTRICT;
 CREATE TABLE TB_CATE5 (
   CATE5_NO      INT UNSIGNED      NOT NULL COMMENT '카테고리5번호(SEQ_CATE sequence)', -- 카테고리5번호
   CATE5_NM      VARCHAR(50)       NOT NULL COMMENT '카테고리5명', -- 카테고리5명
@@ -8526,6 +8526,36 @@ CREATE TABLE TB_CATE5 (
 )
 COMMENT '카테고리5. 카테고리5 등록에 의한 발생.';
 
+################################################################################
+# 카테고리4SRCH
+################################################################################
+DROP TABLE IF EXISTS TB_CATE_4SRCH RESTRICT;
+CREATE TABLE TB_CATE_4SRCH (
+  SITE_CD       VARCHAR(20)       NOT NULL COMMENT '사이트코드(공통코드G000)',
+  CATE_GB       VARCHAR(20)       NOT NULL COMMENT '카테고리구분(공통코드G032)', -- 카테고리구분
+  LEAF_CATE_NO  INT UNSIGNED      NOT NULL COMMENT '단말카테고리번호',
+  CATE_TYPE     VARCHAR(20)       NOT NULL COMMENT '카테고리유형(공통코드G031)', -- 카테고리유형
+  CATE1_NO      INT UNSIGNED      NOT NULL COMMENT '카테고리1번호(카테고리1)', -- 카테고리1번호
+  CATE1_NM      VARCHAR(50)       NOT NULL COMMENT '카테고리1명', -- 카테고리1명
+  CATE2_NO      INT UNSIGNED      COMMENT '카테고리2번호(카테고리2)', -- 카테고리2번호
+  CATE2_NM      VARCHAR(50)       COMMENT '카테고리2명', -- 카테고리2명
+  CATE3_NO      INT UNSIGNED      COMMENT '카테고리3번호(카테고리3)', -- 카테고리3번호
+  CATE3_NM      VARCHAR(50)       COMMENT '카테고리3명', -- 카테고리3명
+  CATE4_NO      INT UNSIGNED      COMMENT '카테고리4번호(카테고리4)', -- 카테고리4번호
+  CATE4_NM      VARCHAR(50)       COMMENT '카테고리4명', -- 카테고리4명
+  CATE5_NO      INT UNSIGNED      COMMENT '카테고리5번호(SEQ_CATE sequence)', -- 카테고리5번호
+  CATE5_NM      VARCHAR(50)       COMMENT '카테고리5명', -- 카테고리5명
+  FULL_CATE_NO  VARCHAR(50)       COMMENT 'FULL카테고리번호',
+  FULL_CATE_NM  VARCHAR(200)      COMMENT 'FULL카테고리명', -- FULL카테고리명
+  DISP_ORD      SMALLINT UNSIGNED NOT NULL COMMENT '표시순서', -- 표시순서
+  FORMAL_GB     VARCHAR(20)       COMMENT '정상이월구분(공통코드G009)', -- 정상이월구분(공통코드G009)
+  CONTENTS_LOC  VARCHAR(20)       COMMENT '컨텐츠위치(공통코드G028)', -- 컨텐츠위치(공통코드G028)
+  INDEX IX_CATE_4SRCH_01 (LEAF_CATE_NO),
+  INDEX IX_CATE_4SRCH_02 (SITE_CD, CATE_GB, LEAF_CATE_NO),
+  INDEX IX_CATE_4SRCH_03 (SITE_CD, CATE_GB, CATE1_NO, CATE2_NO, CATE3_NO, CATE4_NO, CATE5_NO)
+)
+COMMENT '카테고리4SRCH. 카테고리 갱신에 의한 발생.';
+
 ################################################################################
 # 카테고리기획전
 ################################################################################

+ 18 - 18
산출물/4.구축/데이터처리/03.전시카테고리생성.sql

@@ -349,12 +349,12 @@ INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '남성골프의류', 1510, '
 INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '남성골프의류', 1510, '골프 상의', 1513, '골프 티셔츠');
 INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '남성골프의류', 1514, '골프 점퍼/자켓', 1515, '골프 자켓');
 INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '남성골프의류', 1514, '골프 점퍼/자켓', 1516, '골프 점퍼');
-INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '여성골프의류', 1517, '골프 바지', 0, '');
-INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '여성골프의류', 1518, '골프 상의', 1519, '골프 셔츠');
-INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '여성골프의류', 1518, '골프 상의', 1520, '골프 조끼');
-INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '여성골프의류', 1521, '골프 상의', 1522, '골프 티셔츠');
-INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '여성골프의류', 1523, '골프 점퍼/자켓', 1524, '골프 자켓');
-INSERT INTO TMP_CATE VALUES (1500, '골프', 1508, '여성골프의류', 1523, '골프 점퍼/자켓', 1525, '골프 점퍼');
+INSERT INTO TMP_CATE VALUES (1500, '골프', 1518, '여성골프의류', 1517, '골프 바지', 0, '');
+INSERT INTO TMP_CATE VALUES (1500, '골프', 1518, '여성골프의류', 1519, '골프 상의', 1520, '골프 셔츠');
+INSERT INTO TMP_CATE VALUES (1500, '골프', 1518, '여성골프의류', 1519, '골프 상의', 1521, '골프 조끼');
+INSERT INTO TMP_CATE VALUES (1500, '골프', 1518, '여성골프의류', 1519, '골프 상의', 1522, '골프 티셔츠');
+INSERT INTO TMP_CATE VALUES (1500, '골프', 1518, '여성골프의류', 1523, '골프 점퍼/자켓', 1524, '골프 자켓');
+INSERT INTO TMP_CATE VALUES (1500, '골프', 1518, '여성골프의류', 1523, '골프 점퍼/자켓', 1525, '골프 점퍼');
 INSERT INTO TMP_CATE VALUES (1600, '리빙', 1601, '가전/테크', 1602, '디지털/사운드', 0, '');
 INSERT INTO TMP_CATE VALUES (1600, '리빙', 1601, '가전/테크', 1602, '디지털/사운드', 0, '');
 INSERT INTO TMP_CATE VALUES (1600, '리빙', 1601, '가전/테크', 1602, '디지털/사운드', 0, '');
@@ -535,10 +535,10 @@ COMMIT;
 SELECT * FROM TMP_CATE;
 
 INSERT INTO TB_CATE1
-SELECT 'G000_10'  AS SITE_CD
-     , 'G032_101' AS CATE_GB
-     , CATE1_NO
+SELECT CATE1_NO
      , CATE1_NM
+     , 'G000_10'  AS SITE_CD
+     , 'G032_101' AS CATE_GB
      , 'G031_10'  AS CATE_TYPE
      , 'N'        AS LEAF_YN
      , CATE1_NO   AS DISP_ORD
@@ -562,11 +562,11 @@ FROM   (
 SELECT * FROM TB_CATE1;
 
 INSERT INTO TB_CATE2
-SELECT 'G000_10'  AS SITE_CD
+SELECT CATE2_NO
+     , CATE2_NM
+     , 'G000_10'  AS SITE_CD
      , 'G032_101' AS CATE_GB
      , CATE1_NO
-     , CATE2_NO
-     , CATE2_NM
      , 'G031_10'  AS CATE_TYPE
      , 'N'        AS LEAF_YN
      , CATE2_NO   AS DISP_ORD
@@ -591,12 +591,12 @@ FROM   (
 SELECT * FROM TB_CATE2;
 
 INSERT INTO TB_CATE3
-SELECT 'G000_10'  AS SITE_CD
+SELECT CATE3_NO
+     , CATE3_NM
+     , 'G000_10'  AS SITE_CD
      , 'G032_101' AS CATE_GB
      , CATE1_NO
      , CATE2_NO
-     , CATE3_NO
-     , CATE3_NM
      , 'G031_10'  AS CATE_TYPE
      , LEAF_YN
      , CATE3_NO   AS DISP_ORD
@@ -629,13 +629,13 @@ FROM   (
 SELECT * FROM TB_CATE3;
 
 INSERT INTO TB_CATE4
-SELECT 'G000_10'  AS SITE_CD
+SELECT CATE4_NO
+     , CATE4_NM
+     , 'G000_10'  AS SITE_CD
      , 'G032_101' AS CATE_GB
      , CATE1_NO
      , CATE2_NO
      , CATE3_NO
-     , CATE4_NO
-     , CATE4_NM
      , 'G031_10'  AS CATE_TYPE
      , 'Y'        AS LEAF_YN
      , CATE4_NO   AS DISP_ORD