[Database] SQL 명령어 정리: DDL, DML, DCL, TCL 완전 정복
SQL 문장은 목적에 따라 크게 4가지 분류로 나뉜다.DDL (Data Definition Language)DML (Data Manipulation Language)DCL (Data Control Language)TCL (Transaction Control Language)이번 글에서는 특히 DDL과 DML의 차이점을 중점적으로 설명하고, 각각의 명령어들을 실전 예제 중심으로 정리해보았다.마지막에는 DCL과 TCL도 간단히 함께 정리해보았다.1. DDL(Data Definition Language, 데이터 정의어)DDL은 데이터베이스의 구조(스키마)를 정의하거나 변경하는 데 사용되는 명령어이다.주로 테이블, 인덱스, 뷰 등의 구조를 생성, 수정, 삭제할 때 사용된다.DDL 명령은 대부분 자동 커밋(Aut..
[Database] 역정규화 (역정규화가 필요한 상황, 고려해야 할 상황)
이번 게시글을 통해 역정규화는 언제 필요하고, 어떤 사항을 고려해야 하는지 알아보려고 한다. 1. 역정규화란?정규화는 데이터의 중복을 줄이고, 무결성과 일관성을 높이기 위해 테이블을 분리하는 과정이다.반면, 역정규화(Denormalization)는 성능 향상을 위해 정규화된 테이블을 다시 통합하거나 중복을 허용하는 작업이다.특히 다음과 같은 경우에 자주 사용된다:복합 조회가 잦은 대시보드나 리포트 시스템다수의 JOIN으로 인해 성능 저하가 발생하는 쿼리실시간 처리 성능이 중요한 시스템정규화와 역정규화를 비교하면 다음과 같다.구분정규화역정규화목적데이터 정합성 유지, 중복 최소화성능 개선, JOIN 최소화특징테이블 분리, 관계 명확중복 허용, 조회 성능 최적화주 용도저장/쓰기 성능이 중요한 시스템읽기/조회 ..
SOAP와 REST의 차이점, SOAP에서 REST로 전환된 이유
웹 애플리케이션 간 통신을 위한 대표적인 방식으로는 SOAP와 REST가 있다. 두 방식 모두 API(Application Programming Interface)를 제공하지만, 구조적 설계 철학과 활용 목적은 전혀 다르다. 이 글에서는 SOAP과 REST의 개념, 특징, 장단점을 비교하고, 오늘날 REST가 주로 사용되는 이유를 정리하고자 한다.1. API란?API(Application Programming Interface)는 소프트웨어 간 상호작용을 가능하게 하는 ‘약속된 인터페이스’이다.프로그램 간 데이터를 주고받고 기능을 사용할 수 있도록 돕는다.다양한 종류가 존재한다: OS API, 라이브러리 API, 웹 API 등이 글의 핵심은 ‘웹 API’, 즉 인터넷을 통해 클라이언트와 서버가 통신할 수..
시간 복잡도 비교: O(1)부터 O(n!)까지 실생활 예시와 함께 알아보기
🔍 Intro알고리즘 공부를 하다 보면 빠지지 않고 등장하는 개념, 바로 시간 복잡도(Time Complexity)다.시간 복잡도는 데이터의 크기(N)에 따라 연산량이 얼마나 늘어나는지를 수치화한 개념이다.이번 글에서는 O(1)부터 O(n!)까지 주요 시간 복잡도들을 실생활 예시와 함께 정리하고,100만 개 데이터일 때 대략 몇 번의 연산이 필요한지도 함께 비교해보려고 한다.위클리페이퍼 주제가 "O(n)과 O(log n)의 성능 차이를 실생활 예시를 들어 설명하고, 데이터의 크기가 1백만 개일 때 각각 대략 몇 번의 연산이 필요한지 비교해주세요."였다. 이왕 O(n)과 O(log n)을 비교하는 김에 O(1)부터 O(n!)까지 한 번에 비교해보고자 한다!~시간 복잡도란?시간 복잡도는 입력 크기(n)가 ..