본문 바로가기

DB활용7

[오라클 text 검색] CLOB,LONG, VARCHAR2 칼럼 LIKE 검색하기 오라클 데이터베이스에서 TEXT 성격의 데이터를 LIKE 검색할 때 인덱스를 태워서 성능이 잘 나오도록 하고 싶을 경우, 검색엔진을 도입하여 색인 하거나, 도메인 인덱스를 생성하는 방법이 있습니다. 검색엔진은 색인 스케줄이 필요하며, 시스템 관리 포인트가 늘어나는 단점이 있는 반면 검색 성능이 보장되고 형태소분석기 등의 여러 기능들이 포함되어있어 여러 이점이 있습니다 검색엔진 없이도 텍스트 검색을 빠르게 하고싶을 경우 오라클에서 제공하는 도메인 인덱스를 활용하는 방법이 있습니다 도메인 인덱스는 text 데이터 VARCHAR2, CLOB, LONG 타입 칼럼으로 구성되는 데이터를 인덱스를 사용하여 LIKE 검색이 가능하도록 해줍니다 도메인 인덱스를 사용하기 앞서 준비되어야 할 것이 있습니다 1) 도메인 인.. 2020. 1. 24.
[오라클 계층구조] 게시판 댓글&대댓글 구현 게시글에 달리는 댓글을 구현하는 방법을 포스팅하겠습니다 우선은 데이터로 직접 해볼것이므로 저장구조를 생성해줍니다 /* 게시판 생성 */ CREATE TABLE EXER_BBS ( BBS_ID NUMBER PRIMARY KEY -- 게시판ID ,SUBJECT VARCHAR2(500) NOT NULL -- 제목 ,CONTENTS VARCHAR2(4000) NOT NULL -- 컨텐츠 ,WRITER VARCHAR2(50) NOT NULL -- 생성자 ,DELETE_AT CHAR(1) DEFAULT 'N' NOT NULL -- 삭제여부 'Y'삭제 'N' 미용 ,CREATE_DATE DATE DEFAULT SYSDATE NOT NULL --생성일시 ,UPDATE_DATE DATE --수정일시 ,DELETE_DAT.. 2020. 1. 15.
[오라클 그룹쿼리] GROUP BY GROUPING SETS 활용하기 GROUP BY GROUPING SETS을 활용하여 여러 그룹대상을 다르게 하여 산출한 여러 장표를 붙이는 예제를 통해 설명하는 포스팅입니다 샘플데이터 부터 먼저 만들어봅시다 코드테이블과 연습용 집계테이블을 생성합니다 연습용 집계테이블은 다른 국가에서 우리나라 시도에 얼마나 방문했는지 일자별로 기록한 테이블이라는 내용으로 구성하였습니다 /* 코드테이블 생성 */ CREATE TABLE EXER_CMMN_CODE ( CODE_GROUP CHAR(20 ) NULL, CODE VARCHAR2(8 ) NULL, CODE_NM VARCHAR2(100) NULL CODE_NM_ODERED VARCHAR2(100) ); /* 연습용 테이블 생성 */ CREATE TABLE EXER_GROUPING_SETS ( 방문국.. 2020. 1. 9.
[오라클 함수활용] TO_CHAR로 백분률 변환하기 백분률을 관리하는 데이터를 출력을 위해 TO_CHAR변환 함수를 사용하는 경우를 설명하고자 합니다 백분률은 숫자형 데이터형이며 고객의 요구에 따라 TO_CHAR로 화면에 출력해주는 경우가 있습니다 고객의 요구가 다음과 같을 경우 처리하는 방법에 대해서 설명하고자 합니다 백분률 처리시 소숫점자리 처리 : 소숫점 둘째자리까지 출력(반올림없이 버림), 출력값이 없을경우 0으로 채움, 정수자리 : 십의자리가 없을 경우 0으로 채움 예) 값 : 1 , 출력값 : 01.00 값 : 100, 출력값 : 100.00 값 : 50.2474 , 출력값 : 50.24 우선 아래 형태로 샘플데이터를 만듭니다 SELECT RNUM ,PER FROM ( SELECT 1 RNUM, 1 PER FROM DUAL UNION ALL S.. 2020. 1. 8.
[오라클 계층형구조] 행정표준코드(기관) 조직 목록 계층구조 활용 2 오라클의 계층쿼리를 사용하려면 테이블이 계층형 구조를 가져야 합니다 아래와 같은 데이터 구조가 필요합니다 행 코드 부모코드 정렬순서 1 00000 1 2 00001 00000 1 3 000011 00001 1 4 000012 00001 2 위 구조를 계층형 구조로 표현하고자 하면 오라클의 SELECT * FROM START WITH ~ CONNECT BY 구문을 활용합니다 # START WITH START WITH 절에서 계층형 구조의 ROOT를 구별하는 조건절을 기재합니다 위 표에서 ROOT는 1번 행이 ROOT라고 가정했을 때 부모코드가 NULL인 조건으로 구분이 가능합니다 * START WITH 1=1 AND 부모코드 IS NULL # CONNECT BY 그 다음으로 계층형 구조를 연결하는 방법을 .. 2020. 1. 7.
[오라클 계층형구조] 행정표준코드(기관) 조직 목록 계층구조 활용 1 행정표준코드관리시스템에서 제공하는 코드를 활용하여 계층형 구조 활용법을 포스팅하고자 합니다 행정표준코드관리시스템 https://www.code.go.kr/index.do 에 접속하여 기관코드파일을 아래와 같이 다운로드 받을 수 있으며, 제 github에도 업로드 되어 있으니 아래 링크에서 다운로드 받으셔도 됩니다 https://github.com/jiyeub786/DBWorkOut/tree/master/EXER_ORG_LIST jiyeub786/DBWorkOut Contribute to jiyeub786/DBWorkOut development by creating an account on GitHub. github.com [메인페이지 > 자주이용하는코드 > 기관] [메인페이지 > 자주이용하는코드 > 기관.. 2020. 1. 1.
[오라클 함수활용]IS_DATE를 활용한 날짜 예외처리 및 조회 문자로 저장된 날짜를 날짜 타입으로 변환시 오류가 발생하는 경우가 있습니다 오류가 발생하는 원인은 현실에 존재하지 않는 날짜를 날짜타입으로 변환하려고 하기 때문인데요 * 예 2019-02-31일을 날짜형으로 변환함, 2019년 2월은 28일까지 있으므로 변환오류 발생 대부분 프로그래밍 언어가 제공하는 IS_DATE()나 IS_NUMBER() 등의 함수를 활용하여 예외처리를 하지만 오라클에서는 위 함수를 기본적으로 제공하지 않기 때문에 만들어서 사용해야 합니다 아래는 샘플데이터를 만들어서 IS_DATE를 활용하는 예제입니다 #샘플데이터 생성 /* IS_DATE 연습 데이터 저장 테이블 */ CREATE TABLE EXER_CHCK_IS_DATE ( ID VARCHAR2(10) ,REG_DATE VARCHA.. 2020. 1. 1.