rdbms 5

RDBMS와 NoSQL

RDBMS(Relational Database Management System)와 NoSQL(Not Only SQL)은 데이터 저장 및 관리 방식에서 큰 차이를 보이는 두 가지 주요 데이터베이스 시스템입니다. 각각의 데이터베이스는 특정 요구사항에 맞게 설계되었으며, 특정 환경에서 더 적합하게 사용될 수 있습니다. 이 글에서는 RDBMS와 NoSQL에 대한 기본 개념, 차이점, 장단점에 대해 자세히 살펴보겠습니다.1. RDBMS (Relational Database Management System)RDBMS는 데이터가 테이블 형식으로 저장되고, 테이블 간의 관계가 정의된 데이터베이스 시스템을 의미합니다. 데이터는 **행(Row)**과 **열(Column)**로 구성된 테이블에 저장됩니다. RDBMS는 SQ..

DataBase 2025.03.18

트랜잭션 격리 수준(Transaction Isolation Level)

데이터베이스 트랜잭션은 여러 작업을 하나의 논리적 단위로 묶어 처리합니다. 이러한 트랜잭션은 일관성 있는 데이터 상태를 유지하고, 동시에 여러 사용자가 데이터를 처리하는 환경에서 문제를 방지하기 위해 격리(isolation)를 필요로 합니다. 트랜잭션 격리 수준은 여러 트랜잭션 간의 격리 정도를 설정하는 기준이며, 이로 인해 발생할 수 있는 문제를 완화하거나 방지할 수 있습니다. 1. 트랜잭션 격리 수준의 종류SQL 표준에서는 트랜잭션 격리 수준을 다음 네 가지로 정의합니다:READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSERIALIZABLE각 수준은 트랜잭션 간에 발생할 수 있는 Dirty Read, Non-Repeatable Read, Phantom Read 문제를 ..

DataBase 2025.01.20

데이터베이스(DB) 정규화와 비정규화

데이터베이스 정규화(Normalization)와 비정규화(Denormalization)의 정의와 함께 각 기법이 어떻게 적용되는지 예시를 통해 설명하겠습니다.  1. 데이터베이스 정규화(Normalization)정규화는 데이터베이스에서 중복을 최소화하고 데이터를 효율적으로 관리할 수 있도록 테이블을 구조화하는 과정입니다. 이 과정은 여러 단계로 나뉘며, 각 단계는 '정규형(Normal Form)'이라고 불립니다.정규화의 목적중복 제거: 같은 데이터를 여러 번 저장하지 않도록 한다.데이터 무결성 유지: 잘못된 데이터가 삽입되지 않도록 한다.검색 효율성 향상: 데이터를 쉽게 찾을 수 있도록 한다.정규화 과정제1정규형(1NF): 각 열에 원자 값(Atomic Value)만 포함되도록 하는 규칙입니다. 즉, 각..

DataBase 2025.01.16

인덱스(INDEX)란?

인덱스란?인덱스는 테이블의 컬럼 값과 해당 행(Row)의 위치(RID, Row ID)를 매핑해 놓은 구조입니다.조회 속도를 높여주는 대신, 추가적인 저장 공간과 쓰기 성능의 저하가 발생할 수 있습니다.📌 요약: 읽기는 빨라지지만, 쓰기(INSERT/UPDATE/DELETE)는 느려진다.인덱스가 필요한 이유예를 들어 아래와 같은 CUSTOMER 테이블이 있다고 합시다.SELECT * FROM CUSTOMER WHERE CUST_NAME = '홍길동';인덱스가 없다면?테이블 처음부터 끝까지 CUST_NAME 을 하나하나 확인 → "풀 테이블 스캔(Full Table Scan)"인덱스가 있다면?CUST_NAME 컬럼에 대한 인덱스를 타고 빠르게 위치를 찾아 조회 → 성능 수십~수천 배 개선인덱스의 구조 (O..

카테고리 없음 2024.12.04

데이터베이스 DDL, DML, DCL 정리

데이터베이스를 다루는 데 있어 중요한 세 가지 분류인 DDL (Data Definition Language), DML (Data Manipulation Language), **DCL (Data Control Language)**에 대해 알아보겠습니다.1️⃣ DDL: 데이터 정의 언어DDL은 데이터베이스의 구조를 정의하거나 변경할 때 사용하는 언어입니다.주요 명령어:CREATE: 새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성ALTER: 기존 객체의 구조를 변경DROP: 객체를 삭제TRUNCATE: 테이블의 데이터를 초기화예시-- 테이블 생성CREATE TABLE Employees ( EmployeeID NUMBER PRIMARY KEY, Name VARCHAR2(50), Positi..

DataBase 2024.12.04