본문 바로가기
카테고리 없음

데이터베이스에서 꼭 알아야 할 주요 용어 정리

by business27 2025. 9. 11.

데이터베이스(Database)는 현대의 모든 소프트웨어와 비즈니스 시스템의 핵심이라고 할 수 있습니다. 온라인 쇼핑몰, 은행 시스템, SNS, 회사의 인사 관리 시스템까지 모두 데이터베이스 위에서 작동합니다. 그런데 데이터베이스를 공부하거나 실무에서 접하다 보면 ERD, 스키마, 트랜잭션, 정규화 같은 용어들이 쏟아지며 혼란스러울 때가 많습니다. 이번 글에서는 데이터베이스와 관련해 자주 등장하는 핵심 용어들을 하나씩 정리해보겠습니다. 이 글을 읽으면 데이터베이스 이론과 실무에서 흔히 쓰이는 용어를 훨씬 명확하게 이해할 수 있을 것입니다. 데이터베이스에서 기본적으로 사용하는 용어 정리한 내용을 함께 보시죠.

 

 

 

 

 

 

데이터베이스에서 꼭 알아야 할 주요 용어 정리

 

 

 

 

 

 

데이터베이스 (Database, DB)

  • 정의: 체계적으로 저장되어 쉽게 접근, 관리, 수정, 검색할 수 있는 데이터 집합
  • 역할: 여러 사용자가 동시에 데이터를 효율적이고 일관되게 다룰 수 있도록 지원
  • 예시: 은행의 고객 계좌 정보, 병원의 환자 기록, 쇼핑몰의 상품 재고

DBMS (Database Management System)

  • 정의: 데이터베이스를 생성, 관리, 운영하는 소프트웨어
  • 종류: 관계형 DBMS (MySQL, PostgreSQL, Oracle, SQL Server), 비관계형 DBMS (MongoDB, Redis, Cassandra)
  • 역할: 데이터 무결성 보장, 보안 유지, 동시성 제어, 백업 및 복구

스키마 (Schema)

  • 정의: 데이터베이스의 구조와 제약 조건을 정의한 설계도
  • 역할: 테이블, 열(Column), 데이터 타입, 키 제약 조건 등을 포함
  • 예시:
    • CREATE TABLE Users (
      user_id INT PRIMARY KEY,
      name VARCHAR(50),
      email VARCHAR(100) UNIQUE
      );

테이블 (Table)

  • 정의: 데이터를 행(Row)과 열(Column)로 저장하는 구조
  • 구성 요소: 행(Row, 튜플): 데이터의 한 레코드, 열(Column, 속성): 데이터의 속성
  • 예시: Users 테이블에는 "홍길동 / hong@test.com
    " 같은 행이 저장됨

ERD (Entity Relationship Diagram)

  • 정의: 데이터베이스의 개체(Entity)와 개체 간의 관계(Relationship)를 시각적으로 표현한 다이어그램
  • 구성 요소: 엔터티(Entity), 속성(Attribute), 관계(Relationship)
  • 의의: 실제 데이터베이스를 설계하기 전에 구조를 직관적으로 이해할 수 있게 도움

키(Key)

  • 데이터베이스에서는 레코드를 고유하게 구분하거나 테이블 간 관계를 정의하기 위해 키를 사용합니다.
  • 기본 키(Primary Key): 각 행을 유일하게 식별 (예: 고객 ID)
  • 외래 키(Foreign Key): 다른 테이블의 기본 키를 참조 (예: 주문 테이블의 고객 ID)
  • 후보 키(Candidate Key): 기본 키가 될 수 있는 후보들
  • 대체 키(Alternate Key): 후보 키 중에서 기본 키로 선택되지 않은 것

인덱스 (Index)

  • 정의: 검색 속도를 빠르게 하기 위해 사용하는 자료 구조 (보통 B-트리 기반)
  • 역할: 책의 목차처럼 원하는 데이터를 빠르게 찾아감
  • 주의점: 검색은 빨라지지만, 삽입/삭제 성능은 저하될 수 있음

정규화 (Normalization)

  • 정의: 데이터 중복을 줄이고 무결성을 높이기 위한 데이터 구조화 과정
  • 단계:
    • 제1정규형(1NF): 각 컬럼이 원자값을 가져야 함
    • 제2정규형(2NF): 부분 함수 종속 제거
    • 제3정규형(3NF): 이행적 종속 제거
  • 예시: 고객 이름과 주소를 여러 테이블에 반복 저장하지 않고, 고객 테이블에만 저장

트랜잭션 (Transaction)

  • 정의: 데이터베이스에서 하나의 논리적 단위로 수행되는 작업 집합
  • 특성 (ACID):
    • 원자성(Atomicity): 모두 수행되거나 모두 수행되지 않음
    • 일관성(Consistency): 트랜잭션 전후 데이터의 무결성 보장
    • 독립성(Isolation): 동시에 실행되는 트랜잭션 간 간섭 없음
    • 지속성(Durability): 완료된 트랜잭션은 영구 반영
  • 예시: 은행 계좌 이체(출금 + 입금)는 하나의 트랜잭션으로 처리

뷰 (View)

  • 정의: 실제 데이터를 복사하지 않고, 특정 SELECT 쿼리 결과를 가상의 테이블처럼 보여주는 논리적 구조
  • 장점: 보안 강화, 복잡한 쿼리 단순화
  • 예시: 고객 테이블에서 이름과 이메일만 보여주는 뷰 생성

저장 프로시저 (Stored Procedure)

  • 정의: 데이터베이스에 저장되어 여러 번 실행할 수 있는 SQL 구문 집합
  • 장점: 반복 작업 자동화, 성능 최적화
  • 예시: 월말 자동 정산 처리

트리거 (Trigger)

  • 정의: 특정 이벤트(INSERT, UPDATE, DELETE)가 발생했을 때 자동 실행되는 프로시저
  • 예시: 주문 테이블에 새로운 주문이 추가되면 재고 테이블에서 수량 자동 차감

동시성 제어 (Concurrency Control)

  • 정의: 여러 사용자가 동시에 데이터베이스에 접근할 때 충돌을 방지하는 기법
  • 방법: 잠금(Locking), 타임스탬프 기반 제어
  • 예시: 두 사용자가 동시에 같은 계좌에서 돈을 인출할 때 데이터가 꼬이지 않도록 보장

무결성 (Integrity)

  • 정의: 데이터가 정확하고 일관성을 유지하는 성질
  • 종류: 개체 무결성 (기본 키는 NULL 불가, 중복 불가),  참조 무결성 (외래 키는 참조하는 값과 일치해야 함)
  • 도메인 무결성: 각 컬럼은 정의된 타입과 제약을 지켜야 함

데이터 웨어하우스 (Data Warehouse, DW)

  • 정의: 대규모 데이터를 통합·분석하기 위해 별도로 구축한 데이터베이스
  • 특징: 읽기 중심, 다차원 분석, BI(비즈니스 인텔리전스)에 활용
  • 예시: 마케팅팀이 고객 구매 데이터를 분석해 캠페인을 기획

OLTP vs OLAP

  • OLTP (Online Transaction Processing): 빠른 삽입/수정/조회 중심의 실시간 처리 시스템 (예: 은행 거래)
  • OLAP (Online Analytical Processing): 대량 데이터를 집계하고 분석하는 시스템 (예: 매출 분석)

샤딩 (Sharding)

  • 정의: 대용량 데이터를 분산 처리하기 위해 테이블을 여러 서버에 나누어 저장하는 기법
  • 효과: 성능 향상, 확장성 확보
  • 예시: 글로벌 서비스에서 사용자 지역별로 DB를 분리

데이터 마이그레이션 (Data Migration)

  • 정의: 데이터베이스나 시스템 간 데이터를 이전하는 작업
  • 예시: 온프레미스 서버에서 클라우드 DB로 이전

NoSQL

  • 정의: 전통적인 관계형 모델이 아닌, 비정형 데이터를 저장하기 위한 DBMS
  • 종류:
    • Key-Value (Redis)
    • Document (MongoDB)
    • Column (Cassandra)
    • Graph (Neo4j)

캐싱 (Caching)

  • 정의: 자주 조회되는 데이터를 메모리에 저장해 빠르게 접근하도록 하는 기법
  • 예시: 로그인한 사용자 세션을 Redis에 저장해 빠른 인증 제공

 

 

마무리

데이터베이스는 처음 접할 때 용어가 낯설게 느껴지지만, 실제로는 서로 유기적으로 연결된 개념들입니다.

  • ERD, 스키마, 테이블, 키는 데이터 구조를 설계하는 기초
  • 트랜잭션, 무결성, 동시성 제어는 안정적이고 일관된 데이터 처리를 위한 핵심
  • 뷰, 프로시저, 트리거는 실무에서 효율성을 높여주는 도구
  • 데이터 웨어하우스, OLAP, 샤딩, NoSQL은 현대 대규모 데이터 환경에 필요한 확장 기술

이 글에서 정리한 개념들을 이해하면, 데이터베이스 설계뿐 아니라 실무에서 문제를 해결할 때도 큰 도움이 될 것입니다.