PL/SQL (Procedural Language/SQL)
·
🗄️ Backend/SQL
PL/SQL은 오라클에서 제공하는 프로그래밍 언어로, SQL의 확장을 통해 데이터베이스에서 복잡한 로직을 구현할 수 있습니다. PL/SQL은 일반적인 프로그래밍 언어와는 달리 데이터베이스와 밀접하게 연동되어 있어, 대량의 데이터를 처리하거나 여러 쿼리를 일괄 처리할 수 있는 강력한 기능을 제공합니다.1. PL/SQL의 기본 구조PL/SQL 블록은 DECLARE, BEGIN, EXCEPTION, END의 네 부분으로 나뉘며, 아래와 같은 형식을 가집니다.DECLARE -- 변수 선언 영역BEGIN -- 실행 영역EXCEPTION -- 예외 처리 영역END;1.1 익명 블록 예제SET SERVEROUTPUT ON; -- 오라클에서 출력을 활성화합니다.DECLARE v_emp_name e..
데이터베이스 모델링 가이드
·
🗄️ Backend/SQL
데이터베이스 모델링은 현실 세계의 데이터를 체계적으로 저장하고 관리하기 위해 데이터베이스의 구조를 설계하는 과정입니다.이번 포스트에서는 데이터베이스 모델링의 4단계에 대해 자세히 살펴보겠습니다.1️⃣ 업무 파악우리가 해결하려는 문제는 무엇인가?데이터베이스 모델링의 첫 번째 단계는 해결하고자 하는 문제나 과업을 명확히 이해하는 것입니다. 이를 통해 요구사항을 분석하고, 최종 사용자가 필요로 하는 데이터를 파악하게 됩니다.목표 설정: 데이터베이스의 목적과 기능을 정의합니다.사용자 요구사항: 최종 사용자가 필요로 하는 데이터를 수집합니다.2️⃣ 개념적 데이터 모델링어떤 개념이 있고, 각 개념들은 어떻게 상호작용하는가?개념적 데이터 모델링은 현실 세계의 개념과 관계를 추상화하여 데이터베이스의 기본 구조를 설계하..
SQL 권한 및 사용자 생성 가이드
·
🗄️ Backend/SQL
데이터베이스 관리에서 사용자와 권한의 설정은 매우 중요한 작업입니다. 이번 포스트에서는 SQL에서 사용자와 권한을 생성하는 방법에 대해 자세히 알아보겠습니다. --- ## 권한(Privilege) ### 개요 권한(Privilege)은 특정 SQL 문장을 실행하기 위한 권리입니다. 데이터베이스 관리자(DBA)는 데이터베이스와 그 객체에 대한 액세스를 사용자에게 부여하는 능력을 갖춘 상급 사용자입니다. 사용자는 데이터베이스에 액세스하기 위해 **시스템 권한(System Privilege)**이 필요하고, 데이터베이스에서 객체의 내용을 조작하기 위해 **객체 권한(Object Privilege)**이 필요합니다. ### 권한 확인 현재 사용자에게 주어진 권한 및 롤(ROLE)을 확인하는 방법은 다음과 같습니..
SQL 인덱스 개요
·
🗄️ Backend/SQL
SQL 인덱스는 데이터베이스 테이블의 열 또는 열 조합에 대한 검색 속도를 높이기 위해 사용되는 데이터 구조입니다. 인덱스는 마치 책의 색인처럼 작동하여 특정 값을 빠르게 찾을 수 있도록 돕습니다. 이번 포스트에서는 SQL 인덱스의 개념, 종류, 장단점, 사용 시 고려사항 및 실습 예제를 자세히 알아보겠습니다.주요 개념1. 인덱스 생성 (CREATE INDEX)인덱스는 특정 열에 대해 검색 성능을 향상시키기 위해 생성합니다.CREATE INDEX idx_employee_name ON employees (last_name);위의 예제는 employees 테이블의 last_name 열에 대해 인덱스를 생성하는 코드입니다.2. 고유 인덱스 (UNIQUE INDEX)고유 인덱스는 인덱스가 적용된 열의 값이 고유..
뷰 생성, 관리 및 시퀀스
·
🗄️ Backend/SQL
1. 뷰 (View)개요뷰(View)는 하나 이상의 테이블에서 파생된 가상의 테이블입니다. 데이터베이스에서 뷰는 주로 자주 사용되는 데이터 집합을 정의하여 쿼리를 단순화하는 데 사용됩니다.뷰는 실제로 데이터를 저장하지 않으며, 원본 테이블의 데이터를 기반으로 실시간으로 제공됩니다. 뷰를 통해 데이터 접근을 통제하고 보안을 강화할 수 있습니다.뷰 확인: 현재 데이터베이스에 정의된 뷰 목록을 확인하려면 다음 쿼리를 실행합니다: SELECT * FROM USER_VIEWS;뷰의 종류단순 뷰: 한 개의 원본 테이블을 기반으로 생성된 뷰입니다. 복합 뷰: 두 개 이상의 원본 테이블을 조인하여 생성된 뷰입니다.2. 단순 뷰단순 뷰는 한 개의 원본 테이블에서 생성되며, 일부 DML(데이터 조작 언어) 작업이 가능합..
SQL 서브쿼리 (Subquery)와 데이터 조작 명령어 (DML) 정리
·
🗄️ Backend/SQL
SQL에서 서브쿼리와 데이터 조작 명령어는 데이터베이스를 효율적으로 관리하고, 복잡한 데이터를 처리하는 데 중요한 역할을 합니다. 이번 글에서는 각 요소의 정의, 기능, 구문 및 예제를 통해 자세히 설명하겠습니다.1. 서브쿼리 (Subquery)서브쿼리란?서브쿼리는 하나의 SQL 문장 내에 포함된 다른 SQL 문장으로, 주로 메인 쿼리의 조건이나 데이터를 제공하는 데 사용됩니다. 서브쿼리는 데이터의 유연한 검색 및 필터링을 가능하게 해줍니다.서브쿼리의 주요 기능복잡한 쿼리 단순화: 서브쿼리를 사용하면 복잡한 조건을 간단히 처리할 수 있습니다.재사용성 향상: 동일한 로직을 여러 번 사용해야 할 때 서브쿼리를 활용하여 코드 중복을 줄일 수 있습니다.서브쿼리 구문 예시SELECT column1, column2..
그룹 함수 및 조인 함수 구문
·
🗄️ Backend/SQL
데이터베이스를 다룰 때 자주 사용하는 그룹 함수(Group Functions)와 조인(JOIN)은 데이터를 효율적으로 조회하고 분석하는 데 필수적인 도구입니다. 이번 포스팅에서는 그룹 함수와 조인에 대해 자세히 알아보고, 각 기능이 어떻게 사용되는지 실제 SQL 예시를 통해 설명하겠습니다.Chapter 4: 그룹 함수 (Group Functions)1. 그룹 함수란?그룹 함수는 여러 행의 값을 집계하여 하나의 결과를 반환하는 함수입니다. 이러한 함수는 테이블에 있는 데이터를 분석하고 요약하는 데 유용합니다. SQL에서는 SUM, AVG, MIN, MAX, COUNT와 같은 기본적인 그룹 함수가 제공됩니다. 그룹 함수는 주로 GROUP BY 절과 함께 사용되며, 여러 행을 하나의 그룹으로 묶어 처리합니다...
숫자 함수 및 SQL 함수 정리
·
🗄️ Backend/SQL
ROUND 함수ROUND 함수는 숫자를 소수점 N자리로 반올림할 때 사용됩니다.사용 구문SELECT ROUND(number, n) FROM DUAL;number: 반올림할 숫자.n: 반올림할 소수점 자리수 (생략되면 0).예시SELECT ROUND(45.923), -- 46 (소수점 첫째 자리에서 반올림) ROUND(45.923, 0), -- 46 (소수점 첫째 자리에서 반올림) ROUND(45.923, 2), -- 45.92 (소수점 셋째 자리에서 반올림) ROUND(45.923, -1) -- 50 (정수 자리에서 반올림)FROM DUAL;TRUNC 함수TRUNC 함수는 소수점 이하를 절삭할 때 사용됩니다.사용 구문SELECT TRU..
SQL SELECT 구문 및 DCL 권한 관리
·
🗄️ Backend/SQL
SQL SELECT 구문 정리 및 예시SELECT 구문은 SQL에서 데이터베이스로부터 데이터를 조회하는 가장 기본적인 구문입니다. 데이터베이스에서 원하는 데이터를 다양한 조건으로 조회할 수 있으며, 필요한 데이터를 선택해 가공할 수도 있습니다.기본 구문 형식SELECT [DISTINCT] { * | column [[AS] alias], ... }FROM table[WHERE condition][ORDER BY column [ASC | DESC]];구성 요소 설명SELECT: 하나 이상의 열을 선택합니다.DISTINCT: 중복되는 행을 제거합니다.*: 테이블의 모든 열을 선택합니다.column: 특정 열을 지정하여 조회합니다.AS: 선택된 열의 별칭(alias)을 지정합니다.alias: 출력 시 열의 이름..
RDBMS (관계형 데이터베이스 관리 시스템)의 이해: 개념과 SQL 기본 구문
·
🗄️ Backend/SQL
관계형 데이터베이스 관리 시스템(RDBMS)은 현대 데이터 관리의 핵심 요소로 자리 잡고 있습니다. 본 포스팅에서는 RDBMS의 기본 개념부터 다양한 SQL 구문에 이르기까지, 관계형 데이터베이스를 쉽게 이해하고 실무에 적용할 수 있는 기본 사항들을 설명합니다.1. RDBMS란 무엇인가?RDBMS는 Relational Database Management System의 약자로, 데이터를 테이블(Table) 형태로 관리하는 데이터베이스 시스템입니다. 각 테이블은 서로 연관된 데이터를 포함하며, 이를 통해 데이터를 효율적으로 저장, 관리, 검색할 수 있습니다. 주요 특징으로는 데이터 무결성, 중복성 제거, 데이터 공유 등이 있습니다.2. 파일 시스템과 데이터베이스 시스템의 차이점파일 시스템과 데이터베이스 시스..