DB 6

[SQL] SQL 활용 - 절차형 SQL

절차형 SQL이란 절차형 SQL이란 일반적인 언어형식과 같이 절차적으로 명령을 수행하는 SQL을 뜻한다. DBMS 벤더별로 PL, SQL, SQL/PL, T-SQL 등의 절차형 SQL이 있다. 절차형 SQL은 DBMS 엔진에서 실행되고 단일 SQL 문장으로 실행하기 어려운 연속적인 작업 처리가 가능하다. 또한 로직을 캡슐화할 수 있기 때문에 반복 적인 DB 작업을 효율적으로 수행하고 소프트웨어 개발 생산성을 높인다는 장점이 있다. 절차형 SQL은 벤더사마다 약간의 차이가 있을 수 있습니다. 각 벤더사는 자체적인 확장 문법이나 기능을 추가하여 절차형 SQL을 구현하고 있습니다. 1.Oracle Pl/SQL - Block 구조로 되어있어 기능별로 모듈화 가능 - 변수, 상수 등을 선언하여 SQL 문장 간 값..

DB 2023.06.18

[SQL] SQL 활용 - 그룹함수, 윈도우

그룹함수 1. ROLLUP ROLLUP은 GROUP BY의 칼럼에 대해서 부분합계 만들어줌 GROUP BY구에 칼럼이 두 개 이상 오면 순서에 따라서 결과가 달라짐 CREATE TABLE sales ( region VARCHAR(50), country VARCHAR(50), product VARCHAR(50), quantity INT, revenue DECIMAL(10, 2) ); INSERT INTO sales (region, country, product, quantity, revenue) VALUES ('North', 'USA', 'Product A', 100, 5000.00), ('North', 'USA', 'Product B', 200, 8000.00), ('North', 'Canada', 'P..

DB 2023.06.10

[SQL]SQL 활용 - 계층형 질의,서브쿼리

계층형 질의 테이블에 게층형 데이터가 존재하는 경우 데이터를 조회하기 위해 계층형 질의를 작성한다. 계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말한다. 계층형 질의는 주로 조직도, 부모-자식 관계, 카테고리 구조 등과 같이 계층적으로 구성된 데이터를 처리할 때 유용하다. with절을 사용한 계층형 쿼리 with절의 위쪽 쿼리를 앵커 멤버(Anchor Member)라고 하고 아래에 있는 쿼리를 재귀 멤버라고 한다. CTE(Common Table Expression)을 재귀호출함으로써 Employees 데이터의 최상위부터 시작해 하위 방향으로 계층 구조를 전개하도록 작성한 쿼리와 결과는 다음과 같다. WITH EMPLOYEES_ANCHOR AS ( SELECT EMPLOY..

DB 2023.06.09

[SQL]SQL활용 - DCL에 대하여

DCL(Data Control Language) 데이터의 보완, 무결성, 데이터 회복, 병행수행, 제어 등 정의하는데 사용하는 언어이다. COMMIT과 ROLLBACK 명령어는 TCL(Transaction Control Language)이라고 하여 트랜잭션을 제어하는 명령어라고 구분되어 표현되기도 한다. - Commit : DML(데이터조작어)에 의해 조작된(수정/추가/삭제) 내용을 확정 처리 한다. - Rollback : 데이터를 Commit 하기전에 조작된(수정/추가/삭제) 내용을 원상복구 처리 한다. - Grant : 데이터베이스 사용자에게 사용 권한 부여 한다. -- 사용자 권한 부여 명령어 GRANT 권한종류 ON 대상 TO 계정명 IDENTIFIED BY 암호 [WITH GRANT OPTION..

DB 2023.06.06

SQL Server DB Table Partitioning

DB Partitioning이란? 파티셔닝이랑 매우 큰 테이블을 여러개의 partition으로 나누는 데이터 베이스 프로세스이다. 큰테이블을 더 작은 테이블로 분할하면 스캔할 데이터가 적기 때문에 데이터의 일부에만 접근하는 쿼리를 더 빠르게 실행할 수 있다. (partitioning column필수) 파티셔닝의 주요 목표는 대형 테이블의 유지 관리를 지원하고 특정 SQL작업에 대한 데이터 읽기 및 로드에 대한 응답시간을 줄이는 것이다. Vertical Partitioning과 Horizontal Partitioning이 있는데, 이 중 Horizontal Partitioning은 Sharding 이라고 부르기도 한다. 이 글 에서는 Horizontal Partitioning(Sharding)에 대해서 다..

DB 2022.04.24