GCP를 활용한 PostgreSQL/ SQL Server 구축
·
🗄️ Backend/GCP
https://dev.hjwjo.com/49 GCP에서 Oracle DB 생성 및 연결 가이드이 가이드는 Google Cloud Platform(GCP)에서 Oracle 11g Database를 설정하고 외부에서 연결하는 과정을 정리한 문서입니다.특히 발생했던 문제들과 해결 방법을 포함하여, GCP 환경에서 Oracle Database를 처음dev.hjwjo.com 1. GCP의 300$ 크레딧 활용GCP는 새로운 사용자를 대상으로 90일간 300$ 크레딧을 제공합니다. 단기적인 프로젝트나 테스트 환경을 구축할 때 비용적으로 매우 유리합니다. AWS RDS 프리티어도 있지만, 여러 개의 RDS를 운영하기엔 비용 부담이 커지므로 GCP를 활용해 효율적으로 데이터베이스를 구축할 수 있습니다.GCP는 Comp..
데이터베이스 키 정리 : 기본키/슈퍼키/후보키/외래키
·
🗄️ Backend/SQL
데이터베이스에서 자주 등장하는 키(Key)들의 개념을 보다 쉽게 설명하기 위해 작성한 글입니다.슈퍼키, 후보키, 기본키, 대체키, 외래키, 복합키의 정의와 예시를 간단히 살펴볼 예정이니, DB 입문자분들께 도움이 되었으면 좋겠습니다.유일성과 최소성키(Key)를 이해하기 전에 반드시 알아야 할 두 가지 중요한 성질이 있습니다.유일성(Unique): 하나의 키 값으로 튜플(레코드)을 유일하게 식별할 수 있어야 함.즉, 키 값이 중복되지 않아야 합니다.최소성(Minimality): 키를 구성하는 속성 중에 꼭 필요한 최소한의 속성만으로 구성되어 있어야 함.즉, 불필요한 속성을 제거해도 여전히 유일성이 보장된다면, 그 불필요한 속성은 키 구성에서 빼야 합니다.예시로 ‘학생 구별자’가 [학생번호, 이름, 성별] ..
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)을 확인하는 방법은 다음과 같습니다.현재 사용자에게 주어진 롤 확인: SELECT ..
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. 파일 시스템과 데이터베이스 시스템의 차이점파일 시스템과 데이터베이스 시스..