본문 바로가기

DBMS

(11)
[influxDB] 설치 및 연결하는 방법 (window) influxDB 서버 접속 및 조회 테스트를 위해 로컬에 설치해보았다. 직접 데이터를 쌓기 위함이 아니라 단순 조회용이기 때문에 아주 깊이 있는 이해를 토대로 하지는 않았다. influxDB란? 오픈 소스 시계열 데이터베이스(TSDB:Time Series DataBase)이며 Go 언어로 작성되었다. 일정한 주기로 데이터를 처리 및 삭제하는 기능이 있어 대량의 시계열 데이터를 보다 편리하게 처리할 수 있다. 1. influxDB 설치 https://portal.influxdata.com/downloads/ Downloads Telegraf open source data collector Telegraf is a plugin-driven server agent for collecting and sendin..
[ORACLE] TRIGGER 를 이용한 부모 테이블 수정/삭제 기본키를 외래키로 하여 부모-자식 관계에 있는 테이블들이 있을 때, 부모 테이블에서 데이터를 수정/삭제하면 자식 테이블의 데이터에도 적용되도록 하기 위한 방법으로 보통 CASCADE를 떠올린다. 하지만 오라클에서는 ON DELETE CASCADE 만 지원할 뿐 ON UPDATE CASCADE 를 지원하지 않으며 이미 테이블을 생성한 후일 경우 그리고 1:N의 관계로 맺어진 테이블의 개수가 아주 많을 경우 작업이 매우 번거로워진다. 그래서 적용할 수 있는 방법으로 TRIGGER가 있다. TRIGGER란? DBMS에서 INSERT(입력), UPDATE(갱신), DELETE(삭제) 이벤트가 발생할 때 묵시적으로 수행되는 사용자 정의 PROCEDURE이다. 생성 구문은 아래와 같다. CREATE OR REPLA..
[ORACLE] 계층형 쿼리에서 계층별 누적 합계 구하기 (두 테이블의 JOIN이 필요할 때) 단일 테이블인 경우에는 아래와 같이 서브쿼리를 사용하여 누적합계를 구할 수 있다. SELECT CODE, UPPER_CODE, CNT, (SELECT SUM(CNT) FROM TABLE1 I START WITH I.CODE = T.CODE CONNECT BY PRIOR CODE = UPPER_CODE)SUM FROM TABLE1 T START WITH UPPER_CODE = 'ROOT' CONNECT BY PRIOR CODE = UPPER_CODE 하지만 나의 경우 계층 구조로 되어 있는 카테고리 테이블과 각 카테고리별 데이터가 저장되는 테이블이 따로 존재해서 다른 방법을 찾아야 했다. 구글링하여 찾은 결과.. WITH 절을 사용하여 임시테이블로 만들면 가능했다. WITH GROUPED (CODE, UP..